ウィンドウマネージャ起動の不具合(?)
Posted: 14/04/28(月) 12:48
お世話になります。
Presice Puppy 571JPにIceWM、Openbox、Fluxbox等のウィンドウマネージャ
及び、デスクトップ環境としてXfce4を入れ、それらを切り替えて、使用しています。
各環境に合わせた設定で起動させるために、/root/.xinitrcを確認していたところ、
ウィンドウマネージャ起動で不具合と思われる箇所を見つけました。
.xinitrcの最後の方(201行目以下)で$CURRENTWMを評価して、コマンドの有無、実行ファイルの有無
を確認後、両方否定された場合にjwmを起動するように書かれていると思います。
しかし、$CURRENTWMの基になる/etc/windowmanagerファイルの書き換えを行っていません。
これでは、否定された/etc/windowmanagerの記述のままjwmが動いてしまいます。
/usr/bin/wmreboot
/usr/bin/wmpoweroff
/usr/bin/wmexit
等のスクリプトに於いて、/etc/windowmanagerを読み込んでいることを考えると、
これでは、正常に動作しないのではないかと思います。
試しに、プロンプトで xwin aho と、存在しないウィンドウマネージャを指定して
実行したところ、jwmが起動し、/etc/windowmanagerの記述は aho になっていました。
メニューのシャットダウンから「コンピュータを再起動」「コンピュータの電源を切る」
「プロンプトに戻る」「Xサーバをリスタート」を選んでも動きませんでした。
対症療法としては、exec jwm の前に
echo -n "jwm" > /etc/windowmanager
として、これから起動するウィンドウマネージャを記述しておく方法が考えられます。
(あるいは、xwinで書き込む前に引数の評価をするとかでしょうか)
なにぶん素人なので、私の考え違いとも思いますが、ご確認いただければ幸いです。
Presice Puppy 571JPにIceWM、Openbox、Fluxbox等のウィンドウマネージャ
及び、デスクトップ環境としてXfce4を入れ、それらを切り替えて、使用しています。
各環境に合わせた設定で起動させるために、/root/.xinitrcを確認していたところ、
ウィンドウマネージャ起動で不具合と思われる箇所を見つけました。
.xinitrcの最後の方(201行目以下)で$CURRENTWMを評価して、コマンドの有無、実行ファイルの有無
を確認後、両方否定された場合にjwmを起動するように書かれていると思います。
しかし、$CURRENTWMの基になる/etc/windowmanagerファイルの書き換えを行っていません。
これでは、否定された/etc/windowmanagerの記述のままjwmが動いてしまいます。
/usr/bin/wmreboot
/usr/bin/wmpoweroff
/usr/bin/wmexit
等のスクリプトに於いて、/etc/windowmanagerを読み込んでいることを考えると、
これでは、正常に動作しないのではないかと思います。
試しに、プロンプトで xwin aho と、存在しないウィンドウマネージャを指定して
実行したところ、jwmが起動し、/etc/windowmanagerの記述は aho になっていました。
メニューのシャットダウンから「コンピュータを再起動」「コンピュータの電源を切る」
「プロンプトに戻る」「Xサーバをリスタート」を選んでも動きませんでした。
対症療法としては、exec jwm の前に
echo -n "jwm" > /etc/windowmanager
として、これから起動するウィンドウマネージャを記述しておく方法が考えられます。
(あるいは、xwinで書き込む前に引数の評価をするとかでしょうか)
なにぶん素人なので、私の考え違いとも思いますが、ご確認いただければ幸いです。