歡迎您光臨本站 註冊首頁

通過 SSH 運行遠程主機上的 X 程序

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

有童鞋在 AskWowUbuntu 上提出了這樣一個問題,要求能遠程控制主機運行上面的程序,而且不影響遠程主機用戶的使用,兩者互不影響。個人認為如果只是想運行其中某一軟體的話,通過 SSH 的 X11forwarding 功能來執行是最簡單方便的,所以把方法寫在了這裡。

1 在遠程 Ubuntu 主機上安裝 OpenSSH Server

sudo apt-get install openssh-server

確認 /etc/ssh/sshd_config 文件中的 X11Forwarding 為打開 (Ubuntu 上安裝后默認是打開的,所以一般不用做調整。)

X11Forwarding yes

如果遠程主機沒有裝 X 的話,只需要安裝 xauth 組件就可以了。

sudo apt-get install xauth

2 好了,現在就可以在本地主機上執行以下命令可以運行遠程主機上的 X 程序了,記得更改裡面的 username , hostip 及 app-name 為你的參數。

ssh -XC username@hostip app-name

X 表示啟用 X11 轉發,C 表示啟用 gzip 壓縮。或者也可以用 -Y  參數 (ssh -YC username@hostip app-name ) ,- Y 表示用 Trusted X11 forwardings (信任連接)方式 [參考]。

- 樣例:比如我要運行遠程主機上的 VirtualBox

ssh -XC riku@192.168.1.2 VirtualBox

當然,運行的時候,調用的文件都是遠程主機上的。

[ FAQ ]

1 能不能不要每次都輸入密碼?

利用 Key 認證方式。輸入命令 ssh-keygen 后一直回車產生 SSH key (公鑰/密鑰),然後 ssh-copy-id username@hostip 來上傳公鑰,下次就不用輸入密碼可直接登錄了。

2能不能不用每次都輸入命令?

可以在桌面上創建一個快捷方式,其中類型必須選擇為終端應用程序,命令部分就為 ssh -XC riku@192.168.1.2 VirtualBox 這樣的。以後就可以直接點擊桌面圖標來運行遠程主機上的程序了。



[火星人 ] 通過 SSH 運行遠程主機上的 X 程序已經有853次圍觀

http://coctec.com/docs/linux/show-post-65594.html