2015年10月4日 星期日

解決「透過 SSH 連線,開啟遠端『圖形化用戶介面(GUI)』程式』失敗的問題

依前文〝透過 SSH 連線,開啟遠端的「圖形化用戶介面(GUI)」程式〞開啟「遠端電腦」的「圖形化用戶介面(GUI)」程式,卻出現錯誤訊息。
[SiB@Celeron-D ~]$ ssh 192.168.10.17 -p 5566 -X
SiB@192.168.10.17's password:
X11 forwarding request failed on channel 0
Last login: Sun Oct  4 11:18:10 2015 from 192.168.10.13
[SiB@Core-i7 ~]$ pluma

(pluma:6316): Gtk-WARNING **: cannot open display: 
由於「遠端電腦」已經升級為 Fedora 22,因此可以判定問題出在「遠端電腦」SSH 服務的設定之預設值有修改所致。
  查一下 SSH 服務的設定檔 " /etc/ssh/sshd_config " ,其中的幾列與「圖形化用戶介面(GUI)」程式的畫面『重導』有關之參數,
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
其中,
  • 第一個參數為『允許 X11 的導向』,
  • 第二個參數是 X11 桌面編號的位移值,預設為 10,而
  • 第三個參數是『限制 X11 程式使用本地的桌面』,預設為『是』。
    :在「遠端電腦」上的 SSH 設定,故『本地』是指「遠端電腦」。
看來是第三個參數的問題,可是比較前幾版 Fedora 中 SSH 設定檔的預設值,這三列參數是一模一樣,怎麼會出問題?猜想是修改『程式』與修改『設定』的進度不一致。不去管它了,把第三個參數修改一下,
X11Forwarding yes
#X11DisplayOffset 10
X11UseLocalhost no
將設定檔存回,再重啟 SSH 服務,
[root@Core-i7 ~]# systemctl restart sshd.service
下次再用 SSH 登入時,就可以重導程式的畫面了。

注意:已連線的 SSH 一定要先登出,再登入剛才的設定才會生效。

已測試版本:

  • SSH 伺服器 (Server): Fedora 22
  • SSH 客戶端 (Client):  Fedora 20, 21

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)