複数の執行者を配置しないでください!

複数の執行者を配置しないでください!

Xの起動時にURXVT端末を起動するようにDWM Archboxを設定しました。 .Xresourcesファイルを介してURXVTを目的の方法で設定しました。以下は私の.xinitrcです。

#! /bin/sh

exec xrdb -merge ~/.Xresources &
exec dwm &
exec ~/.fehbg &
exec urxvt 

Xが起動すると、.fehbg経由の壁紙は正しく表示されますが、端末には。

別の端末を開くと、.Xresources設定が正しく読み込まれ、目的の端末の外観と機能が得られます。

問題が何であるかを知っている人はいますか?

修正する:最後の実行者以外のすべての実行者を削除しても(dwmを最後に移動)、同じ問題が発生します。壁紙がロードされた後に追加され、sleep 1URXVTが正しくロードされました。これがなぜ機能するのか疑問に思います。

答え1

複数の執行者を配置しないでください!

~からアーチスウィキ:

exec を使用するコマンドの後に続く行は無視されることに注意してください。たとえば、xscreensaver をバックグラウンドで起動して openbox を起動するには、次のコマンドを使用します。

~/.xinitrc

...

xスクリーンプロテクター&

オープンボックスセッションの実行

実際、なぜあなたの設定が壁紙に適用されるのかはわかりませんが、execすべてを削除するとより良いと確信しています。また、exec dwm他のすべてを管理するメインプログラムなので、最後の行に入れてください。

これがあなたに見える外観です.xinitrc

xrdb -merge ~/.Xresources &
~/.fehbg &
urxvt &

exec dwm

編集する:xrdbわかりました。バックグラウンドで起動する必要はありません(&記号を使用&)。それ以外の場合はurxvt開くことができます。今後前の作業が完了しました。 (バックグラウンドプロセスがすべてそうだと思います)

urxvtそのため、削除するか、.xinitrc前に前面から実行してくださいxrdb。この場合、通常は完了するのに時間がかかるため、違いは感じられないため、悪くはありません(通常の操作端末を除く)。

関連情報