キーボードとマウスを通常の作業モード(QEMUなど)として使用するXアプリケーションがあります。通常、リモート端末でアプリケーションをシャットダウンしますkill(1)
が、アプリケーションがディスクスリープモードにある場合は、実際にシャットダウンできません。ユーティリティを使用すると、Xサーバーへのアプリケーションの接続を切断できますが、今回はマウスがキャッチされて実行されないため、xkill
そうすることはできません。xkill
したがって、このクライアントを犠牲にすることを望んでいるが、オペレーティングシステムを介してクライアントをシャットダウンできない場合、Xクライアントがプリエンプションしないようにキーボードとマウスをどのようにオフにできますか?
ベストアンサー1
最もよく知られている使用モードは「クリックして終了」ですが、Xサーバーとの接続を切断したいクライアントのウィンドウIDを提供するxkill
オプションがあります。-id
その後、リモート端末/ VTからXセッションにアクセスできる場合は、xprop
別の方法でIDを取得してくださいxkill
。
現在アクティブなウィンドウがキーとマウスをプリエンプトするXクライアントに属しているとします。次のコマンドは、Xサーバーへのクライアント接続を終了してキーボードとマウスを解放します。
winid=$(xprop -root _NET_ACTIVE_WINDOW | cut -d# -f2)
xkill -id $winid
これは、QEMUがディスクスリープモードにある間にグラブを取り外そうとしたときに実際に効果がありました。