Gui
有沒有辦法在沒有 gui 的情況下啟動 gui 應用程序?
我正在使用 Linux Mint MATE。我想在我的眼睛沒有辨識的情況下啟動一個 gui 應用程序。我嘗試了以下程式碼,該程式碼啟動應用程序並將其移動到另一個工作區,
wmctrl
並在啟動後立即啟動,但這不起作用。some_app_with_gui & wmctrl -r title -t 1 #move window to another workspace (Say I'm in workspace 0 now)
如此處所示,原因是在的視窗出現
wmctrl
之前執行。some_app_with_gui
所以解決方案是some_app_with_gui & sleep 0.8 wmctrl -r title -t 1 #move window to another workspace (Say I'm in workspace 0 now)
這實際上有效。
但是,使用此解決方案時,我的眼睛可以辨識視窗片刻(0.1 秒左右)。這真的很煩人,我想避免它。
有什麼解決辦法嗎?它不一定必須使用
wmctrl
. 任何其他命令都可以。請注意我不訪問視窗,即應用程序由腳本啟動並由腳本關閉,因此完全隱藏視窗是可以的。這個問題與標題相似的問題有何不同是
- 只涉及一台機器(與 SSH 無關)
- 並且我想在沒有 gui的桌面環境的機器上啟動 gui 應用程序。
您可以使用虛擬幀緩衝區 X 伺服器,
Xvfb
.例如:
Xvfb :99 & DISPLAY=:99 some_app_with_gui &
這會在完全虛擬的 X 顯示器上執行應用程序,在任何物理顯示器上根本看不到任何可見的存在。
Xvfb
通常是一個單獨的包,因此您可能需要使用發行版的包管理器來安裝它,然後再使用它。
為此,我個人使用了我自己的一個工具,叫做unwin。
就像telcoM answer一樣,但是自動等待和關閉 xvfb 的時間。
如果 xvfb 沒有準備好,它將等待它。一旦幀緩衝區上沒有程序執行,xvfb 就會自動關閉。