vine-users ML アーカイブ



[vine-users:074809] Re: Fluxbox のバージョンアップに際し て

  • From: 加藤 雅 <mkato@xxxxxxxxxxxxx>
  • Subject: [vine-users:074809] Re: Fluxbox のバージョンアップに際し て
  • Date: Tue, 11 Jul 2006 22:53:58 +0900
加藤(大阪)です。

Mon, 10 Jul 2006 18:54:21 +0900 付
Seiichirou Babasakiさんのメールより:

> ウィンドウマネージャーFluxboxを愛用する馬場崎です。

パッケージャです。今回も貴重なご意見有難うございます。

> いやそれにしても、なかなか楽しくなってきました。いよいよバージョン1.0も
> 間近な感じですね。

ええ、いよいよ、ですね。
現在の安定版は既にメンテナンスされなくなって久しいですから、ユーザー待望
の「新・安定版」間近、なんかワクワクして来ます。

> ■引っかかりポイント
> *セッションがすぐに終了してしまう???
> → 以前のTipsで作った ~/.fluxbox/startup(755)というファイルが存在しているため
> 
> これは、今回のドキュメントを詳しく読むと分かりますが、
> ~/.fluxbox/startup(755) を使ってfluxboxが起動するように変わりました。
> その為、以前(割と古い)のTipsに従って、起動時に実行したい(Dock)アプリケーション
> を記述した~/.fluxbox/startup(755)を作成し、これを ~/.fluxbox/init の
> rootCommand 行で指定して実行するような環境ですと、今回の新しいFluxbox起動の為
> の~/.fluxbox/startupファイルが作成されず、従ってfluxboxが起動せずにセッション
> が終了してしまうため、このようなエラーになります。

これは、馬場崎さんはお分かりなのだと思いますが、誤解の無いように捕捉しま
すと、「~/.fluxbox/startup というファイルが存在しているため」というよ
り、「その実効最終行でfluxbox を起動する」という、「startup 本来の使い
方」がなされてなかった為、と言うべきかと思います。

X が起動され、(馬場崎さんの) startup が実行され、そこから呼び出されたコ
マンドやスクリプトがすべて終了した時点、つまり startup スクリプトが終了
した時点で、X も終了した、という事だと思います。

X 上で実行されているクライアントが全て終了した為 X も終了した、という事
で、システム側から見れば、「エラーではなく正常終了」、であり、期待通りに
作動しなかったのは、強いて言えば「クライアント側のバグ(今の場合
startup の記述ミス)」で、呼び出されもしなかった fluxbox は、何の関係もな
い、と言うことになりそうです。

試しに、馬場崎さんの、元の startup の実効最終行に、
    「exec xterm」や「emacs ~/.fluxbox/startup」
等、対話的にしか終了できないコマンドを書いておけば、それら(xterm 又は
emacs) を終了させた時点で startup も終了し、X も終了するのがわかると思い
ます。(この場合、ウィンドウマネージャは起動していないので、ウィンドウの
移動等の操作は出来ません)

ひとつ気になるのは、「以前のTipsで作った」、「以前(割と古い)のTipsに従っ
て」と書かれてる「Tips」はなにを差してられるのでしょうか?
パッケージに添付したドキュメントで「~/.fluxbox/startup」にふれたのは、今
回が最初だと記憶してるんですが?

> まずは startup => startupApp などとリネームし、新しい startup ファイルを
> 得てください。新しい startup ファイルを読むと、背景設定や起動時に使用したい
> アプリケーションの登録例がコメントアウトされていることが分かるはずです。
> 起動時に実行したいアプリケーションをここに & 付きで並べるもよし、先に
> リネームした startupApp を実行するように書き込むのも良いでしょう。スタイル毎に
> 背景を変える必要が無ければ、startup ファイルで「最後の壁紙を表示する
> スクリプト」を書いたり、パターンで埋めつくしたりといった事も自由自在です。
> (それぞれのStyleファイルのコメントアウトされた元のrootComand の内容を利用する
> こともできますね)
> (私のお気に入りはfbsetroot -mod 5 5 -fg rgb:62/70/85 -bg rgb:52/60/75 です)

おっしゃる通り、~/.fluxbox/startup をカスタマイズする事で、fluxbox 起動
時の初期設定をカスタマイズする事が出来ます。
注意していただきたいのは、startup は fluxbox 起動前に呼び出され、startup
スクリプト内で、「最後に fluxbox を起動する」必要が有る、という事です。

