Waylandに切り替える前に、次のコマンドを使用してすべてのGNOME Shellウィンドウを最小化します。
wmctrl -k on
...しかし、両方ともX11専用のアプリケーションwmctrl
です。xdotool
GNOME Shell / Waylandセッションですべてのウィンドウを最小化するには、どのCLIコマンドを使用できますか?
引用:
- コマンドラインでウィンドウを最小化できますか?(Ubuntuに聞いてください)
答え1
修正する
残念ながら、セキュリティ上の理由で、Gnome 41では動作しなくなりました。
Looking Glassで実行すると、global.context.unsafe_mode = true
機能は再び有効になりますが、一時的にのみ可能です。
元の答え
のように私の他の答えはwmctrl
、gdbus
GnomeでGJSを使用してこれを行うことができます。
gdbus call \
--session \
--dest org.gnome.Shell \
--object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval \
"global.get_window_actors().forEach(w=>w.meta_window.minimize())"
答え2
私はPlayground ManjaroシステムとGNOME3 / Waylandで動作する解決策を説明します。他のディストリビューションでは、プロセスが若干異なる場合があります。
それほど完璧ではありません。私が想像したようにしかし、うまくいきます。
簡単なマルチツール
ydotoolはxdotoolとは異なる動作をします。 xdotoolはXイベントをXサーバーに直接送信しますが、ydotoolはLinuxカーネルのuinputフレームワークを使用して入力デバイスをシミュレートします。
- インストールするディストリビューションに応じて -尿素尿の割合、Ubuntu、ダーバンなど
- 正しく行う必要があるかもしれません。アクセス権の設定
/dev/uinput
ユーザーがデバイスにアクセスできるようにします。この場合、ユーザーをusers
グループに追加し、udevルールファイルを作成します。
ユーザーグループに自分を追加:
usermod -a -G users $USER
/etc/udev/rules.d/80-uinput.rules
ファイルの作成次のコンテンツが含まれています。
KERNEL=="uinput", GROUP="users", MODE="0660", OPTIONS+="static_node=uinput"
あなたはする必要があります
/usr/bin/ydotoold
ソケットリスナーの起動。テスト目的で手動で起動しますが、必要な場合もあります。自動起動これログインするとき。GNOME 3では、「すべての一般的なウィンドウを隠す」のキーボードショートカットを設定できます。移動
gnome-control-center
、キーボードショートカット、航海、すべての一般的なウィンドウを隠す。たとえば、このショートカットをSuper+に設定しますD。すべてが期待どおりに機能したら、次のコマンドを使用してすべてのGNOME / Waylandウィンドウを最小化できます。
ydotool key Super+D
タイプ
別のアプローチは次のとおりです。タイプ。他のアプローチを使用し、キーボードイベントをシンセサイザに直接提供するようです。問題は、GNOMEのネイティブシンセサイザーを使用してこれを行うことができないことです。つぶやく。おそらく制限事項に関連している可能性がありますXウェイランドしかし、私はそれについて確信していません。私が得るのはエラーだけです。
シンセサイザーは仮想キーボードプロトコルをサポートしていません。
答え3
TL; DRはまだできます。
xdotool
X11 APIを使用しているため、Waylandでは実行できませんが、デスクトップwmctrl
環境自体と対話することは可能です。したがって、X11 APIを必要とするコマンドが機能しなくても、wmctrl
Waylandセッションではまだ多くのコマンドを使用できます-k on
。
GNOME Shell 3.30.2および1.07を使用してwmctrl
Arch Linuxでテストされました。