X Window と GNU Screen の相性がよくない
シナリオ
- X Window 立ち上げ
- 普通にGDMで「ログイン」などすればよい
- mlterm (または uxterm あたり)立ち上げ
- その中で GNU screen 立ち上げ
- GNU screen から detach & mlterm 終了
- ウィンドウ・マネージャの「X」ボタンとか,または GNU screen の
D (power detach) で
- ウィンドウ・マネージャの「X」ボタンとか,または GNU screen の
- X Window 終了
- ウィンドウ・マネージャから「ログアウト」など
- 再び X Window 立ち上げ
- 再び mlterm 立ち上げ
screen -xR
で re-attach- その中で OpenOffice.org でも xeyes でも何でもいいから X クライアントを起動
- 謎エラーに憤慨
$ xeyes No protocol specified Error: Can't open display: :0.0
GNU screen (の立ち上げたシェル?)が,「俺の生まれた頃と何もかも変わってしまった... 時代って奴は...」みたいに発狂するらしいね.私がいつも使う,とりあえずの解決策:
$ xhost +
(これは mlterm を立ち上げた後,古い GNU screen の起動前に実行する.)
Xサーバの認証機能を無効化するらしい.もう少し調べると xauth list
で表示されるクッキーを云々という情報が見つかるが,食わせるところで "erroro in locking authority file" とか言われて失敗しかしたことない... これは su した後にXクライアントを起動させようとしてはまる人がいるらしく,そのためには(localhostで ssh -X
が嫌な人向けに) sux とかあるらしいが,私の問題とは違うんだよな.
いつか xhost や xauth の正確な動作原理を知りたいものだが... X Window なんて DISPLAY=:0
しか知らないからなぁ.