3

現在フォーカスされているウィンドウ名を出力するプログラムを作成し、それが gnome-terminal の場合は、現在の gnome-terminal タブ内で実行中のプログラムを出力します (たとえば、vim セッションが実行されている場合は vim)。

現在フォーカスされているウィンドウ名を取得するには、次を使用しました。

xprop -ルート | grep "_NET_ACTIVE_WINDOW(WINDOW)"

xprop -id 0x220ad5a | grep "WM_CLASS(STRING)"

現在のウィンドウが gnome-terminal の場合、これは「gnome-terminal」を返します。

しかし、gnome-terminal 内 (より正確には、現在の gnome-terminal タブ内) で実行されているプログラムを見つけるにはどうすればよいでしょうか? dbus の使用を考えましたが、gnome-terminal はサポートしていないようです。

4

3 に答える 3

0

ありがとうアダム!私はほとんどそこにいます。xprop を使用すると、gnome-terminal (6736) の PID を取得できます。しかし残念なことに、すべての gnome ターミナル ウィンドウとタブに対して 1 つのプロセスしかありません。2 つの gnome ターミナル ウィンドウが開いている次の pstree 出力を参照してください。

 -gnome-terminal(6736)-+-bash(6738)---vim(6780) 

  |                    |-bash(7026)---pstree(7045) 

  |                    | `-{gnome-terminal}(6740) 

現在開いている gnome-terminal タブの bash pid を調べる方法はありますか?

于 2010-01-24T13:08:16.143 に答える
0

gnome 端末の PID を取得し、どのプロセスがこの番号を PPID として持っているかを確認します。

数日前に非常によく似た質問に回答しました。詳細については、このリンクを参照してください。

于 2010-01-24T12:12:13.737 に答える