2013年4月27日土曜日

ファイルの有り/無しでごみ箱アイコンを自動更新


現在使用しているLubuntuデスクトップ環境にごみ箱アイコンを追加するついでに、ごみ箱内のファイル有り/無しでごみ箱アイコンを自動更新する処理と、アイコンのダブルクリックでごみ箱を空にする処理を追加。

作業ステップは以下の通り。

~~~~~~~~
ステップ1:
sudo apt-get install inotify-toolsを実行し、inotify-tools(inotifywait)をインストールする(ごみ箱内のファイルあるいは、フォルダの有無を常時監視するために必要)。

ステップ2:
以下の各スクリプトファイルを配置。また、配置後"chmod 755 ファイル名"にて権限を変更しておく。

trashdaemon: ごみ箱アイコンの自動更新処理のデーモン化用ファイル(なお、指定オプションはstartとstopのみ動作確認済)。/etc/init.d/配下に配置。
trashwatch.sh(注記): ごみ箱内のファイル有り/無しにより、アイコンを自動更新するためのスクリプトファイル。 /usr/sbin/配下に配置。
trashclear.sh: ごみ箱アイコンのダブルクリックでごみ箱を空にするためのスクリプトファイル。任意のフォルダに配置。

(注記) このスクリプトファイルの3行目にある"user=sample"は、"user=ログイン時のルートフォルダ名("/home/"以下のフォルダ名)"に置き換えが必要(複数アカウントには未対応)。

なお、ごみ箱アイコンの自動更新処理については、/etc/rc.localや/etc/init.d/rc.local内で対象スクリプトファイル(trashwatch.sh)の実行を指定したり、/etc/profile.d配下に対象スクリプトを配置したりして、ブートあるいは、ログイン時の自動実行を試みたが、上手く動作しなかったため、デーモン化を決定。
このスクリプトファイルがバックグラウンドで動作することに起因しているのかもしれない。

ステップ3:
デスクトップにごみ箱アイコンを作成。
テキストエディタを使用して下記内容を記述したファイルを作成し、Trash.desktopのファイル名でデスクトップに保存する。

[Desktop Entry]
Name=ごみ箱
Type=Application
Icon=emptytrash
Exec=/home/trash/trashclear.sh (左記は記述例。この行は、Exec="trashclear.shへのフルパス"の形式で記述)
Terminal=false

ステップ4:
コマンドラインにて"runlevel"を実行し、現在のrunlevelを確認する(例えば、“N 2"と出力される場合には、runlevelは2)。

ステップ5:
/etc/rc"x".d/ (ここで、"x"は現在のrunlevelで置き換え)配下に以下のシンボリックリンクを設定する。

sudo ln -s ../init.d/trashdaemon S80trashwatch

なお、"80"の部分については、任意の数値で良いと思われる。
~~~~~~~~

以上で完了。

sudo service trashdaemon start実行後あるいは、次回ブート時にごみ箱アイコンの自動更新処理が開始される。

0 件のコメント:

コメントを投稿