
Ubuntu日本語フォーラム

ログインしていません。
Templerさん による投稿:
(※「gconf-editor」による「/desktop/gnome/session/required_components/filemanager」の有用性は分かりませんでした)
私の経験では filemanager が,#24 で述べた required_components_list から落ちた場合,
デスクトップ上での右クリックが効かなくなりました.その挙動が変化するのではないかと...
オフライン
Templer さん,遅ればせながら実験有難うございました.
Templerさん による投稿:
・nautilus-home.desktop(これが何に使われているのか謎です)
私も今更ながら,実際に nautilus-home.desktop をコピー&編集してみましたが,
「場所」->「ホーム・フォルダ」メニューの挙動には反映されませんね.
Fedora で /usr/share/applications/gnome-nautilus-home.desktop を調べると,
Comment[ja]=ユーザ専用のフォルダを開きます
と,「場所」->「ホーム・フォルダ」メニューにカーソルを置いたときにポップアップするテキストが見つかるのですが???
オリジナルの編集(つまりシステムレベルでの変更)でないと反映されないのでしょうか?
#21 は #17 のスクリプトを読み,推定だけで書いた不正確な投稿でした.申し訳有りません.
オフライン
#17 で一応の解決を見たのかもしれませんが…。
gnome を使う限りはシステム上、nautilus という名前はあった方がいい気がしますので、下記のようにしてみてはどうでしょうか?
1. 現在の nautilus(実行コマンド) をリネームする。
$ sudo mv /usr/bin/nautilus /usr/bin/nautilus.orig
2. 新規に nautilus という名前のファイルを /usr/bin に作成する。
$ sudo gedit /usr/bin/nautilus
3. gedit が開いたら、下記の内容をコピペして保存。
#!/bin/bash
#zenity --info --text="${1}/${@}" #DEBUG
if [ -n "${1}" ]; then
if [ "${1:0:1}" == "/" ]; then
dolphin "${1}"
elif [ "${1}" == "--no-desktop" ]; then
if [ -n "${2}" ]; then
if [ "${2:0:7}" == "file://" ] || [ "${2:0:1}" == "/" ]; then
dolphin "${2}"
else
nautilus.orig "${2}"
fi
else
dolphin
fi
else
nautilus.orig "${@}"
fi
else
dolphin
fi
4. 上で作成したスクリプトファイルに実行属性を与える。
$ sudo chmod +x /usr/bin/nautilus
または、
$ sudo chmod 755 /usr/bin/nautilus
以上で完了です。
このスクリプトはすごいですよ(ネットに転がってた奴ですが)。
私の環境で色々と試してみた限りでは、完全に nautilus の置き換えに成功しています。
実は似たようなスクリプトは、検索すると他にもたくさん転がってたりするのですが、端末で dolphin と叩いたときだけ dolphin が起動して、他の操作をすると nautilus が起動してしまうとか、キーボードショートカットでホームフォルダを開くように設定していても起動しないとか、完全にリプレース出来るものがなかなか見つかりませんでした。
なお、スクリプト内の dolphin の文字列を変更すれば、thunar でも konqueror でも起動させることが出来ます。
実は、せっかく debian 系なのだから(今は rpm 系でも使えるんですけどね)、update-alternatives コマンドで細工出来ないか色々やってみたんですが、知識不足で上手くいきませんでした。
それが出来れば、その時の気分でも簡単にスイッチ出来ますしね。
einundzwanzighundertsechs さん、その辺上手くやることは難しいでしょうか?
オフライン
petitbootangさん:
一応、デフォルトがdolphinになってはいたのですが、
●マウントされたドライブのアイコンがデスクトップに表示されない
●デスクトップの右クリックメニューが出ない
という弊害があったので、一旦、nautilusをデフォルトに戻して、gconf-editorでの設定も元に戻して、
場所メニューやドライブのアイコンやデスクトップの右クリックが元に戻っているのを確認して、
改めて#28の方法を試してみました。
結果、dolphinがデフォルトになっていますが、やはり、
●マウントされたドライブのアイコンがデスクトップに表示されない
●デスクトップの右クリックメニューが出ない
という現象は同じです。(上記2点はできなくても、特に支障はないのですが)
petitbootangさんの環境ではどのようになっていますか?
オフライン
petitbootang, kochin さんへ,
#28 のスクリプトで nautilus の呼び出しを nautilus.orig -> /usr/bin/nautilus と編集して,
格納先を $HOME/bin/nautilus とし.
/usr/bin/nautilus を本来のものに戻すとどうなりますか?
此方では dolphin をインストールしていないので,試しに
$ ln -sf /usr/bin/firefox $HOME/bin/
とすると,「場所」->「ホーム・フォルダ」,「デスクトップ」等では Firefox が立ち上がるようになりました.
うまくいくようならユーザレベルの変更に抑えられます.
オフライン
einundzwanzighundertsechsさん:
einundzwanzighundertsechsさん提示の方法でもいまくいきました。ありがとうございます。
●マウントされたドライブのアイコンがデスクトップに表示されない
●デスクトップの右クリックメニューが出ない
これはそのままですが…
ひょっとしたら、色々いじくったので環境が変になっているのかもしれません。
オフライン
#30 で petitbootangさんの敬称を書き落としてしまいした.ごめんなさい.
さらにコードを間違えてました.
$ ln -sf /usr/bin/firefox $HOME/bin/nautilus
です.
ところで,システムレベルの変更が余儀なき場合,
petitbootangさん による投稿:
1. 現在の nautilus(実行コマンド) をリネームする。
$ sudo mv /usr/bin/nautilus /usr/bin/nautilus.orig
は #17 のスクリプトにもある通り,(/usr/bin/nautilus.orig が無いとして)
$ sudo dpkg-divert --divert /usr/bin/nautilus.orig --rename /usr/bin/nautilus
が良いと思います.
/usr/bin/nautilus.orig が dpkg の管理下に入り,独自の /usr/bin/nautilus は nautilus パッケージのアップグレードがあっても保持されるそうです.
元に戻すときは
$ sudo rm /usr/bin/nautilus $ sudo dpkg-divert --rename --remove /usr/bin/nautilus
です.
dpkg-divert --rename はファイルが既存の場合,操作を中止するそうです.
オフライン
einundzwanzighundertsechsさん による投稿:
Templer による投稿:
(※「gconf-editor」による「/desktop/gnome/session/required_components/filemanager」の有用性は分かりませんでした)
私の経験では filemanager が,#24 で述べた required_components_list から落ちた場合,
デスクトップ上での右クリックが効かなくなりました.その挙動が変化するのではないかと...
「filemanager」を空にすることで確認出来ました。まぁ、指定されていないんだから、当然といえば当然なんですが…。
しかしそれなら、ここに他のファイルマネージャ(デスクトップ)を指定しても反映されないというのはどうなのよ、ということでUbuntu8.04ではどうなのかと確認してみたところ、それらしき項目がありませんね。
もしかしたら、まだ実装途中でうまく機能しないのかもしれません。
(あっ!なるほど。#25の「2.」はあんな強引なことをせずとも、「/desktop/gnome/session/required_components/filemanager」を空にして、自動起動にファイルマネージャを指定してやるだけでよかったんですね)
kochin による投稿:
●マウントされたドライブのアイコンがデスクトップに表示されない
はずしてたらごめんなさいなんですが、「/usr/share/applications/nautilus-autorun-softrare.desktop」を「~/.local/share/applications」にコピーし、起動アプリを同等の機能を持つKDEアプリ(dolphinでもいいのかな?)に書き換えたら、どうなるでしょうか。
(「右クリックメニュー」はウィンドウマネージャが関係しているのかな?)
オフライン
Templerさん による投稿:
(「右クリックメニュー」はウィンドウマネージャが関係しているのかな?)
nautilus がデスクトップを管理する仕組みの一端は,次の様にすれば垣間見れます.
nautilus が自動起動した通常の状態で, xwinfo で デスクトップをクリックすると,
$ xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x180001d "x-nautilus-desktop"
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1280
Height: 800
以下略「nautilus の ウィンドウ」が画面一杯に拡げられているのがわかります.
そのウィンドウでマウスクリックを拾い,そのウィンドウにアイコンを配置しているのですね.
nautilus を killall して,xwinfinfo で デスクトップをクリックすると,(関連部分のみ抜粋)
xwininfo: Window id: 0xab (the root window) (has no name)
ルートウィンドウが剥き出しになったことがわかります.
dolphin が同様に振る舞ってデスクトップを支配するのでなければ
kochinさん による投稿:
●マウントされたドライブのアイコンがデスクトップに表示されない
●デスクトップの右クリックメニューが出ない
のは当然と言えましょう.
dolphin のコマンドラインオプションを調べてみてはどうですか?
/* 済みません.使う予定のないパッケージをインストールする気持ちにはどうしてもなれなくて... */
オフライン
einundzwanzighundertsechsさん による投稿:
dolphin のコマンドラインオプションを調べてみてはどうですか?
補足です。
デスクトップを支配するファイルマネージャの中には、デスクトップを透過させてバックのプログラム(ウィンドウマネージャなど)に処理を渡すという機能を実装しているものがあります。その機能が有効にされている場合はデスクトップを支配していてもデスクトップに置かれたアイコンしか操作が出来ないという挙動になります。
なので、もしdolphin自身がデスクトップを支配しているようでしたら、何らかの方法で操作できるようになるのではと考えられるわけです。
その一つが起動オプションということです。
ところで、einundzwanzighundertsechsさん。引用の「さん」付けはやめません?
オフライン
kochin さん による投稿:
●マウントされたドライブのアイコンがデスクトップに表示されない
●デスクトップの右クリックメニューが出ない
という現象は同じです。(上記2点はできなくても、特に支障はないのですが)
petitbootangさんの環境ではどのようになっていますか?
私のところでは全く問題ないです。
マウントされたドライブがデスクトップ上に出現しますし、右クリックメニューもきちんと出ますね。
nautilus が完全に置き換えられている、というのはそういう意味です。
nautilus で出来ていたことが、dolphin でも thunar でも問題なく出来ているということです。
dropbox もちゃんと同期されますし。
「単にデザインが変わった」とか「スキンを入れ替えた」くらいの認識でしょうかね。
もちろん操作性とかは違ってきますが、ファイルマネージャを入れ替えたことでの不具合というのは全く出ないようです。
オフライン
nautilusって、単なるファイルマネージャとしての役割だけでなく、デスクトップの挙動もコントロールしているんですね。右クリックメニューは必要不可欠というような物でもありませんので、このまま使っていきたいと思います。
ありがとうございました。
オフライン
う〜ん。petitbootangさんのスクリプトを試してみたのですが、kochinさん同様デスクトップの操作は無理ですね。
とりあえず試したのはthunarなんですが、thunarにはデスクトップの機能がありませんので単体で起動されてしまいます。なら、スクリプトの一部を書き換えてxfdesktopを起動させればうまくいくのか、というとそうもいかず、起動のタイミングの違いでGNOMEの背景に隠されてしまいます。
dolphinも、KDEの構成がどうなっているのか分かりませんが、もしデスクトップをPlasmaに任せているようなら、やはり単体でのデスクトップ操作は無理なのではないかと。
petitbootangさんの環境は、セッションの保存によりかなり混在した環境になっているということはないでしょうか。
オフライン
>う〜ん。petitbootangさんのスクリプトを試してみたのですが、kochinさん同様デスクトップの操作は無理ですね。
>petitbootangさんの環境は、セッションの保存によりかなり混在した環境になっているということはないでしょうか。
>
ふ〜む、そうですか。
私も現在の環境がたまたま上手く動く状態になっているのかと思い、別の環境を用意してインストールしたての、デフォルトの状態で試してみましたが、やはりそちらでも上手くいくんですよね‥・。
一つは、VirtualBox 上で、もう一つは、実 PC です。
私の手持ちの PC 3 台は、KDE を動かすにはやや非力でもっさりしてしまうし、xfce はあっさりし過ぎているのであまり好きじゃないと言った理由で、gnome しか使ってないんですよね。
別に、gnome が気に入ってるって訳でもないんですけど。
だから、aptitude install dolphin と aptitude install thunar で、勝手にインストールされたパッケージ群以外は、kubuntu 関連も xubuntu 関連も入ってないと思うんです。
オフライン
こちらの環境も、「余計な物は入れない」というポリシーを持っておりますので、試す前はdolphinもthunarも入っておらず、GNOMEもクリーンインストール後の初回起動時のみで、すぐにicewmへ切り替えてしまうため、ほとんどいじられていない状況でした。
そこに改めてthunarを入れて試し、xfce4を入れて試したのですがダメで、念のためにGNOMEのユーザーデータがクリアされるように「.gnome2」「.gconf」「.config/gnome-session」をリネームしたりもしたのですが、変わりませんでした。
(その後にdolphinも入れて試してみましたが、当然というか、やはり黒です)
ただ、自分の導入方法はapt-getなので、aptitudeとのインストールパッケージに違いが出てくる可能性は考えられます。残念ながらこれは試せないのですが…(この二つの混用は危険と言われていますので)
ちなみに、そちらでThunar GNOMEにしたときのデスクトップは何が起動されるのでしょうか。xfdesktopなのでしょうか。それともnautilusなのでしょうか。Dolphin GNOMEのデスクトップも分かれば、kochinさんの役に立つかもしれません。(gconf-editorの「/desktop/gnome/session/required_components/filemanager」を空にして、自動起動させればデスクトップは入れ替えられますので)
(あれ? ここまで真剣にやることのほどでもないような気も…)
オフライン
Templer さん による投稿:
ただ、自分の導入方法はapt-getなので、aptitudeとのインストールパッケージに違いが出てくる可能性は考えられます。
確かにその違いかも知れませんね。どの PC もまったく問題なく nautilus から dolphin や thunar に入れ替わってます。
システムが完璧に欺瞞されていて、大変心地よいです。
ですのでもう一歩進めて、update-alternatives で切り替えられるようにしたいと思っているのですが、どうにも上手くいかないんですねぇ。何度やってもリンク切れになってしまい…。
そちらでThunar GNOMEにしたときのデスクトップは何が起動されるのでしょうか。xfdesktopなのでしょうか。それともnautilusなのでしょうか。Dolphin GNOMEのデスクトップも分かれば、kochinさんの役に立つかもしれません。(gconf-editorの「/desktop/gnome/session/required_components/filemanager」を空にして、自動起動させればデスクトップは入れ替えられますので)
上記については私の不勉強のせいか、今ひとつ意味が分かりかねるのですが、もう少し詳しく教えていただけますか?
ここで言う ”デスクトップ” とは ”デスクトップマネージャ” のことでしょうか?
それならば、Metacity のまま変えていませんが、そう言うことではないんでしょうね。
それとも、filemanager を dolphin にしたときは KDE が起動し、thunar にしたときは xfce4 が起動するようなことになっているのか?と言うことでしょうか?
もしそういう問いなら、デスクトップ環境は gnome のままです。
済みません、お手数かけます。
オフライン
> ここで言う ”デスクトップ” とは ”デスクトップマネージャ” のことでしょうか?
表現が間違っているかもしれませんが、端的に言いますと背景環境というべきでしょうか。
GNOMEの場合ですと、nautilusがファイルマネージャに止まらず背景操作(画像やアイコンなど)も受け持っていて、マウントされたアイコンなどはnautilusが背景にアイコンを配置し、それをクリックしたならそのままnautilusがファイルマネージャとして開かれます。
これが、xfceの場合ですと背景操作を受け持っているのはxfdesktopであって、Thunarは純粋にファイルマネージャとしての機能しか有しておりません(同様にdolphinも、背景操作はPlasmaが受け持っているものと思われます)。
なので、Thunarをデフォルトのファイルマネージャにしてもなお、背景操作が行えるのだとしたら、それは何らかの背景操作アプリが起動しているということになります。それが、nautilusなのかxfdesktopなのかということです。
私やkochinさんの環境で背景操作が行えないというのは、それら背景操作アプリが起動されてないからということです。(というか、それが出来ることの方が驚きなのですが)
とりあえず、簡単な確認方法は背景のアイコンクリックで立ち上がるファイルマネージャの種類です。Thunarが立ち上がればxfdesktopですし、nautilusが立ち上がればnautilusだと思われます。(kochinさんにはPlasma関連が確認できれば良いのではないかと…)
オフライン
なぁるほどぉ、良く分かりました。
私の認識 & 表現がいくらか間違っていたようです。
確かに、dolphin や thunar から問題なくマウント出来て、右クリックメニューも普通に使用出来るのですが、マウントされたデスクトップ上のドライブのアイコンをダブルクリックすると、起動されるのは nautilus ですね。
これは、dolphin からも thunar からも同じです。
今まで、デスクトップ上のアイコンをクリックしたことがなかったので気づきませんでした。
私の場合、ファイルマネージャを起動するのは、キーボードショートカットか cairo-dock からで、デスクトップ上のドライブアイコンから開くということは殆ど無いので、その辺の挙動に気が付きませんでした。
したがって、背景操作については完全には置き換わっていないと言うことが出来ますね。
そうすると、バックエンドでなお nautilus が動作しているということなんでしょうね。
ここで面白いのは、gnome のメニュー ー> 場所から、ホーム・フォルダ、デスクトップをクリックした場合は、変更したファイルマネージャ(dolphin や thunar)が起動するのですが、コンピュータをクリックすると nautilus が起動し、○○ GB のメディアをクリックすると変更したファイルマネージャ(dolphin や thunar)が起動します。
この辺の挙動だけ考えると、スクリプトをもう少しだけいじれば、実際の操作は nautilus が行っているのだとしても、見かけ上だけはすべて dolphin や thunar が行っているように見せかけられそうですが‥・生憎、私にはそこまでのスクリプトの知識は無いんですよね、すんません。
オフライン
ちなみに、下記が Ubuntu9.04 をインストールしたての状態で、dolphin 及び thunar を aptitude でインストールした場合に入るパッケージ群です。
あー、厳密に言うと、本日(2009年8月1日)時点でのアップデートをかけたあとでの操作ですので、ubuntu-ja-9.04-desktop-i386-20090510.iso からインストールしたての状態とは異なります。
したがって、バージョン等がいくらか異なっている可能性はあります。
petit@petit-laptop904:~$ sudo aptitude install dolphin
[sudo] password for petit:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
以下の新規パッケージがインストールされます:
dolphin exiv2{a} kde-icons-oxygen{a} kdebase-runtime{a}
kdebase-runtime-bin-kde4{a} kdebase-runtime-data{a}
kdebase-runtime-data-common{a} kdelibs-bin{a} kdelibs5{a}
kdelibs5-data{a} kfind{a} khelpcenter4{a} libaudio2{a} libclucene0ldbl{a}
libexiv2-5{a} libkonq5{a} libkonq5-templates{a} libmodplug0c2{a}
libmpcdec3{a} libmysqlclient15off{a} libphonon4{a} libpq5{a}
libqimageblitz4{a} libqt4-dbus{a} libqt4-designer{a} libqt4-network{a}
libqt4-qt3support{a} libqt4-script{a} libqt4-sql{a} libqt4-sql-mysql{a}
libqt4-svg{a} libqt4-xml{a} libqtcore4{a} libqtgui4{a} libraptor1{a}
librasqal1{a} librdf0{a} libsoprano4{a} libstreamanalyzer0{a}
libstreams0{a} libxcb-shape0{a} libxcb-shm0{a} libxcb-xv0{a} libxine1{a}
libxine1-bin{a} libxine1-console{a} libxine1-misc-plugins{a}
libxine1-x{a} mysql-common{a} phonon{a} phonon-backend-xine{a}
qt4-qtconfig{a} raptor-utils{a} redland-utils{a} soprano-daemon{a}
ttf-dejavu{a} ttf-dejavu-extra{a}
0 個のパッケージを更新、 57 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。
53.6MB のアーカイブを取得する必要があります。 展開後に 161MB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] n
etit@petit-laptop904:~$ sudo aptitude install thunar
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
以下の新規パッケージがインストールされます:
exo-utils{a} libexo-0.3-0{a} libthunar-vfs-1-2{a} libxfce4util4{a}
libxfcegui4-4{a} libxfconf-0-2{a} thunar thunar-data{a} thunar-volman{a}
xfce4-panel{a} xfconf{a}
0 個のパッケージを更新、 11 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。
9004kB のアーカイブを取得する必要があります。 展開後に 21.3MB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?]
オフライン
> なぁるほどぉ、良く分かりました。
> 私の認識 & 表現がいくらか間違っていたようです。
伝わって良かったです。何分説明べたなもので。
それはそれとしても、結局はnautilusの立ち上がる環境と立ち上がらない環境というのは変わっていないわけで、ちょっと気になったのですが、スクリプトを書き間違われていませんか?(パッケージの方も、他で既に導入されていたパッケージの依存関係もしらみつぶしに調べてみましたが、同じ物が導入されており、今回の件に関してはapt-getとaptitudeとの差は見受けられませんでした)
パラメータなしでのnautilusの起動は「デスクトップの呼び出し」と決め打ちして構わないと思いますので、最後の「fi」の前の「dolphin」は「nautilus.orig」だと思うのですが…(その方が安パイだと思いますし)。
ついでなのでちょっといじったスクリプトを載せてみます。(ちなみに私もスクリプトはイマイチだったりするんですが)
#!/bin/bash
#zenity --info --text="${1}/${@}" #DEBUG
if [ -n "${1}" ]; then
if [ "${1:0:1}" == "/" ]; then
dolphin "${1}"
elif [ "${1}" == "--no-desktop" ]; then
if [ -n "${2}" ]; then
if [ "${2:0:7}" == "file://" ] || [ "${2:0:1}" == "/" ]; then
dolphin "${2}"
elif [ "${2:0:9}" == "computer:" ]; then
dolphin / # <- computer(root folder)
elif [ "${2:0:8}" == "network:" ]; then
dolphin remote: # <- network
else
nautilus.orig "${@}"
fi
else
dolphin
fi
else
if [ "${1:0:6}" == "trash:" ]; then
dolphin trash: # <- trash
else
nautilus.orig "${@}"
fi
fi
else
(sleep 0 && plasma) # <- desktop
fiとりあえず、「コンピュータ」などからもnautilusを潰せるようにしてみました。
ここではデスクトップを「plasma」にしていますけど、plasmaはウィジェットに慣れた人でないとちょっと…(パネルを削除しないといけないし)。使い難かったら「nautilus.orig」ですかね。(「.orig」を忘れると酷い目に合います)
ちなみにThunarならsleepの値をそれなりに(ウチの環境では20秒)して「plasma」を「xfdesktop」に変更です。「dolphin」を「thunar」にするのもお忘れなく。
オフライン
petitbootangさん による投稿:
実は、せっかく debian 系なのだから(今は rpm 系でも使えるんですけどね)、update-alternatives コマンドで細工出来ないか色々やってみたんですが、知識不足で上手くいきませんでした。
それが出来れば、その時の気分でも簡単にスイッチ出来ますしね。
やってみました.対象とするものを何にしようか悩んでおりました.
== 目標 ==
gnome マインスイーパーのラッパースクリプトを /opt に作成し,
C ロケールで起動するか,デフォルトのロケール(ja_JP.UTF-8)で起動するかを
alternatives システムで選択する.
== 準備 ==
システムの影響を最低限にするため altenative ディレクトリ,管理ディレクトリを別に作成.
% システムのディレクトリを使用するならば以下の作業で
% --altdir /opt/alternatives --admindir /opt/altadmin
% が省略できる.
$ sudo mkdir /opt/alternatives /opt/altadmin
== オリジナル /usr/games/gnomine の退避 ==
$ sudo dpkg-divert --rename /usr/games/gnomine `local diversion of /usr/games/gnomine to /usr/games/gnomine.distrib' を追加しています
確認
$ ls -l /usr/bin/games 略 -rwxr-sr-x 1 root games 134416 2009-04-15 06:03 gnomine.distrib 略 $ dpkg -L gnome-games 略 /usr/games/gnomine ローカルに退避 (divert) された: /usr/games/gnomine.distrib 略
== ラッパー /opt/gnomine の作成 ==
$ ls -l /opt/gnomine -rwxr-xr-x 1 root root 53 2009-08-03 00:01 /opt/gnomine $ cat /opt/gnomine #! /bin/sh export LANG=C /usr/games/gnomine.distrib
== ラッパー /opt/gnomine を alternative システムに登録 ==
$ sudo update-alternatives --altdir /opt/alternatives --admindir /opt/altadmin --install /usr/games/gnomine gnomine /opt/gnomine 50
確認
$ ls -l /usr/games/ 略 lrwxrwxrwx 1 root root 25 2009-08-03 00:15 gnomine -> /opt/alternatives/gnomine -rwxr-sr-x 1 root games 134416 2009-04-15 06:03 gnomine.distrib $ ls -l /opt/alternatives/ 合計 0 lrwxrwxrwx 1 root root 12 2009-08-03 00:15 gnomine -> /opt/gnomine
ここでアプリケーションメニューから実行して効果を確認
== オリジナル /usr/game/gnomine.distrib を登録 ==
$ sudo update-alternatives --altdir /opt/alternatives --admindir /opt/altadmin --install /usr/games/gnomine gnomine /usr/games/gnomine.distrib 40
確認
$ update-alternatives --altdir /opt/alternatives --admindir /opt/altadmin --display gnomine gnomine -状態は auto。 リンクは現在 /opt/gnomine を指しています /opt/gnomine - 優先度 50 /usr/games/gnomine.distrib - 優先度 40 現在の `最適' バージョンは /opt/gnomine です。 $ cat /opt/altadmin/gnomine auto /usr/games/gnomine /opt/gnomine 50 /usr/games/gnomine.distrib 40
== alternatives で選択 ==
% システムの altenative ディレクトリ,管理ディレクトリを使用していれば GUI ツールが使える.
$ sudo update-alternatives --altdir /opt/alternatives --admindir /opt/altadmin --config gnomine
`gnomine' を提供する 2 個の alternatives があります。
選択肢 alternative
-----------------------------------------------
*+ 1 /opt/gnomine
2 /usr/games/gnomine.distrib
デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください: 2
'gnomine' を提供するために '/usr/games/gnomine.distrib' を使います。
$ sudo update-alternatives --altdir /opt/alternatives --admindir /opt/altadmin --set gnomine /opt/gnomine
'gnomine' を提供するために '/opt/gnomine' を使います。== gnomine を ubuntu 本来の状態に復旧 ==
$ sudo update-alternatives --altdir /opt/alternatives --admindir /opt/altadmin --remove-all gnomine $ sudo dpkg-divert --remove --rename /usr/games/gnomine local diversion of /usr/games/gnomine to /usr/games/gnomine.distrib を削除しています
== 後始末 ==
$ sudo rm /opt/gnomine $ sudo rmdir /opt/alternatives /opt/altadmin
オフライン
Templer さん
色々ありがとうございます。
上記の修正スクリプトを試してみたところ、かなりいい感じになってきましたが、やはりデスクトップ上のドライブアイコンをダブルクリックすると、オリジナルの nautilus が起動してしまいますね。
私のところでは plasma は入っていないので、<- desktop のところを nautilus.orig に変えました。
でないと、端末から natutilus と叩いたときは起動出来ませんね。
gconf-editorの「/desktop/gnome/session/required_components/filemanager」を空にして、自動起動させてみましたが特に何も変わりませんでした。
この項目は空のままでも特に問題ないんでしょうかね。
#33 で右クリックが効かなくなる話が出ていましたが、私のところでは普通に右クリックで色々出来ます…。
なんか、確かにここまで長くやらなくても良いような気もしますが、あともうちょいという感じも。
私のほうにあまり知識が無いので、決定的な打開策が出せずに申し訳ないです。
でも、色々と検索してみても、文字通り完璧にシステムを欺瞞して、ファイルマネージャを置き換えることに成功している情報は無さげなので、首尾良くいけば tutorial としてあとから来る人の助けになりますのでね。
無い頭でいろいろと…。
オフライン
おぉー、einundzwanzighundertsechs さん、ありがとうございます。
早速私の環境でも近日中に試してみたいと思います!
オフライン
petitbootangさん による投稿:
上記の修正スクリプトを試してみたところ、かなりいい感じになってきましたが、やはりデスクトップ上のドライブアイコンをダブルクリックすると、オリジナルの nautilus が起動してしまいますね。
これは仕様上仕方の無いものだと思います。元々デスクトップとファイルマネージャはワンセットと考えるべきなので。例えば、xfdesktopならThunar、PlasmaならDolphinといった風に。
nautilusの場合はデスクトップとファイルマネージャを一つのプログラムで兼用していますので、尚更切り離すのは無理ではないかと。(PlasmaはKonquerorの存在がありますので、あるいは…)
私のところでは plasma は入っていないので、<- desktop のところを nautilus.orig に変えました。
でないと、端末から natutilus と叩いたときは起動出来ませんね。
gconf-editorの「/desktop/gnome/session/required_components/filemanager」を空にして、自動起動させてみましたが特に何も変わりませんでした。
この項目は空のままでも特に問題ないんでしょうかね。
#33 で右クリックが効かなくなる話が出ていましたが、私のところでは普通に右クリックで色々出来ます…。
自分が「nautilus.origが安パイ」と言ったのはこの辺の所ですね。
thunarやdolphinはインストールしていてもxfdesktopやplasmaがインストールされていない場合は、それらを指定しても何も起動されないわけで、ですが、nautilus.origがセッションに保存されていたらなら、それらは関係なしにnautilusは勝手に立ち上がってしまいます。(ちなみに、「/desktop/gnome/session/required_components/filemanager」が空でもセッションに保存されていれば同様に起動されます)
さらに悪いことに、セッションの保存が有効で、尚且つ複数のデスクトップを切り替えていると、それら起動してきたデスクトップが全てセッションに残ってしまいますので、見た目は一つのデスクトップでも、裏では他のデスクトップが起動されているという酷く混在した環境となってしまいます。
なので、「nautilus.orig」が"安パイ"なのです。
ていうか、自分もアホですよね。「nautilus.origが安パイだ」と言っておきながら、スクリプトにはplasmaと記述しているんですから。(「GNOME+Dolphin+Plasma」を優先してしまったのが…。もっと相対的に見なければ)
(引用下段の件は、セッションの保存が無効の環境では、#45で言ったようにスクリプト最後のdolphinにnautilusの起動が阻まれていた、というのが原因です。dolphinはデスクトップではないし、nautilusも起動されないということで操作ができなかったということです。セッションにnautilusが保存されていりすると気づかないかもしれません。セッションは切っても保存された物が削除されるわけではないので。
それと、これは自分が勝手に思っていることなのですが、nautilusをファイルマネージャとして起動するときは「--no-desktop」オプションを付けるものではないかなと)
ですが、ここまでの流れで、ある一つの形は見えてきたと思います。私が現状万全だと思われる方法はこれしかありません。
1. まず、#28の要領で下記のスクリプトを作成し(ファイルマネージャを変更する場合は「FMANAGER=」の値を、デスクトップを変更する場合は「DESKTOP=」の値を、それぞれ使用したいアプリに変更する。「SLEEPTIME=」の値は環境に合わせて適宜に)、
#!/bin/bash
FMANAGER=dolphin
DESKTOP=nautilus.orig
SLEEPTIME=20
#zenity --info --text="${1}/${@}" #DEBUG
if [ -n "${1}" ]; then
if [ "${1:0:1}" == "/" ]; then
$FMANAGER "${1}"
elif [ "${1}" == "trash:" ]; then
$FMANAGER "${1}" # <- trash
elif [ "${1}" == "--no-desktop" ]; then
if [ -n "${2}" ]; then
if [ "${2:0:7}" == "file://" ] || [ "${2:0:1}" == "/" ]; then
$FMANAGER "${2}"
elif [ "${2}" == "computer:" ]; then
$FMANAGER / # <- computer(root folder)
elif [ "${2:0:8}" == "network:" ]; then
$FMANAGER remote: # <- network
else
nautilus.orig "${@}"
fi
else
$FMANAGER
fi
elif [ "${1}" == "-n" ] || [ "${1}" == "--no-default-window" ]; then
if [ -x `which $DESKTOP` ]; then
(sleep $SLEEPTIME && $DESKTOP)
else
nautilus.orig "${1}"
fi
else
nautilus.orig "${@}"
fi
else
nautilus.orig
fi2. gconf-editorを開き「/desktop/gnome/session/required_components/filemanager」を空にし、
3. 自動起動アプリに「nautilus -n」を追加する。
※ セッションの保存を有効にしている場合でデスクトップを変更するときは、一旦セッションの保存を無効にし、セッションデータを適宜削除して、再ログインしないと複数のデスクトップが起動されてしまいます。
この形であれば、コマンド呼び出しで本家nautilusを呼び出せますし(本来なら、本家は「nautilus.orig」で呼び出し、スクリプトの方には一貫性を持たせるべきなんでしょうけど。このスクリプトはどっちつかずで曖昧過ぎますので)、インストールされていないデスクトップを指定してしまってもnautilus.origが起動され、また「2.」と「3.」により、システムをクリーンインストールしても(nautilusスクリプトが本家のバイナリに書き換えられても)デスクトップにはnautilusが起動されるという形が形成されます。
とりあえず、私のスカスカな頭では、この辺が限界です。
何だか、私が適当に突っ込んだせいでpetitbootangさんには色々とお付き合いさせてしまったようで、申し訳ありませんでした。そして、ありがとうございます。
オフライン
Templer さん
いえいえ、こちらこそ色々お付き合いさせてしまい、申し訳ありませんでした。
実際、この件に関しては私自身が興味あるというよりも、他の方の参考になればと思いトピックを引き伸ばしてしまいました。
kochin さんに限らず、現在の操作系はそのまま継承しつつ、他の気に入ったファイルマネージャに変更したいと言う要望は、結構あると思うんですよね。
そんな方の手助けになればと思い、お手を煩わせてしまいました。
私自身、今回のやりとりで、ファイルマネージャとデスクトップには密接な関係があると初めて知った次第で(誠にお恥ずかしい)。
根本的にどうにかするには、システムのもっと深い部分をいじらないとダメですね。
他の人の為とか言いつつ、私自身が非常に勉強になりました。
何かまた分かりましたら、よろしくお願いします。
オフライン