我有一個python代碼在名爲A的遠程計算機上進行一些計算。我通過名爲B的計算機上的ssh
連接到A上。 是否有方法在計算機上顯示圖形B'Matplotlib:遠程計算機上的顯示圖
回答
如果您在Mac OS X上使用matplotlib,則必須首先確保您使用的是基於X11的顯示後端之一,因爲本機Mac OS X後端無法導出其圖。選擇後端可以
import matplotlib
matplotlib.use('GTK') # Or any other X11 back-end
支持後端的列表來實現可以通過給use()
不正確的後端名獲得:matplotlib然後打印出錯誤消息,列出了可能的後端。
ssh然後可以使用X11轉發來顯示matplotlib圖。
當然,您可以啓用X11轉發。通常,這是通過將-X
或-Y
選項ssh
當您連接到遠程計算機
ssh -X computerA
注意做到這一點在計算機A上的SSH服務也必須被配置爲允許X11轉發。這是通過把
X11Forwarding yes
在計算機A的sshd_config
配置文件。
如果計算機A的SSH守護程序未啓用X11轉發,則可以始終讓Python將計算結果寫入文本文件,將其下載到計算機B,並在本地使用Matplotlib。
以下方法適用於本地計算機(計算機B)上的Mac OS X和遠程計算機(計算機A)上的ubuntu。
您需要在本地計算機上安裝X11服務器才能執行此操作。
如果您正在運行最新版本的Mac OSX(OS X Mountain Lion或更新版本),則不會預裝X11(請參閱http://support.apple.com/kb/ht5293)。打開Mac終端檢查是否有X11,並運行命令xterm
。 如果打開一個X11窗口,你就全部設置好了。如果它說沒有找到命令,則請轉至http://xquartz.macosforge.org/landing/並安裝X11服務器。然後註銷並重新登錄到您的Mac。
重新登錄後,嘗試再次運行xterm
命令。它應該打開X11窗口。 此時您的$ DISPLAY變量也應該正確設置。如果未設置,請確保自XQuartz安裝X11以來已登錄/註銷。
echo $DISPLAY
/tmp/launch-I9I3aI/org.macosforge.xquartz:0
從本地機器上,用ssh -X遠程連接到遠程機器
然後:
ssh -X [email protected]
然後在遠程機器上:
python
>>> import matplotlib
>>> matplotlib.use('GTKAgg') #I had to use GTKAgg for this to work, GTK threw errors
>>> import matplotlib.pyplot as plt #... and now do whatever you need...
,請務必讓matplotlib.use
前從matplotlib
(例如http://oroborosx.sourceforge.net/remotex.html#usessh
- 1. 遠程控制計算機並在遠程計算機上顯示
- 2. 遠程計算機上的PSSession顯示瀏覽器
- 3. 在遠程計算機上顯示當前時間javascript
- 4. PSExec:如何在遠程計算機上顯示JPG文件?
- 5. 遠程計算機
- 6. 遠程計算機
- 7. 訪問遠程計算機上的MySQL
- 8. 的OpenTextFile在遠程計算機上
- 9. 遠程計算機上的SQL Server
- 10. AppleScript與遠程計算機上的iTunes
- 11. 遠程計算機上的gem錯誤
- 12. 遠程計算機的屏幕截圖
- 13. 使用WMI顯示在遠程計算機上運行的進程
- 14. 在遠程計算機上運行QTP
- 15. 遠程計算機上使用腳本
- 16. 在遠程計算機上使用WMI
- 17. 在遠程計算機上運行.ps1
- 18. 在遠程計算機
- 19. 訪問遠程計算機
- 20. 登錄遠程計算機
- 21. 從遠程計算機
- 22. 我從遠程計算機
- 23. 不能遠程計算機
- 24. 顯示計算機名,PowerShell版本和遠程協議
- 25. 訪問遠程計算機的MSMQ給出「遠程計算機不可用」
- 26. 訪問存儲在遠程計算機上的圖像
- 27. 位於遠程計算機上的javamail郵件圖像
- 28. 上訪問遠程驅動器從遠程計算機與PSEXEC
- 29. 獲取本地計算機的DNS名稱,如遠程計算機所示
- 30. 如何表示遠程計算機上的管道和本地計算機上的管道如下
相關鏈接:http://stackoverflow.com/questions/2801882/generating-a-png-with-matplotlib-when-display-is-上使用ssh -X
matplotlib.pyplot
)其他有用的故障排除技巧undefined?lq = 1 – 2014-02-28 05:48:16