SSH的X11 Forwarding功能提供了一個非常好的方法,在你的本地主機上執行遠程主機的GUI程序。比如你的開發環境可能是CentOS,你需要在CentOS下編碼。但你的工作環境可能是Ubuntu,你在Ubuntu下收發郵件,瀏覽網頁。你當然可以使用CentOS同時作為你的開發與工作環境,但你將不得不忍受CentOS陳舊的桌面系統及用戶體驗。你也可以通過SSH遠程登錄到你的CentOS系統,然后使用CLI程序(如Vim)完成你的工作,但如果能使用更方便的GUI程序時(如Eclipse),為什么不呢?現在我們來看看如何實現在Ubuntu上遠程執行CentOS主機的GUI程序Eclipse。
1. 術語簡介
Linux下執行一個GUI程序通常需要兩個部分來協調完成,X server與X client。X server是專門負責顯示用戶界面的,它管理你的顯示器,鍵盤以及鼠標,通常你看到的桌面系統即是由它在背后驅動的,X client則負責程序的邏輯,如果需要使用用戶界面,則通過給X server發送請求來完成。通常情況下,X server與X client都運行在同一臺機器上,例如我們在Ubuntu上運行任何GUI程序都是這樣的。但因為X系統當初設計成是通過socket在X server與X client之間通信的,所以它們也可以運行在不同的機器上。
X11 Forwarding就提供了一個方法,在遠程機器上執行X client程序(如Eclipse),但是在本地機器上顯示(即運行X server)。
x11轉移。2. 遠程CentOS主機配置
你需要在你的遠程CentOS主機上配置OpenSSH服務,啟用X11 Forwarding。在OpenSSH的配置文件中(/etc/ssh/sshd_config),打開如下兩項:
AllowTcpForwarding yes
X11Forwarding yes
CentOS 5.x系列這兩項是默認打開的。如果沒有的話,打開這兩個選項,然后重啟sshd服務。
x11編程。注意:
使用X11 Forwarding并不需要在遠程主機上運行桌面系統,即執行startx。
使用X11 Forwarding需要安裝rpm包xorg-x11-xauth,如果你在安裝CentOS系統時,選擇了安裝X Window System,那這個包是默認安裝的。
yum -y install xorg-x11-xauth xclock
#xclock 是用來測試gui輸出的 /etc/init.d/sshd restart
shell ssh、3. 本地Ubuntu主機配置
在Ubuntu桌面下,已經有X server在運行了,所以不需要任何配置,只需打開終端,然后執行如下ssh命令登錄遠程CentOS:
ubuntu:~# ssh -X [email?protected]
登錄進以后直接運行eclipse就可以了。
centos:~# eclipse
linux7、其他設置
在Ubuntu桌面下,對OpenSSH-Client的配置文件(/etc/ssh/ssh_config)修改,打開如下三項:
ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes
linux。同時允許遠程連接
xhost +
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态