Ubuntuで自動壁紙変更スクリプト

壁紙変更スクリプトを作りたい

PCの壁紙には高画質でカッコいいのが多くてなかなか決められないものです。せっかく壁紙を沢山集めても設定出来るのは1枚だけだし、その度に変更するのはさすがに面倒です。
というわけで作ってみました、自動壁紙変更スクリプト。

壁紙変更部分

#!/bin/bash
WALLNUM="0"
NUM=""
WALLNAME=""

NUM=`ls -l /home/壁紙ディレクトリ | awk '{print $9}' | grep jpg | wc -l`
while [ "$WALLNUM" = "0" ]
do
WALLNUM=$(( $RANDOM % $NUM ))
done
WALLNAME=`ls /home/壁紙ディレクトリ | grep -n ".*" | grep ^$WALLNUM: | sed "s/$WALLNUM://"`
gsettings set org.gnome.desktop.background picture-uri "file:///home/壁紙ディレクトリ/$WALLNAME"

最後の行が壁紙変更部分。それまではランダム処理。ファイル数でランダムな数を割った余りが該当する壁紙のインデックスになるので、最後に保存した1枚は選択されないという問題がありますw

自動化部分

スクリプトの定期実行と聞くとcronあたりがすぐに思いつくところですが、今回は使いません。なぜならcronの実行環境とログインシェルだと、どうも環境設定が上手くいかないみたいだからです。

そこで今回はシンプルにsleepを使います。

#!/bin/bash
secs=180
while true;
do
/home/変更部分スクリプト
sleep ${secs}
done
exit 0

これだけです。BGMをつけたらもっと面白いかもしれません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA