ルートウィンドウを制御するプロセスを見つける方法は?

ルートウィンドウを制御するプロセスを見つける方法は?

ここで説明した方法を使用して、xscreensaverをデスクトップの背景/背景画面として実行しようとしています。https://wiki.archlinux.org/index.php/XScreenSaver#Animated_wallpaper最初のステップは、ルートXウィンドウを制御するプロセスを終了することですが、それがどのプロセスであるかわかりません。

ps aux | grep root理想的には、プログラム名を直接取得する方法(実際には役に立ちません)を学びたいです。そこから、プログラムが起動時に起動するのを防ぐか、ルートXウィンドウの制御権を主張する方法を見つけたいと思います。 。

しかし、Cinnamonのプログラムが何であるかをすぐに知っている人は問題を解決するのに役立つ可能性があります/usr/lib/xscrensaver/glmatrix -root

ベストアンサー1

ルートウィンドウはXサーバの特別なウィンドウです。リンクされたアプリケーションはありません。

ウィキペディアが間違って引用されました。ルートウィンドウここで。これが意味するのは、現代のデスクトップ環境でよく見られるように、ルートウィンドウを隠したり隠したりするウィンドウです。デスクトップ通常、フォルダの内容を表示するファイルマネージャによって実装されます~/Desktop

これらのxscreensaverウィジェットは、実際にはルートウィンドウの内容を更新することによって機能します。だから削除する必要があります。デスクトップそのウィンドウとルートウィンドウの上に表示される他のウィンドウを非表示にします。

ウィンドウマネージャを使用して、「デスクトップ」「ウィンドウタイプ」を登録したウィンドウのプロセスIDを参照できます。次のことができます。

xwininfo -tree -root |
  pcregrep -o '^\s+\K0x\S+' |
  xargs -n1 xwininfo -wm -id |
  pcregrep -Mo '(?s)Window type:\s+Desktop.*?Process id: \K\d+' |
  sort -u

xwininfo -treeすべてのウィンドウを一覧表示し、最初のものはpcregrepウィンドウIDを抽出し、2番目のxwininfoは各ウィンドウのWMプロパティ(ウィンドウタイプとpidを含む)を検索し、2番目はウィンドウのpcregrepPIDを抽出します。デスクトップウィンドウ)。

以下を実行することもできます。

xprop _NET_WM_PID

次にデスクトップをクリックします。でも:

xkill

その後、デスクトップをクリックしてウィンドウを終了します。

とにかく、いくつかの基本プロセス(ウィンドウマネージャなど)によって処理される可能性が高いため、ウィンドウ/プロセスを終了することは安全ではない可能性があります。

それに関する限りcinnamon、少なくとも Linux mint 18.1 cinnamon バージョンでは基本デスクトップ環境nemo(cinnamon ファイルマネージャ) であるように見えるので終了しても何の害もありません。

おすすめ記事