SSブログ

【Ubuntu 11.10】ログインするディスクトップ環境によって設定を変える方法。(環境変数 DESKTOP_SESSION利用) [ubuntu]

1つ前の記事『【Ubuntu 11.10:Gnome3】Gnome-Tweak-Toolが3.1.0になって、デスクトップ上に"コンピュータ"や"ゴミ箱"アイコンの表示/非表示の設定が可能になった。』で、gnome-tweak-toolでデスクトップ上にアイコンの表示/非表示が可能になりました。

Gnome Shellを使っていると、下図のようにゴミ箱とかがデスクトップ上にあった方が便利です。

SS-Tweak-Tool_x012.jpeg

ところが、これでGnome Shellのセッションをログアウトして、ubuntu(Unity)のセッションにログインしてしまうと、下図の様になります。(Show mounted volumes on the desktopがONになっているのは、スクリーンショットを撮るときに手動でONにしてしました。)

SS-Tweak-Tool_x013.jpeg

ゴミ箱がUnityのランチャー上にもあるし、デスクトップ上にもあります。2つもいりませんよね。

実際、Gnome ShellとUnityを併用する方はどれだけいるか分かりませんが。。。もし、Gnome Shellのセッションにログインしたなら最初のスクリーンショット見たいにデスクトップ上にゴミ箱とか出して、Unityのセッションなら下図のように何も出したくありません。

SS-Tweak-Tool_x014.jpeg

そこで、ログインしたセッションがコマンドラインで得られれば何とかなるんだけどな~と思ってちょっと探したら、環境変数"DESKTOP_SESSION"がありました。

と言うわけで、switch-gsettings.shと言うファイルを作成しました。内容は下記の通りです。

----  switch-gsettings.sh -----

#!/bin/sh -e

# switch gsettings for login session
# 2011/8/21

#echo $DESKTOP_SESSION

case $DESKTOP_SESSION in
    ubuntu|ubuntu-2d)
        gsettings set org.gnome.nautilus.desktop computer-icon-visible false
        gsettings set org.gnome.nautilus.desktop home-icon-visible false
        gsettings set org.gnome.nautilus.desktop network-icon-visible false
        gsettings set org.gnome.nautilus.desktop trash-icon-visible false
        gsettings set org.gnome.nautilus.desktop volumes-visible false
     ;;
    gnome-shell)
        gsettings set org.gnome.nautilus.desktop computer-icon-visible true
        gsettings set org.gnome.nautilus.desktop home-icon-visible true
        gsettings set org.gnome.nautilus.desktop network-icon-visible true
        gsettings set org.gnome.nautilus.desktop trash-icon-visible true
        gsettings set org.gnome.nautilus.desktop volumes-visible true
     ;;
     *)
     ;;
esac

---- end of switch-gsettings.sh -----

なんて単純な・・・(*v.v)。ハズイ。。。。

※始めのecho文のコメントアウトはデバックの為に付けています。

これを ~/binの中(Ubuntuでは~/binに自動的にパスが通ります。)にいれて、下記のコマンドで実行権を付けておきます。

chmod +x switch-gsettings.sh

それと、ログイン時に自動実行させたいので、 ~/.config/autostartにswitch-gsettings.desktopというファイルを置きます。内容は、下記の通りです。

-----  switch-gsettings.desktop -----

[Desktop Entry]
Name=Gsetting Switcher
Comment=Switch Gsetting for login session
Exec=switch-gsettings.sh
Icon=preferences-system
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Utility;Core;

-----  end of switch-gsettings.desktop -----

これで、異なるログイン環境(セッション)を併用しても切り替えることができます。上記はデスクトップ上のアイコン(ゴミ箱など)を表示/非表示を切り替える為にgsettingsのコマンドを使用しましたが、コマンドで設定できるものであれば基本的に何でもできると思います。

ただし、欠点があります。例えば、前述のスクリプトを利用してGnome Shellにログインしたらゴミ箱がデスクトップ上に出てくる様にします。これをログイン中にgnome-tweak-toolを使ってゴミ箱を非表示にしたとします。それで、Gnome Shellから抜けて、再度Gnome Shellのセッションにログインすると、再びゴミ箱が出てきてしまいます。

つまり、ログイン時に起動するスクリプト(この礼ではswitch-gsettings.sh)が強制的に設定するので、ログイン中に変更したものを覚えていてくれないのです。 もし、変更が必要ならスクリプトを変更する必要があります。そんなにしょっちゅう変える物では無いので、私はそれほど問題ではありませんが・・・

なんかもっとよい方法ないかな~

 

 ←PC用スタンド キャスター付き

   PCの下にキャスターを付けて
   動かすのを簡単にする物ってあるかな~
   と思って、探したらあった。
   1000円ちょっとのものが多い。
   掃除をしょっちゅうやる方は重宝するかも。
   私は、掃除をしないのでPCの奥を覗くの恐い。。
    (((( ;゜д゜)))アワワワワ


nice!(0)  コメント(4) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 4

reiko

ブログにコメントが残っていると、とても嬉しいので、わたしもお返ししたいなあと思って、あんきょさんのブログを尋ねますが、残念ながら、わたしにはちんぷんかんぷん。
でもあんきょさんの丁寧で誠実な書きぶりにはいつも感心しています。
内容はわからないけれど、書きぶりがいかにもあんきょさんらしい。
by reiko (2011-08-23 08:04) 

あんきょ

☆reikoさん☆
わざわざ、コメント頂いてありがとうございます。
コンピュータの専門用語だらけ(それも、かなりminority)なので分らないのが普通なので、気にしないでください。

私、文章を書く事に苦手意識があるので、何度も見直しています。なので、ちょっとはましになってるのかな??(くどい感じもあるかなと、思ったりもしています。)

なので、記事書くのに時間がかかって・・・早く書けるようになるといいな~

by あんきょ (2011-08-24 23:08) 

シバケン

シバケンと申します。宜しくお願い致します。

当ファイルをリンク致しましたので、ご連絡申しあげます。

リンク箇所は、
サイト名称=「シバケンの天国」

の、「みんながパソコン大魔神」
表題、「ubuntu-11.10-BETA2に挑戦の巻」として、

「FC2掲示板」と、下記URLにしております。

http://www.eonet.ne.jp/~shibaken-oyazi/mina_linux_s_10.htm#no34

宜しく、お願い致します。

by シバケン (2011-10-05 20:56) 

あんきょ

☆シバケンさん☆
わざわざ、ご丁寧にリンクのご報告ありがとうございます。

シバケンさんのページ拝見しました。Ubuntu 11.10 Beta2のインストール頑張って下さいね。

それと、サイトを拝見した限り、問題ない(むしろリンクしていただいて感謝してくらい)ですので、これからは私に報告無しでリンクしていただいていいですよ。

もちろん、記事でおかしいところや疑問があったらコメント入れてください。

こちらこそ宜しく、よろしくお願いします。
by あんきょ (2011-10-06 00:56) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。