為什麼在阿里雲上部署了ROS2,透過ssh連線阿里雲後,啟動rqt,或者rviz2,無法展示出來呢?

两棵雪松發表於2025-01-18

這個問題本質上和ROS2關係不大,主要涉及到另外一個協議,叫X11。
伺服器,透過SSH,按照X11協議,可以將GUI介面傳輸到本機。 X11協議,提供了在圖形使用者介面(GUI)環境下,客戶端(如應用程式)與伺服器(通常是顯示硬體和作業系統的一部分)之間進行通訊的標準方式。
要使用X11進行介面傳輸,必須在客戶端和伺服器端進行設定。
1、在伺服器端(也就是阿里雲上),需要在ssh配置中,使能對X11的支援
1)vim /etc/ssh/ssh_config
2)在ssh_config中找到ForwardX11Trusted 選項,並開啟它
ForwardX11Trusted yes
3)儲存ssh_config並退出
4)重啟ssh

sudo service ssh restart
sudo systemctl restart ssh

2、在客戶端,如果你使用MobaXterm,預設是支援X11的。所以只需確保在建立SSH連線時勾選了“X11-Forwarding”選項。

相關文章