wmctrl 用於遠端顯示

wmctrl 用於遠端顯示

如果我想使用 wmctrl 進行另一個顯示,那麼命令列是什麼?

像這樣的東西: su username -c "DISPLAY:50 wmtrl -r :ACTIVE: -b Switch,fullscreen" 不起作用

謝謝 - 我正在運行 ubuntu 12.04

答案1

上述命令無法執行的原因有很多。

  1. 應該是wmctrl,而不是wmtrl。

  2. 它應該是

           su -c command username
    

    代替su username-c command

  3. 有可能不是是其他使用者會話上的活動視窗。

  4. 但最重要的是,su它旨在切換 GUI 內當前文字視窗的用戶,而不是任何其他視窗的用戶。例如,蘇手冊狀態:

....當 su 在終端機視窗(即 GUI 中的純文字視窗)中使用時,只有該終端機視窗和從該視窗啟動的程式使用新使用者帳戶(例如 root)執行,.. 。

執行您想要的操作的正確方法是與其他使用者的 X 伺服器通信,但是所有 X 會話都配備了良好的配置。例如,如果您以使用者 A 身分登入ssh遠端計算機,則 B 必須允許您透過以下方式執行此操作:

     xhost +

然後你可以透過以下方式存取他的X會話

    export DISPLAY=:0.0 

現在你的命令,

     wmctrl -r :ACTIVE: -b toggle,fullscreen

將工作。

如果您只想與其他使用者共用終端,以便他可以看到您正在輸入的內容,那麼您應該安裝screen,使用 啟動會話screen,按轉義序列 Ctrl+A,然後給出兩個命令multiuser onacladd B。現在使用者 B 可以透過 加入您的螢幕會話screen -x A/

最後,你的問題似乎與一個有關multi seat arrangement。您真的處於以下情況之一嗎?如果是這樣,那麼在 OP 的標題中指定它可能是值得的,因為這需要了解不那麼頻繁的配置。

但無論如何,最有可能的(= 我沒有多席位安排來測試這一點),您可以透過與連接相同的方法來實現這一點ssh,除了在這種情況下用戶 B 必須發出命令:

     xhost +SI:localuser:A

授予您存取他的顯示器的權限。

相關內容