言い替えれば馬場崎さんの場合なら、従来使われていた startup の最終行に、
    exec /usr/bin/fluxbox
を、追加するだけで良かったと思えます。

> ■引っかかるかもしれないポイント
> *スタイル後方互換Vineツールを使おうとすると文字化けして読めない??
> →ターミナルのエンコードをUFT-8にする必要があります
> 
> これも今回のドキュメントを読む必要があります。
> 「UTF-8 対応強化」に関連してと思われますが、
>  /usr/share/fluxbox/change-init_rootcmd がUTF-8 で記述されています。
> メニューからでは無く、事前にエンコードを変更したターミナルから利用する方
> が良いでしょう。「エンコードの指定がよくわからない」という向きには
> mlterm を使って、ターミナル上で[Ctrl]+[右クリック]でGUIなメニューが出ます
> のでエンコードを変更してからchange-init_rootcmdをフルパスで実行します。

メニューが文字化けする、という意味なら、「メニュー再作成」を実行していた
だければ、直ると思います。
(「メニュー再作成」後に) [Vineツール]-[Style旧書式有効/無効]メニュー実行
後のメッセージが文字化けしてしまうのは、これはまったくのパッケージングミ
スです。
パッケージングの段階で、どこまで UTF-8 化するかを模索中に UTF-8 化した
メッセージを、 eucJP に戻し忘れてしまっていました。申し訳有りません。
なるべく早く対処します。

これとは別に fluxbox -h も、UTF-8 非対応ターミナルでは文字化けしますが、
こちらの方は fluxbox 内部メッセージと一体で単一文字コードを要求される
為、馬場崎さんの言われるように mlterm、gnome-terminal、 konsole 等の
UTF-8 対応ターミナルで見ていただくか、$ LANG=C fluxbox -h で、英語メッ
セージを見ていただくしか有りません。

> ※個人的にはもっと豪快に、~/.fluxbox/init の rootCommand 行を(空)にして、
> ~/.fluxbox/に change-rootcmd や mk-rootcmds があれば削除してしまう事を
> お薦めします。特に自分用のスタイルを自作して利用しているケースでは、
> 今回から無理に rootCommand を使って背景を設定する必要が無くなったので、
> そうしたものをすっかり ~/.fluxbox/startup に任せてしまう方が簡単に
> 思えるからです。

上記 [Vineツール]-[Style旧書式有効/無効]メニュー実行後、[設定再読み込
み] する事で「~/.fluxbox/init の rootCommand 行を(空)に」する事が出来る
のはご存知でしょうか?
無効にした場合、~/.fluxbox/ 以下の スクリプトを init が拾う事は有りませ
んので、削除する必要も有りません。
また、上のメニューを再実行する事で、元に戻す事も可能です。

> ※また、忘れてはならない事として (fluxtips.htmlに書かれています)
> change-rootcmd : (/usr/share/fluxbox/change-rootcmd)は、
> 『該当するスタイルファイル内に背景設定コマンドが無い時は、
>  背景を黒で塗りつぶします』
> という動作をします。これは ~/.fluxbox/startup より後に実行されるため
>  ~/.fluxbox/startup で指定した背景が上書きされることになります。
> (実は私は忘れていました……汗 ^-^;)
> ( 「なんで急に真っ黒になったんだろう」と焦ってしまいました)

これはおっしゃる通りですし、startup と change-rootcmd を併用する時(つま
り上記メニューから [Style旧書式有効/無効] を有効にしている時)は注意して
いただきたい事柄です。

ただ、この場合、style ファイルの rootCommand で実行できるのは「背景設定
コマンド」限定では有りません。そこからアプリケーションやスクリプトを実行
する事も可能ですので、「背景設定は startup で」、「style ごとの初期設定
は style ファイルで」という使い分けも可能です。

> なんだか ~/.fluxbox/startup を使って『前回最後の壁紙を表示する環境』とか
> 作ったら楽しそうだな、などと考えていたりします。

「fluxbox-generate_menu -B」 と、「~/.fluxbox/lastwallpaper をテキスト
処理したもの」を使えば、面白いのが出来そうですね。
-B オプション、デフォルトにしたくなって来ました。

現在 1.0rc2 をテスト中です。こちらは、
    Native Language Support:
と、メニュー廻りを eucJP に戻さなければいけない模様です。
1.0 誕生前の産みの苦しみ・・・。

-- 
加藤 雅 <mkato@xxxxxxxxxxxxx>
	http://add10.hp.infoseek.co.jp/rox/