岩城です。

# 結果 #
ports/emacsのデフォルトオプションでエラーなく表示されるようになりまし
た。どうもありがとうございます。

# 行ったこと #
私のX環境はxinit起動のctwm/cshなので.xsessionはありません。そこで、.loginに

  eval `dbus-launch --csh-syntax`

を書きました。その後、一端logoutしてからloginし、xinitの後、xtermから
emacsを起動しました。

# 感想 #
上記の変更をしていないときは、Xを起動した後に

  dbus-launch --autolaunch=XXX --binary-syntax --close-stderr

で自動的に起動されているのが、psコマンドで確認できました。変更後はdbus-
launchは確認されません。dbus-launchの自動起動は、環境変数
DBUS_SESSION_BUS_ADDRESSが設定されていないためのようです。ひょっとした
ら、このとき指定されている--binary-syntaxを--csh-syntaxや--auto-syntaxに
できれば、今回の小細工なしでも大丈夫なのかもしれません。今回の対応法は、
「それなりに早い時点で予め環境変数DBUS_SESSION_BUS_ADDRESSを設定すること
によって、変なオプションでdbus-launchを起動させない」ということかな、と
思っています。でもこれではユーザーごとに対応が必要になるので、dbus-
launchの自動起動時のオプションを変更できれば良いのになぁ、と思っていま
す、が、なかなかこれが、、、


以上、
根本的にどうすれば良いのかはわかりませんが、応急処置はできました。
ありがとうございました。


(2012/10/23 2:49), kenchan wrote:
> kenchanといいます。
> 
> GLib-WARNING 〜のメッセージで以前検索をしたときに、以下のようなコマンドを
> .xsessionに入れて解決した覚えがあります。
> 
> eval `dbus-launch --sh-syntax`
> 
> Xをcsh系なら次のようにすれば良かったと思います。
> eval `dbus-launch --csh-syntax`
> 
> 会社のマシンなので、もしかしたらパンチミスしているかもしれませんが...
> 
> 上記のコマンドを実行するとメッセージも出力されなかったと思います。
> 
> 何となくの記憶では、emacs-23の頃はメッセージだけが出力されていて、
> fvwmは固まらなかったと思います。
> emacs-24に上げたとたんに、メッセージも出力されるしfvwmも固まるし...
> 
> 参考にしてみてください。
> 
> Mamoru Iwaki wrote:
>> 岩城です。
>>
>> #何年ぶりかの投稿です。
>>
>> 8.3-STABLE r241625 amd64で、portsからemacsをインストールして来ました。
>> いつからかは忘れましたが、私も皆さんと同様の症状になっています。
>>
>> (2012/10/04 15:28), Akihiro HIRANO wrote:
>>> (2012/10/04 12:57), Hisao Osawa wrote:
>>>> たかの様、情報ありがとうございます。
>>>> DBUS,GCONF,GSETTINGをオプションから外してemacsをportsからインストール。
>>>> hald,dbusも非起動
>>>> という条件では少なくとも問題は起こらなくなったようです。
>>>
>>>  おお!と思って、DBUS,GCONF,GSETTINGをオプションから外して
>>> emacsをportsから再インストールしたところ、問題は収まりました。
>>> halやdbusは何も変更しておりません。
>>
>> 私も試してみました。haldとdbusは起動しています。
>>
>> Case 1) デフォルトからGCONF,GSETTINGを外すと、
>>     warningなど表示されずにemacsが起動しました。
>>
>> Case 2) デフォルトからGSETTINGを外すと、
>>     下記と同様のwarningが表示されますがemacsは起動しました。
>>
>> (2012/10/04 12:57), Hisao Osawa wrote:>
>>>> From: "Hisao Osawa" <osawa.hi...@nikon.co.jp>さん
>>>>> (emacs:28579): GLib-WARNING **: In call to g_spawn_sync(), exit
>> status of a child process was requested but SIGCHLD action was set to
>> SIG_IGN and ECHILD was received by waitpid(), so exit status can't be
>> returned. This is a bug in the program calling g_spawn_sync(); either
>> don't request the exit status, or don't set the SIGCHLD action.
>>
>>
>> DBUSはデフォルトのままで有効にしてあるので、DBUSは無実かなと思います。
>>
>>
>> #残念ながら修正パッチを作れるほどの理解はありません。m(__)m
>> #portsがフリーズされる前に誰か何とかして〜(^^;
>> ---
>>

-- 
-----
Mamoru Iwaki
Japan

メールによる返信