Linuxユーザの立場から、役立つ情報や困ったときの解決方法を分かりやすく、かつ簡潔に記事にまとめています。主に、Ubuntu 8.04(→9.04)やCentOS 5.2(→5.3)で確認したことですが、他のディストリビューションでも応用できると思います。内容は(1)設定ファイルの書き方(2)役立つソフトウェア紹介やインストール方法(3)便利なコマンドの使い方や活用例(4)困ったときの解決方法です。このページの末尾にキーワード別で記事を分類してあります。また、真上の「ブログ検索」フォームからブログ内の記事を検索できます。

2008年11月23日

壁紙をランダムに変更するスクリプト このエントリーを含むはてなブックマーク

本記事では、Ubuntuで壁紙をランダムに変更するスクリプトを紹介する。

このスクリプトは、Ubuntuでなくても、gnomeをウィンドウマネージャとして使っているならば利用できる(Ubuntuでgnomeを使っていなかったら使えない)。

設定

スクリプトを実行する前に、画像ファイルを置くためのディレクトリの作成が必要です。 ~/pics/download/wallpapersにジャンル別に画像ファイルを入れるディレクトリを作成しておきます。下の例では、cat, nature, airplane, carの4つのディレクトリを作成しています。ディレクトリの名前は任意です。

[tkhisa@localhost]$ pwd
/home/tkhisa/pics/download/wallpapers
[tkhisa@localhost]$ ls
cat  nature  airplane  car
ちなみに、~/pics/download/wallpapersを別のディレクトリにしたいときは、下のスクリプトの$dirを編集すればOKです。

処理内容

スクリプトを実行すると、作成したディレクトリの中からランダムに1つ選んで、その中にあるjpg形式の画像ファイルをランダムに選んで壁紙に設定します。

使用方法

スクリプトファイルの名称(任意に指定して良い)をchwpaper.plにするとき、まず実行可能ファイルにする。

$ chmod u+x chwpaper.pl
そして、実行する。
$ ./chwpaper.pl

gcongtool-2の説明

壁紙の設定は、gconftool-2で行っている。2つ目のgconftool-2では、壁紙の貼り付け方を設定している。貼り付け方は、

  • scaled(等幅サイズ変更)、
  • stretched(フルスクリーン)、
  • centered(中央に配置)、
  • wallpaper(サイズ均等、並べて表示)
の4通りから選べる。

#!/usr/bin/perl
#Usage: $ chwpaper.pl
#ランダムに選んだ壁紙(jpg形式)に変更する.
use strict;

#壁紙を格納してある場所に移動する.
my $dir = "$ENV{HOME}/pics/download/wallpapers";
chdir "$dir" or die "cannot chdir $dir: $!";
#ディレクトリだけからなる一覧表を作成する.
chomp( my @dirlist = `ls -l | sed -e 's/\s\{1,\}/ /g' -ne '/^d/p ' | cut -d' ' -f8`);

#ランダムに壁紙のカテゴリーを選ぶ.
my $cat = "$dirlist[int(rand($#dirlist))+1]";
chdir "$dir/$cat/" or die "cannot chdir $dir/$cat: $!";

chomp( my @wplist =  `ls *.jpg` );
if(defined(@wplist))
{
    system "gconftool-2 --type string --set \"/desktop/gnome/background/picture_filename\" $dir/$cat/$wplist[ int(rand($#wplist))+1]";
    system "gconftool-2 --type string --set \"/desktop/gnome/background/picture_options\" stretched";
} else {
    die "picture not found: $!";
}

0 コメント:

キーワード

キーワード別に記事を分類してあります。クリックすると各キーワードに該当する記事たちが表示されます。

過去の記事

過去の記事を月ごとにまとめています。三角印をクリックすると、過去の記事の一覧が表示されます。

筆者について

自分の写真
tkhisan
趣味はコンピュータ、音楽、写真などです。
詳細プロフィールを表示