自動的にLinux上の壁紙を変更する


美しい壁紙を持つことは、あなたの仕事環境を美的にすることができます.私は、ものを新鮮にしておくために定期的にイメージを交換するという考えが好きです.
デスクトップの背景をランダムなイメージに設定するための短いスクリプトを書きますcron 定期的に実行する.まず、このことを見てみましょうGnome , Ubuntuといくつかの他のdistrosのデフォルトのデスクトップ環境.次に、代わりにコマンドラインツールを使用して別のデスクトップ環境で動作するオプションを見ます.
これは予定通りに起きたいことです.


ノーム
GNOME 3にはgsettings コマンドラインツールを表示し、ユーザーの設定を変更します.ディストリビューションの古いバージョンを使用している場合は、GNOME 2を使用することができます.その場合は、使用する必要がありますgconftool 代わりに.
ユーザデータはキー値ペアとして格納されます.我々はちょうど設定する権利キーを見つける必要があります.
我々が興味を持っているキーは以下の通りです.
  • picture-options : レンダリングメソッド.これは、画面解像度より小さいか大きい場合は、どうするかを決定します.私はそれを見つけるscaled 最高の時間の作品:それは画像を中心に、それが小さい場合は、その自然な大きさとして葉、それが大きい場合は、画像を縮小します.
  • picture-uri : 表示する画像ファイルのURI.
  • #!/bin/bash
    
    folder="${HOME}/pictures/wallpapers"
    pic=$(ls $folder/* | shuf -n1)
    
    # values for picture-options: ‘none’, ‘wallpaper’, ‘centered’, ‘scaled’, ‘stretched’, ‘zoom’, ‘spanned’
    gsettings set org.gnome.desktop.background picture-options scaled
    gsettings set org.gnome.desktop.background picture-uri "file://$pic"
    
    変更するfolder 変数をあなたのマシン上の画像をフォルダにポイントし、スクリプトをスピンを与える!スクリプトが実行によって設定された' Execute '許可を確実にするsudo chmod +x /home/your-name/.local/bin/change-wallpaper .
    今、私たちはちょうどAをセットアップする必要がありますcron job スクリプトを定期的に実行します.cronジョブとして動作させるためには、dbushash - sesionCount - Bustleアドレス環境変数を設定し、GNOMEと他のプロセスから通信できるようにする必要があります.オープンクローネテーブルcrontab -e そして、毎時セットアップに以下の行を追加します.
    0 * * * * env DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus /home/your-name/.local/bin/change-wallpaper
    
    あなたがcronに慣れていないならば、あなたは使うことができますcrontab.guru あなたが別のスケジュールを作るために.

    その他のデスクトップ環境
    あなたがGNOME、KDEまたはXFCEを使用している場合は、上記のように、壁紙を変更するユーザー設定へのアクセスを持っている.しかし、あなたがこのようなOpenboxの軽量デスクトップマネージャを使用している場合は、方法は、壁紙を設定することはできませんが見つかります.この場合、窒素は便利になるでしょう.Nitrogen オプションの素敵なセットでデスクトップの背景を変更することができますシンプルで軽量なアプリケーションです.
    前のセクションと同じ結果を得るには、コマンドを実行します.
    nitrogen --random --set-scaled ~/pictures/wallpapers/
    
    再び一時間のcron仕事としてそれを走らせましょう.まず、オープンcrontablecrontab -e そして、毎時セットアップに以下の行を追加します.
    0 * * * * nitrogen --random --set-scaled ~/pictures/wallpapers  
    
    特定のデスクトップ環境によっては、プロセス間通信を容易にするために環境変数を設定する必要があります.私は、最後のセクションでGNOMEのためにこれを議論しました.
    あなたがcronに慣れていないならば、あなたは使うことができますcrontab.guru あなたが別のスケジュールを作るために.

    最終語
    今、あなたがする必要があるすべてのいくつかの壁紙を在庫です!Wallhaven あなたがいくつかを探している場合は、無料、高品質の壁紙の良い選択をしています.
    私はいくつかの他の人々がいくつかのクールな場所からの“日のイメージ”をダウンロードしているNasa's Astronomy Picture of the Day , だから彼らは毎日新しいブランドの壁紙を持っている.これに興味があるなら、スクリプトを自分で拡張することができます.
    それだ!をお楽しみください仮想ビュー!