■gnome2のデスクトップアイコンを非表示にする。
$ sudo apt-get install -y gconf-editor
$ gconf-editor
■Windowsのレジストリ操作用の「regedit.exe」のように
「/apps/nautilus/desktop」と辿り、以下の3つのチェックを外すだけ。
home_icon_visible
computer_icon_visible
trash_icon_visible
■これはデフォルトで以下のように指定されている。
「network_icon_visible」は「false」なので、
逆に表示させたい場合は「gconf-editor」でチェックを入れる。
$ grep -A 4 "_icon_visible</key>" /usr/share/gconf/schemas/apps_nautilus_preferences.schemas
<key>/schemas/apps/nautilus/desktop/home_icon_visible</key>
<applyto>/apps/nautilus/desktop/home_icon_visible</applyto>
<owner>nautilus</owner>
<type>bool</type>
<default>true</default>
--
<key>/schemas/apps/nautilus/desktop/computer_icon_visible</key>
<applyto>/apps/nautilus/desktop/computer_icon_visible</applyto>
<owner>nautilus</owner>
<type>bool</type>
<default>true</default>
--
<key>/schemas/apps/nautilus/desktop/trash_icon_visible</key>
<applyto>/apps/nautilus/desktop/trash_icon_visible</applyto>
<owner>nautilus</owner>
<type>bool</type>
<default>true</default>
--
<key>/schemas/apps/nautilus/desktop/network_icon_visible</key>
<applyto>/apps/nautilus/desktop/network_icon_visible</applyto>
<owner>nautilus</owner>
<type>bool</type>
<default>false</default>
■辿る順序が「<key>」の「/schemas/」配下なので、
コマンドプロンプトの「reg query」コマンドに相当する方法は以下。
$ gconftool-2 --all-entries /apps/nautilus/desktop
home_icon_name = (何もセットされていません)
computer_icon_visible = false
home_icon_visible = false
text_ellipsis_limit = 3
volumes_visible = true
network_icon_name = (何もセットされていません)
trash_icon_visible = false
trash_icon_name = (何もセットされていません)
computer_icon_name = (何もセットされていません)
network_icon_visible = false
■どちらも一度、ログアウト、ログインすれば反映される。
$ gconftool-2 --set /apps/nautilus/desktop/computer_icon_visible --type bool true
...ログアウト/ログイン...
$ gconftool-2 --set /apps/nautilus/desktop/computer_icon_visible --type bool false
...ログアウト/ログイン...
■遅いけど、再帰問い合わせ風の全てのキーの確認。
for文の前に「grep desktop」等をはさめば、割と待たずに済む。
$ find /usr/share/gconf/schemas -type f -exec grep '<key>' {} \; | \
sed s%" *\|\t\|<key>/schemas\|/[A-z0-9_-]*</key>"%%g | \
sort -u | \
for list in `xargs`;do echo "$list";gconftool-2 --all-entries "$list";done
■というわけで、実行すると「falseならtrue」に、「trueならfalse」にするスクリプトを書いた。
表示させたくなったら、実行してリログイン、
非表示にしたくなったら、実行してリログインするだけでよい。
dpkgの後ろに「apt-get」で自動インストールしてもよいのだけど、
ユーザ権限でも使えるようにしたので、インストールは自身で行って欲しい。
$ sudo apt-get install -y gconf2
$ dpkg -L gconf2 | grep gconftool-2
/usr/bin/gconftool-2
/usr/share/man/man1/gconftool-2.1.gz
$ w3m -dump https://raw.github.com/labunix/gnome2/master/icon_showhide.sh
CHECK=`gconftool-2 -v | awk '($1>2.28){print}' | wc -l`
if [ "$CHECK" -le "0" ];then
echo "ERROR: Check Your \"gconftool-2\"" >&2
dpkg -l gconf2
exit 1
fi
FLAG=false
REGDIR=/apps/nautilus/desktop
if [ "$1" == "-d" ];then
echo "[before]"
gconftool-2 --all-entries /apps/nautilus/desktop
fi
for key in trash_icon_visible home_icon_visible computer_icon_visible;do
if [ "$FLAG" == "`gconftool-2 --get ${REGDIR}/${key}`" ];then
gconftool-2 --set ${REGDIR}/${key} --type bool true
else
gconftool-2 --set ${REGDIR}/${key} --type bool false
fi
done
if [ "$1" == "-d" ];then
echo "[after]"
gconftool-2 --all-entries /apps/nautilus/desktop
fi
echo `seq 1 30` | sed s/"[0-9]*"/"#"/g | tr -d ' '
echo -e "\nPlease,relogin,gnome!\n"
echo `seq 1 30` | sed s/"[0-9]*"/"#"/g | tr -d ' '
unset REGDIR FLAG key CHECK
exit 0
■「-d」をつけて実行すると以下のようになる。
$ ./icon_showhide.sh -d
[before]
home_icon_name = (何もセットされていません)
computer_icon_visible = true
home_icon_visible = true
text_ellipsis_limit = 3
volumes_visible = true
network_icon_name = (何もセットされていません)
trash_icon_visible = true
trash_icon_name = (何もセットされていません)
computer_icon_name = (何もセットされていません)
network_icon_visible = false
[after]
home_icon_name = (何もセットされていません)
computer_icon_visible = false
home_icon_visible = false
text_ellipsis_limit = 3
volumes_visible = true
network_icon_name = (何もセットされていません)
trash_icon_visible = false
trash_icon_name = (何もセットされていません)
computer_icon_name = (何もセットされていません)
network_icon_visible = false
Please,relogin,gnome!
■「-d」をつけないと単に変更のみ行う。
$ ./icon_showhide.sh
Please,relogin,gnome!