Tmux
如何從我的系統範圍的終端連接到 xserver?
我目前正在嘗試使用機器人作業系統 ( ROS ) 製作自主無人機。為此,我在Rasperry Pi 3上安裝了****Raspbian Lite ( Jessie ),目前正在使用ROS Kinetic。因為它是Raspbian Lite,所以安裝時沒有附帶視窗管理器或桌面環境。為了方便起見,我決定使用Openbox Window Manager並在其上安裝了一個終端。我可以打電話,然後打開視窗管理器,可以通過. 由於是全系統終端,所以我也安裝了tmux
sudo startx``Ctrl + alt + F2
為了方便。我在特定窗格上執行 xserver 並在其他窗格上執行我的 ROS 工作。現在,當我嘗試從系統範圍的終端執行呼叫 GUI 應用程序的命令時,出現錯誤:
QxcbConnection: Could not connect to display Aborted
現在有兩種方法可以解決這個問題:
- 由於我的視窗管理器中安裝了一個終端,我應該讓 ROS 處理這個嗎?但是,我不知道如何在視窗管理器中更改終端仿真器的環境,使其與系統範圍終端上的環境相同。換殼就這麼簡單嗎?
- 實際上找到一種方法將我的 GUI 應用程序發送到目前正在執行命令的 tmux 窗格
sudo startx
。如何將程序的父程序切換到另一個父程序?注意:我肯定更喜歡第二種解決方案,因為它對我的工作流程來說更加優雅和高效。
在 GUI 環境的終端中,鍵入:
xhost +
在非 GUI 環境中,鍵入:
export DISPLAY="localhost:0"
然後,您從非 GUI 環境啟動的圖形應用程序將顯示在 GUI 環境中。
您可以閱讀更多內容
man xhost
另請參閱以下答案:此
xhost …
命令做什麼?