壁紙をランダムに変更する

debian GNU/linuxのx windowで壁紙を自動でランダムに変更するように設定しました。

以下では、~/wallpフォルダ内に画像ファイルが入っていると仮定します。

まず、次のように壁紙変更スクリプトをつくります。


$ cat ~wallp/setwp.sh

#!/bin/sh

export DISPLAY=:0.0

display -window root ~/wallp/$(ls ~/wallp|head –expr 1 + $RANDOM % \ls ~/wallp|wc -l``|tail -n 1)


DISPLAYを設定して、壁紙を貼るxserverを特定させてください。

displayコマンドはimagemagickに入っています。壁紙を設定できるコマンドならほかのでもかまいません。

$RANDOMは参照するたびに、ランダムな値を返してくれます。うちのshでは利用できますが、利用できんという人はbashやzsh使うようにするといいでしょう。

次に、これをcronで定期的に実行するようにします。


$ crontab -e

MAILTO=””

0 6 * * * ~/walllp/setwp.sh


crontabの書式については、crontab(5)を参照してください。

簡単に書くと、

分 時 日 月 曜日 コマンド

の順にスペース区切りで記入すれば、指定した時間にコマンドが実行されます。上記の例では、毎日6:00amにコマンドが実行されます。

MAILTO=””とすると、コマンドからの出力がいちいちmailされてこないので、うまく設定できたら指定しとくといいでしょう。

cronは自動でcrontabを更新しますので、これで壁紙が自動でランダムに変わるようになりました。

 

なお、現在Amazonではaudible(オーディブル)の無料体験キャンペーンが行われており、「花火」などの小説や、英語教材などから好きなものを選んで聴くと、プライム会員なら最大3000ポイント、会員でない方でも最大1500ポイントがもらえます。

12/12までですので、Amazonを利用している方は一度確認しておくと良いですよ↓

Amazon Musicの3ヶ月99円 期間限定キャンペーンもはじまっています↓

 

 こんな記事も読まれています

コメントを残す