
Ubuntu日本語フォーラム

ログインしていません。
ibus-daemonがうまく自動起動しません。
コンピュータのスペックは以下の通り。
CPU:Athlon X2 7750BE
メモリ:UMAX DDR2 1066 1GB×2
マザーボード:M3A78-PRO(メーカー:ASUS)
チップセット:AMD780G
VGA:オンボード
Ubuntu 11.04
11.04をインストール後、憩いの場さんのPPA*を導入し、ibus-mozc、mozc-server+dict、mozc-utils-guiを導入しました。
ibus-daemonが自動起動するように「コントロールセンター>自動起動するアプリケーション」に
名前:ibus daemon
コマンド:ibus-daemon -d
説明:start ibus daemon when unity starts
と記述しました。チェックボックスにチェックも入れました。
コンピュータを起動させると、ibus-daemonは動いているようで、日本語が入力できる(また、tabキーで変換候補が変化する)のですが、以下の問題が起こります。
Trouble1.変換している文字の下に、変換候補が現れない。
Trouble2.上部パネルのインジケータにibusのアイコンが現れない。
Trouble3.言語バーが現れない。
ちなみに「コントロールセンター>システム・モニタ」を見ると、ibus-daemonが二つあって、一つは「ゾンビ」、もうひとつは「スリープ中」と表示されています。
また、端末で
$ killall ibus-daemon
$ ibus-daemon -d
と打つと、変換候補が現れるようになり、パネルのインジケータにもibusのアイコンが復活します。
言語バーも現れるようになります。
(システム・モニタの状況は変わらず、ibus-daemonが二つある状態です)
憩いの場のPPAを削除して、デフォルトのmozcにもしてみましたが、症状は同じでした。
毎回、コマンドを打つのは煩わしく、適切な状態(=パネルにアイコンが存在し、変換候補も現れる状態)でibus-daemonを自動起動させたいのですが、どのような方法があるでしょうか?
googleで検索してみましたが、解決策が見つけられなかったので、助力を仰ぎたく思います。
*憩いの場のPPA
http://linux.ikoinoba.net/index.php?UID=1273605455
オフライン
下記は不要なはずですので無効にしてみてください。(Ubuntu 11.04では確認していませんがiBusを「--xim」指定せずに起動させた状態でログアウトするとiBusの挙動がおかしくなるというのがありましたので、設定後は再起動のほうが良いです)
kinako21 による投稿:
ibus-daemonが自動起動するように「コントロールセンター>自動起動するアプリケーション」に
名前:ibus daemon
コマンド:ibus-daemon -d
説明:start ibus daemon when unity starts
と記述しました。チェックボックスにチェックも入れました。
初期状態で既におかしいということでしたら、まっとうな回答が来るまで「ibus-daemon -r -d -x」としておいてください。
オフライン
Templerさま、返信ありがとうございます。
返信が送れすいません。
アドバイスのとおり、自動起動するアプリケーションに登録していたibus-daemonの起動を削除してみました。
すると、アイコンも現れ、正常に日本語入力ができるようになりました。
(今まで余分なことをしていたのですね……)
ですが、たまにUnityが上手く起動しないのか、日本語入力ができなくなるときがあります。
右上のインジケータの表示がおかしくなって(音量が0になる、ユーザ名が表示されないなど)、ibusのアイコンも現れません。
この時、「コントロールセンター>キーボード・インプットメソッド>インプットメッソドのタグ」を見ると、インプットメソッドは空になっていて、
あるはずのmozcやAnthyが見当たらなくなります。
「コントロールセンター>システム・モニタ」にはibus-daemonがあるのですが、スリープ中になっている状態でした。
「ibus-daemon -r -d -x」を自動起動させると、このトラブルは起こらないようです。
ひとまず「ibus-daemon -r -d -x」でいこうと思います。
ありがとうございます。
※ちなみに教えていただいたibus-daemonのオプションの意味は
-r replaceの意味。古いibus-daemonが合った場合に置き換える。
-d バックグラウンドプロセスとして走らせる。
-x ximサーバを実行する。ximはX window systemの各国語入力用のプロトコル。
だそうです。
出典:http://diablo.ucsc.edu/cgi-bin/man/man2html?1+ibus-daemon
オフライン
はじめまして、
Ubuntuの初心者です。私の質問はこの質問に関連しているので、ここに便乗して質問させて頂きます。
最近Windows 7英語版にパーティションを作ってUbuntuの英語版version 11.10をインストールしました。
(Windows installer (Wubi)ではなく、Windowsを入れてからUbuntuでパーティションを切って入れました。)
なんとかUbuntuのインストールが出来、日本語変換機能が高いと言われているgoogleが開発した「Mozc(もずく)」という日本語変換ソフトも入れました。
前記の質問者kinako21さんのような問題が起き、
「ibus-daemon -r -d -x」を自動起動させると、このトラブルは起こらないようです。、、、」
を自動起動させるとこのトラブルは起きません。ありがとうございます。
ですが、これは「管理者(super user, administrator)」のアカウントでのトラブルであってこの問題は管理者ユーザーとしては解消しましたが、
ゲストユーザー(Guest Session)では、Startup Application Preferences に「IBus daemon」をセーブさせて
自動起動させるようにしても、管理者ユーザーにログインしたりこのセッションをログアウトしたりして、またゲストユーザーに戻るとすべて消えていて
(つまりキーボードアイコンも出ませんし、またStartup Application Preferences にセーブさせた「IBus daemon」も消えています)、
毎回ibusを起動させなければなりません。ibusを起動させれば「Mozc(もずく)」も動きます。
どうすれば、ゲストユーザーでもibusを自動起動させる事が出来るのでしょうか?
よろしくお願いします。
ほとんど同じ(似た)質問なので便乗させて頂きましたが、因みにこのフォーラムで便乗質問は可能でしたか?
オフライン
nobu_us による投稿:
ほとんど同じ(似た)質問なので便乗させて頂きましたが、因みにこのフォーラムで便乗質問は可能でしたか?
「ここのトピックにある設定をシステムワイドにするにはどうすれば良いのか?」という内容なので、ギリセーフではないでしょうか。
とはいえ、現象がどういったものなのかが不確定ですね。(確認作業をせずに片付けてしまうと分かり難くなりますね。ちょっと反省)
とりあえず、ゲスト環境で「端末」を起動させて下記コマンドを実行し、「ibus-daemon」や「/usr/bin/python /usr/share/ibus/ui/gtk/main.py」などなどがゲストユーザーのプロセスとして起動されているのかを確認してみてください。
ps aux | grep ibus
確認できるようでしたら、問題はibus-daemonの起動が早すぎるというところにあると思いますので、とりあえず下記リンクのikuyaさんの方法で解決できるのではないかと思います。
参照: https://forums.ubuntulinux.jp/viewtopic.php?pid=85853#p85853
かく言う私は次投稿の方法で確実に回避するようにしています。
オフライン
この方法はオリジナルのibus-daemonを退避させてsleepを挟み起動を遅らせてしまおうというものです。
※ 各コマンドを実行する前後に「 ls -l /usr/bin/ibus-daemon* 」を実行して、ファイルの状態を確認しながら行うと安心でしょう。
1. オリジナルのibus-daemonを退避させる
下記コマンドでオリジナルのibus-daemonを「/usr/bin/ibus-daemon.orig」として退避させます。
sudo dpkg-divert --add --rename --divert /usr/bin/ibus-daemon.orig /usr/bin/ibus-daemon
2. オリジナルのibus-daemonの起動を遅らせるコマンドを置く
下記コマンドを実行してテキストエディタを起動し、
gksudo gedit /usr/bin/ibus-daemon
下記内容をコピペして保存します。
#!/bin/sh sleep 5 exec ibus-daemon.orig $@
そして、新しく作ったibus-daemonに実行権限を付与します。
sudo chmod +x /usr/bin/ibus-daemon
3. 確認
ログインし直して、現象を回避できているか確認をします。
A. 元に戻す方法
上記を元に戻すには下記コマンドを実行します。
sudo rm /usr/bin/ibus-daemon sudo dpkg-divert --remove --rename --divert /usr/bin/ibus-daemon.orig /usr/bin/ibus-daemon
念の為に下記コマンドも実行して、同ファイルのハッシュ値が同じになっているか確認します。
md5sum /usr/bin/ibus-daemon cat /var/lib/dpkg/info/ibus.md5sums | grep ibus-daemon
オフライン
Templerさん
それなら、
mkdir ~/bin cat <<EOF > ~/bin/ibus-daemon #!/bin/sh sleep 5 exec /usr/bin/ibus-daemon "$@" EOF chmod +x ~/bin/ibus-daemon
で十分ではないでしょうか?
~/binの代わりに、/usr/local/binを使ってもよいですけど。
失礼しました。
/usr/bin/ibus-daemonはフルパス指定なので、私の方法では無理ですね。
何度もすみません。
以下は、あくまでホームディレクトリ配下だけで全て実現することに拘る人向けですけど、
mkdir -p ~/.xinput.d sed -e "s#XIM_PROGRAM=.*#XIM_PROGRAM=$HOME/bin/ibus-daemon#" /etc/X11/xinit/xinput.d/ibus > ~/.xinput.d/ja_JP chmod +x ~/.xinput.d/ja_JP
で、/usr/bin/ibus-daemonの代わりに$HOME/bin/ibus-daemonが起動されるようにし、
mkdir ~/bin cat <<EOF > ~/bin/ibus-daemon #!/bin/sh sleep 5 exec /usr/bin/ibus-daemon "\$@" EOF chmod +x ~/bin/ibus-daemon
で遅延起動すれば出来ますね。
Templer による投稿:
nobu_us による投稿:
ほとんど同じ(似た)質問なので便乗させて頂きましたが、因みにこのフォーラムで便乗質問は可能でしたか?
「ここのトピックにある設定をシステムワイドにするにはどうすれば良いのか?」という内容なので、ギリセーフではないでしょうか。
とはいえ、現象がどういったものなのかが不確定ですね。(確認作業をせずに片付けてしまうと分かり難くなりますね。ちょっと反省)
とりあえず、ゲスト環境で「端末」を起動させて下記コマンドを実行し、「ibus-daemon」や「/usr/bin/python /usr/share/ibus/ui/gtk/main.py」などなどがゲストユーザーのプロセスとして起動されているのかを確認してみてください。コード:
ps aux | grep ibus確認できるようでしたら、問題はibus-daemonの起動が早すぎるというところにあると思いますので、とりあえず下記リンクのikuyaさんの方法で解決できるのではないかと思います。
参照: https://forums.ubuntulinux.jp/viewtopic.php?pid=85853#p85853
かく言う私は次投稿の方法で確実に回避するようにしています。
回答をありがとうございます。
ゲストユーザーで上記コマンドを入力して確認したところ、ibusは起動されているようです。しかしながらキーボードアイコンは表示されていません。このメッセージも管理者ユーザーに戻って売っています。
オフライン
STGSAGWAN による投稿:
何度もすみません。
以下は、あくまでホームディレクトリ配下だけで全て実現することに拘る人向けですけど、コード:
mkdir -p ~/.xinput.d sed -e "s#XIM_PROGRAM=.*#XIM_PROGRAM=$HOME/bin/ibus-daemon#" /etc/X11/xinit/xinput.d/ibus > ~/.xinput.d/ja_JP chmod +x ~/.xinput.d/ja_JPで、/usr/bin/ibus-daemonの代わりに$HOME/bin/ibus-daemonが起動されるようにし、
コード:
mkdir ~/bin cat <<EOF > ~/bin/ibus-daemon #!/bin/sh sleep 5 exec /usr/bin/ibus-daemon "\$@" EOF chmod +x ~/bin/ibus-daemonで遅延起動すれば出来ますね。
>以下は、あくまでホームディレクトリ配下だけで全て実現することに拘る人向けですけど、
とはどういう事でしょうか?ゲストユーザーはホームディレクトリ配下なのでしょうか、それとも配下ではないのでしょうか?
どうやったらこれを確認出来るのでしょうか?初心者ですのでよろしくお願いします。
オフライン
Templerさん、
ありがとうございます。
#6の方法を試してみました。管理者ユーザーでは問題なくibusが自動起動し、かつibusが1つだけでゾンビはありませんでした。しかしながら、ゲストユーザーでは、相変わらずキーボードアイコンは出ませんしスタートアップアプリケーションのibus daemon(セーブしたのに)も消えていました。手動でibusを起動しなければなりません。因みにゲストユーザーでどうしたらスタートアップアプリケーションを設定、セーブ出来るのでしょうか?
オフライン
確認のほうは「3. 確認」に書いてある通りにログアウトで行われましたでしょうか。もしそうなのだとすると、その方法では正確に確認できない何かが潜んでいるのかもしれません。その場合は一旦システムを再起動させて確認してみてください。
nobu_us による投稿:
因みにゲストユーザーでどうしたらスタートアップアプリケーションを設定、セーブ出来るのでしょうか?
ゲストユーザーのホーム領域はログイン時に作成されてログアウト時に削除される仕様になっていますので設定をしても消えてしまいます。
ゲストユーザーに限定せず、全てのユーザーで自動起動させるとか、新規に作成されるユーザーに対して同じファイル構成にさせるといったことなどはできます。
なので、上記の確認でダメだった場合は…前者でいきますか。
オフライン
すみません。下記部分がちょっと分かり難くなっていますね。
Templer による投稿:
もしそうなのだとすると、その方法では正確に確認できない何かが潜んでいるのかもしれません。
上記の「その方法」という部分は「ログインし直し」のことです。
つまり、#6の
Templer による投稿:
3. 確認
ログインし直して、現象を回避できているか確認をします。
を
3. 確認
システムを再起動して、現象を回避できているか確認をします。
に置き換えて読んでください。
それと、すっかり忘れていましたが、#5以降に書かれている方法を行う場合は、自動起動するアプリケーションに登録した#2の方法は無効にしてください。これらは#2の別解にあたる方法です。
オフライン
Templer による投稿:
すみません。下記部分がちょっと分かり難くなっていますね。
Templer による投稿:
もしそうなのだとすると、その方法では正確に確認できない何かが潜んでいるのかもしれません。
上記の「その方法」という部分は「ログインし直し」のことです。
つまり、#6のTempler による投稿:
3. 確認
ログインし直して、現象を回避できているか確認をします。を
3. 確認
システムを再起動して、現象を回避できているか確認をします。に置き換えて読んでください。
それと、すっかり忘れていましたが、#5以降に書かれている方法を行う場合は、自動起動するアプリケーションに登録した#2の方法は無効にしてください。これらは#2の別解にあたる方法です。
Templerさん、
再三の返信をありがとうございます。
知っての通り、先日Ubuntu 12.04 LTS (Long Term Support) (code name : Precise Pangolin)がリリースされたので私のver.11.10からver.12.04へアップデートしました。そして#6を再度やってみました。
Ibusの自動起動(startup application)は管理者、ゲストどちらも無効にしてあります。
コンピュータを再起動してみましたが、管理者ユーザーでは自動的にキーボードアイコンが出て日本語入力が可能ですが、ゲストユーザーでは相変わらずキーボードアイコンは出ていません。Ibusを起動させると日本語を打つ事が出来ました。
そして、また管理者ユーザーに戻るとキーボードアイコンは消えていました。管理者のシステムモニターを見ると、
ibus-daemon
ibus-engine-mozc
ibus-gconf
ibus-x11
がsleep状態ではありますが起動されていました。でも、アイコンがありませんので日本語が打てなくなってしまっていました。まったくユーザーが変わっただけで、あるいは同じユーザーが行きつ戻りつ(ログイン、ログアウト、そしてログイン)するとIbusの設定が変わってしまうのは非常に不便です。何か解決策はないものでしょうか?よろしくお願いします。
ちなみにUbuntu Forum(英語版)http://ubuntuforums.org/index.phpにも数日前に質問をしてみました。今のところ(04/30/2012)84人の人が私の質問を読んで?はいますが誰も回答はありません。
オフライン
うーむ。何か根本的に違うバグが潜んでいるような気もしますが、とりあえずsleepの秒数を変えて試してみてください。
ダメでしたらちょっと原因がわかりませんので、他のユーザーを作って試した場合はどうなるのかというのを投稿して、詳しい方からの回答があることに期待しましょう。
ダメだった場合は、以下の方法を行なってみてください。
これは#2の方法と同じで、自動起動するアプリケーションに設定するものです。違いはユーザー側で設定しているのか(「~/.config/autostart/」配下)、システム側に設定しているのか(「/etc/xdg/autostart/」配下)というところです。システム側に設定しますので全てのユーザーに適用されます。ユーザー個々で無効にするには自動起動するアプリケーションで。
まず、下記コマンドを実行します。
sudo cp /usr/share/applications/ibus.desktop /etc/xdg/autostart/
そして、「gksudo gedit /etc/xdg/autostart」を実行して、
Exec=ibus-daemon --xim
となっているところを下記のようにします。(※1)
Exec=sh -c 'sleep 10 && ibus-daemon --xim --replace'
※1 12.04にアップグレードしたという事なので、もう気にする必要はないのではないかと思いますが、11.10ではsleepを挟まないとGNOME系以外のautostartを使用する環境で不具合が発生したりしますので念の為。おそらくそれらの環境では再起動のタイミングが悪くなるのではないかと思われます。つまり、#2もGNOME系での対策です。GNOME系しか使っていないということであれば「--replace」を追加するだけで良いです。
オフライン
忘れてた。
マルチポストをするときは早めに知らせるようにしてください。知らずに進行すると混乱のもとになりかねません。
オフライン
すみません。記述ミスしました。
Templer による投稿:
そして、「gksudo gedit /etc/xdg/autostart」を実行して、
上記に抜けがありまして、正しくは下記です。
そして、「gksudo gedit /etc/xdg/autostart/ibus.desktop」を実行して、
オフライン
連投申し訳ありません。書き漏らしです。
「/etc/xdg/autostart/ibus.desktop」ファイルは「ibus」パッケージのアップデートで削除されるようになっていますので、アップデートで削除されてしまった場合は再び作成し直してください。
名前を変えれば削除されなくなりますが、元とした「/usr/share/applications/ibus.desktop」に記述変更があった場合のことを考えて、あえて削除されるようにしています。
オフライン
Templerさん、
返信をありがとうございます。
#16,#18を試してみました。管理者、ゲストユーザーどちらのスクリーンにもキーボードアイコンが出るようになりましたし、ログイン、ログアウトを繰り返してもちゃんとキーボードアイコンが出ています。ありがとうございます。
sleep はなくても動きました。つまり、
Exec=ibus-daemon --xim --replace
とした訳です。
しかしながら、管理者ユーザーではシステムモニターを見ると
ibus-daemon Sleeping
ibus-daemon Zombie N/A do_exit
と2つのibus-daemonが存在しています。大丈夫なのでしょうか?
また、管理者ではその都度preferencesを設定しなくてもmozcが登録(セーブ)されていて便利なのですが、ゲストですとアイコンはあるもののログインするたびにpreferencesを設定してmozcを選択してセーブしなければなりません。さらにゲストではそのmozcが起動すると画面右下に出るアイコン?が出ません。日本語は打てるのですが、右下のアイコンが出ないのです。管理者ではmozcのアイコンが常に右下に出ています。
もうひとつ、
Ubuntu Forum(英語版)にも投稿しましたが、(これもマルチポストになりますか?)きょうまで90人以上の人が私の質問を見ていますがまだだれも返事してくれてはいません。たぶん英語(英語圏)だとibus(-daemon)はあまり関係ない、使用しないから?だと思いますがいかがでしょうか。アルファベットが打てればそれでいい訳ですからね。ちょっと余談でした。
オフライン
nobu_us による投稿:
sleep はなくても動きました。つまり、
Exec=ibus-daemon --xim --replace
とした訳です。
しかしながら、管理者ユーザーではシステムモニターを見ると
ibus-daemon Sleeping
ibus-daemon Zombie N/A do_exit
と2つのibus-daemonが存在しています。大丈夫なのでしょうか?
「キモチ悪い」とは思いますが、気にする必要のないものと思います。
(って、今確認してみたら、こちらもゲストではゾンビになっていませんでした。なぜ?)
nobu_us による投稿:
ゲストですとアイコンはあるもののログインするたびにpreferencesを設定してmozcを選択してセーブしなければなりません。さらにゲストではそのmozcが起動すると画面右下に出るアイコン?が出ません。日本語は打てるのですが、右下のアイコンが出ないのです。
こちらは、不具合が起きていない方も参考にされる "かも" しれませんので、別トピックにしたほうが良さそうです。
nobu_us による投稿:
これもマルチポストになりますか?
複数のアプローチが変にかち合ってしまうと、それにより不具合が発生したり、意図した結果が返らずに困惑してしまったりなどといったことが起こり得る、という方向から考えていただけると良いかと。
オフライン
Templerさん、
回答をありがとうございます。
#21のメッセージにありますように、管理者ユーザーには
ibus-daemon Sleeping
ibus-daemon Zombie
と2つのibus-daemonがあります。ゲストユーザーではibus-daemon Sleepingの1つだけです。どちらのユーザーでもmozcは使用可能ですが、このことは管理者ユーザーでは#16,18の操作をする前にすでにibus-daemonが起動しているが、ゲストユーザーでは起動していない。そこでシステムワイドにibus-deaemonを起動させるため#16,18のコマンドを行い、管理者ユーザーで起動していたibus-daemonをいったん消して再起動させる(だからibus-daemonのZombieが出来る?)と同時にゲストユーザーでもibus-daemonを起動させている(ゲストユーザーにはibus-daemonがあらかじめ無いのでZombieが作られない?)ということに他ならないんでしょうね。
#16,18を行うことによって同じような操作を管理者ユーザーでは2回繰り返しているのでしょうか。
そうであるならば、(私が初期に期待した事なんですが)ログインと同時にすべてのユーザーで1回の作業でibus-daemonを自動起動させる方法があっても良いのではないのでしょうか?
Ubuntuの初心者の私がこんな事を考えてみました。
オフライン
nobu_us による投稿:
#21のメッセージにありますように、管理者ユーザーには
ibus-daemon Sleeping
ibus-daemon Zombie
と2つのibus-daemonがあります。ゲストユーザーではibus-daemon Sleepingの1つだけです。どちらのユーザーでもmozcは使用可能ですが、このことは管理者ユーザーでは#16,18の操作をする前にすでにibus-daemonが起動しているが、ゲストユーザーでは起動していない。そこでシステムワイドにibus-deaemonを起動させるため#16,18のコマンドを行い、管理者ユーザーで起動していたibus-daemonをいったん消して再起動させる(だからibus-daemonのZombieが出来る?)と同時にゲストユーザーでもibus-daemonを起動させている(ゲストユーザーにはibus-daemonがあらかじめ無いのでZombieが作られない?)ということに他ならないんでしょうね。
すみません。これ、確認の仕方が悪かったようです。
ゲストでログイン中に管理者ユーザーから確認すると、ゲスト環境で起動されていた元々のibus-daemonもゾンビになっていることがわかりました。どうやら、ゲストユーザーからだと見え方が違ってしまうようです。
それと、#21で「ゲストではゾンビになっていないのは、なぜ?」というような表現をしましたが、「なぜ、GNOME系デスクトップ環境ではゾンビになる?」のほうが正しいですね。(長い付き合いなもので、かなり毒されていたようです)
オフライン
Templer による投稿:
nobu_us による投稿:
#21のメッセージにありますように、管理者ユーザーには
ibus-daemon Sleeping
ibus-daemon Zombie
と2つのibus-daemonがあります。ゲストユーザーではibus-daemon Sleepingの1つだけです。どちらのユーザーでもmozcは使用可能ですが、このことは管理者ユーザーでは#16,18の操作をする前にすでにibus-daemonが起動しているが、ゲストユーザーでは起動していない。そこでシステムワイドにibus-deaemonを起動させるため#16,18のコマンドを行い、管理者ユーザーで起動していたibus-daemonをいったん消して再起動させる(だからibus-daemonのZombieが出来る?)と同時にゲストユーザーでもibus-daemonを起動させている(ゲストユーザーにはibus-daemonがあらかじめ無いのでZombieが作られない?)ということに他ならないんでしょうね。すみません。これ、確認の仕方が悪かったようです。
ゲストでログイン中に管理者ユーザーから確認すると、ゲスト環境で起動されていた元々のibus-daemonもゾンビになっていることがわかりました。どうやら、ゲストユーザーからだと見え方が違ってしまうようです。
それと、#21で「ゲストではゾンビになっていないのは、なぜ?」というような表現をしましたが、「なぜ、GNOME系デスクトップ環境ではゾンビになる?」のほうが正しいですね。(長い付き合いなもので、かなり毒されていたようです)
Templerさん、
再三の回答をありがとうございます。
>ゲストでログイン中に管理者ユーザーから確認すると、
どのようにして確認されたのか分かりませんが(このような確認の仕方を私は知りませんので)、管理者ユーザー、ゲストユーザーどちらもゾンビがあるのですね。でも、ゲストユーザーでは起動されていた元々のibus-daemonがちゃんと動いていないんです、ですから$16,18の操作でibus-daemonを再起動(or replace)させている訳ですね。色々と説明をありがとうございました。このような不具合?はやはりこのトピックの最初の方に説明されていたように、自動起動のタイミングが悪いからなのでしょうか?sleep 5とかsleep 10のようなコマンドでibus-daemonの起動を少し遅らせる事によってこのような問題を回避させる事が出来たのでしょうか?
>「なぜ、GNOME系デスクトップ環境ではゾンビになる?」
なるほど、ubuntu初心者の私から言うのもなんですがTemplerさんの親切丁寧な説明と知識には敬服いたします。ありがとうございました。
オフライン
もうだいぶ前の話ですが、このトピックの趣旨「ibusのアイコンが表示されなかったりすることがある」問題は、バグ報告が上がっていて「im-switch(インプットメソッドの起動周りを管理するプログラム)のほうでインプットメソッドを10秒遅らせてから起動させる」という形で対処されました(昨年の11月に更新されています)。
https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/875435
ですので、ここで行われた対策は全て不要になりました(※1)。よって、このトピックを参照して対策された方はその設定を元に戻してください。
nobu_usさんのように、ibus.desktopをシステムのほうに置いた場合は、rmコマンドを使用して削除してください。
sudo rm /etc/xdg/autostart/ibus.desktop
※1 まだ、Ubuntuのシステムにバグらしきものが残っているかもしれませんので、100%回避とまではいかないかもしれません(12.04リリース当時に「ログアウトしてもプロセスが落ちない」という現象に何度か遭遇したことがあります。この状況ですとそのままセッションにログインしてもibusは既に起動されていますのでアイコンは表示されません)。ですが、「 ibus-daemon -rdx 」を実行すれば表示されるはずですので、これを「Alt+F2」キーを押して立ち上がるランチャーや「端末」で実行するようにしてください。
それはそれとして、結果的に話がずれることになってしまいますが、nobu_usさんの件は私の勘違いがありました。
英語環境でもibusは起動しているものと思い込んでしまったのですが、調べてみたらデフォルトでは起動しないようになっていました。
その大本がibusパッケージのインストールスクリプトにある以下でした。
〜省略〜
ua_inst () {
update-alternatives \
--install /etc/X11/xinit/xinput.d/$1 xinput-$1 \
/etc/X11/xinit/xinput.d/$2 $3 ;
}
case "$1" in
configure)
#ua_inst all_ALL ibus 0
ua_inst ja_JP ibus 60
ua_inst ko_KR ibus 60
ua_inst zh_CN ibus 60
ua_inst zh_TW ibus 60
ua_inst zh_HK ibus 60
ua_inst zh_SG ibus 60
rm -f /etc/xdg/autostart/ibus.desktop
;;
〜省略〜インプットメソッドのシステムワイドな登録はパッケージ管理システムのalternativesという機能でリスト化されます。ここにあるja_JPが日本語といった感じでそれぞれのリストにibusを追加しています。ユーザーレベルでim-switch(フロントエンドの「言語サポート」も含む)を使用した場合は全てのインプットメソッドから指定可能なようですが、システムワイドとなるとalternativesに準じます。
で、all_ALLというのが「全ての言語」にあたるもので、私はこれが有効になっているのだろうと思い込んでしまったんですが、上記コードのようにここはコメントアウトされていて処理されていませんでした(コメントアウトされていなかったとしても、プライオリティーが0では「default」よりも下なので起動はしないのですが…。なので、何でコメントアウトされているのかが微妙に気にはなります。軽く検索してみましたがこれといったものは見つかりませんでした)。
つまり、英語環境では起動していませんので、#6だとそれ以前の問題ですし、#16の方法もim-switchを介して起動されていませんので、実はFirefoxなどのGTK+2.0アプリでは日本語を入力できないといったことが起こっていたかと思います(そのはずなのですが…)。
なので、根本をやり直します。
まずは下記コマンドを実行してみてください。alternativesの登録状況を確認できます。
update-alternatives --display xinput-ja_JP update-alternatives --display xinput-all_ALL
im-switchではユーザー設定込みの確認をすることができます。
im-switch -v -l im-switch -v -z ja_JP -l im-switch -v -z en_US -l im-switch -v -z all_ALL -l
新たに登録するには次のコマンドです。
sudo update-alternatives --install /etc/X11/xinit/xinput.d/all_ALL xinput-all_ALL /etc/X11/xinit/xinput.d/ibus 60
プライオリティーを60にして登録しますが、メンテナースクリプトにあわせて0にする場合は「 sudo update-alternatives --config xinput-all_ALL 」を実行して、手動で「ibus」を有効にしてください。
登録を解除するには以下のコマンドです。
sudo update-alternatives --remove xinput-all_ALL /etc/X11/xinit/xinput.d/ibus
(all_ALLはibusパッケージのアップデートでも自動的に解除されます)
なお、これが有効なのはインプットメソッドの起動管理にim-switchを使用しているUbuntu 12.10までです。13.04以降はim-configというプログラムに移行しましたのでこの方法は通じなくなります。その環境では(13.10以降のGNOME系、つまりUnityやGNOMEでは英語環境でもibusが起動していると思いますが)、「 sudo im-config 」を実行してibusを選択すればシステムワイドなデフォルト設定になります。
オフライン