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

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

ここで説明した方法を使用して、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 ファイルマネージャ) であるように見えるので終了しても何の害もありません。

答え2

タイトルが誤解を招く可能性があります。ルートウィンドウを見つけるには:

xprop -root | grep PID

この-rootフラグを使用すると、デスクトップクリックを省略し、grep PIDWMを使用してもルートウィンドウのPIDを見つけることができます。まあ、TWMではうまくいかないかもしれません。

私にとって、出力は次のようになります。

xprop -root | grep PID
I3_PID(CARDINAL) = 3134

ただし、このプロセスでは壁紙は設定されません。壁紙を設定するプログラムを終了することはできません。なぜなら、壁紙を設定してから終了するからです。 (ウィンドウマネージャを殺してはいけませんが、ニモを殺しても何の害もありません。)

Cinnamonで壁紙を無効にしてみることをお勧めします。

これが答えですLinuxの問題助けることができます:System Settings > Backgrounds > Settings > Picture Aspect 'No Picture'

それでも問題が解決しない場合は、デスクトップを無効にする必要があります。

man nemo説明する:

   --no-desktop
          Do  not  manage  the desktop — ignore the preference
          set in the preferences dialog.

そしてi3 FAQこのコマンドはnemoのデスクトップウィンドウを無効にします。

gsettings set org.nemo.desktop show-desktop-icons false

関連情報