ディスプレイマネージャの代わりにbspwm
単純な設定ファイルを使用していますが、そこには単純なコマンドが1つしかありません。.xinitrc
exec dbus-launch bspwm
dmenu_run
たとえば、(sxhkd
ソースファイルの後に実行される)プログラムを起動するたびに、bspwmrc
プログラムの出力はXセッションを開始したttyに直接送信されます.たとえば、これを実行すると、メッセージを無視するのではなくttyにメッセージを書き込みます(私の理解では書くことができるファイル記述子はありませecho
ん)。echo
私を最も混乱させることはdmenu_run
。なぜ?
何よりも最悪のことは、一部のプログラム(たとえばw3m
)が出力を表示するだけでなく、X11セッションを終了した後もインタラクティブな状態を維持し続けることです。
なぜそしてどうこのようなことが起こりますか?どうやって予防できますか?
答え1
X11はこの方法で実行できますが、実際にはこのように実行してはいけません(または少なくともX11ディスプレイサーバーがファイル記述子を保持し、それを開始するすべての子プロセスと共有することを認める必要があります)。
気に入らない場合は、他のほとんどのようにセッションマネージャを介してXを起動するか、Xセッションのstdout / stderrをファイルにリダイレクトします。