如果我想使用 wmctrl 進行另一個顯示,那麼命令列是什麼?
像這樣的東西: su username -c "DISPLAY:50 wmtrl -r :ACTIVE: -b Switch,fullscreen" 不起作用
謝謝 - 我正在運行 ubuntu 12.04
答案1
上述命令無法執行的原因有很多。
應該是
wmctrl
,而不是wmtrl。它應該是
su -c command username
代替
su username-c command
有可能不是是其他使用者會話上的活動視窗。
但最重要的是,
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 on
和acladd B
。現在使用者 B 可以透過 加入您的螢幕會話screen -x A/
。
最後,你的問題似乎與一個有關multi seat arrangement
。您真的處於以下情況之一嗎?如果是這樣,那麼在 OP 的標題中指定它可能是值得的,因為這需要了解不那麼頻繁的配置。
但無論如何,最有可能的(= 我沒有多席位安排來測試這一點),您可以透過與連接相同的方法來實現這一點ssh
,除了在這種情況下用戶 B 必須發出命令:
xhost +SI:localuser:A
授予您存取他的顯示器的權限。