標籤:
在os x系統下使用終端,比如iterm,ssh到Linux機器上,然後在Linux機器上使用gnuplot進行繪圖。
一、工程配置
我使用的是os x yosemite 10.10,去ssh RedHat Linux,下面的這些操作都是在這樣的前提條件下進行的。
1. mac os x系統安裝x11. 當你用os x系統的搜尋功能(control+space)試圖尋找x11的時候,會得到是否安裝x11的提示,選擇繼續,會被帶到線上商店會,下載XQuartz-2.7.7.dmg這個檔案,下載完畢安裝即可。x11現在已經不再os x裡面整合了,所以我們還得需要進行安裝。安裝完後不需要對x11進行任何配置,也不需要對os x系統做任何配置。
2. Linux系統開啟x fowarding功能
2.1 sudo vi /etc/ssh/sshd_config 進行下面的設定:
X11Forwarding yes
X11UseLocalhost no
不進行這樣的設定,或許在你登入的時候會得到提示 :X11 forwarding request failed on channel 0
2.2然後重啟ssh服務
sudo /etc/init.d/sshd reload
得到下面的輸出提示
Reloading sshd: [ OK ]
3. 從 os x登入 linux系統,你可以使用系統的終端或者iterm等
ssh -X [email protected]
這時os x系統上安裝的x11會被自動調起
4. 在ssh終端登入視窗下你可以在linux系統下工作了,鍵入命令
gnuplot
你會看到這樣的提示:Terminal type set to ‘x11‘
(配置成功前總是得到這樣的提示,gnuplot: unable to open display ‘:0.0‘ gnuplot: X11 aborted.)
試試命令plot sin(x),os x會出現一個新的視窗,它上面繪製了正弦曲線。
5.多說一些,為了更加方便,以後你還可以這樣在shell下執行gnuplot -persist -e "plot sin(x) ... ..."
6. 或許你的linux系統下沒有安裝X authority,請安裝sudo yum install xauth
二、一些搜尋的關鍵詞
1.也許你的機器環境和我使用的機器環境不盡一致,可能你那裡多安裝了或者少安裝了什麼,我並沒有確定這些。按照上面給出的這些操作,出現問題會是在所難免的。出現問題還是要解決的,這裡給出一些搜尋字詞,建議使用Google,這些資料在百度上還是很難搜到的:
tunnel X over ssh from OS X Unix terminal to login far_away_machine (a Linux server)
SSH X11-Forwarding sshd_config檔案 “xorg-x11-xauth”軟體包 export DISPLAY=:0.0 DISPLAY環境變數set-up X11 Forwarding over ssh x-server x 視窗系統
2.還有一些好的部落格資料,以這些資料為入口,你可以快速的檢索出更多的資料,免得你大費周折的去尋找他們:
http://www.cyberciti.biz/faq/how-to-fix-x11-forwarding-request-failed-on-channel-0/
http://www.wenzk.com/archives/888
http://dyhr.com/2009/09/05/how-to-enable-x11-forwarding-with-ssh-on-mac-os-x-leopard/
http://www.linuxidc.com/Linux/2013-06/86743.htm(這個在講解原理+實踐,雖然是windows版的,但是很值得參考)
http://www.360doc.com/content/10/0519/15/1242710_28400112.shtml
http://www.seas.upenn.edu/cets/answers/x11-forwarding.html
https://kb.iu.edu/d/bdnt
http://www.cyberciti.biz/faq/apple-osx-mountain-lion-mavericks-install-xquartz-server/(貌似是apple社區的文檔)
三、原理
下面是我自己對原理的一些見解:
mac os x ssh to linux 使用 gnuplot