羣裏有朋友在使用virt-manger的時候遇到了下邊這個報錯shell
[root@server ~]# virt-manager
Traceback (most recent call last):
File "/usr/share/virt-manager/virt-manager.py", line 383, in <module>
main()
File "/usr/share/virt-manager/virt-manager.py", line 286, in main
raise gtk_error
RuntimeError: could not open displaywindows
這個也是不少朋友說:個人服務器沒有裝圖形啊,怎麼用圖形工具。一樣相似的問題服務器
其實,服務器基本上不會使用圖形界面,爲了減小資源的消耗,也不會裝圖形,都是經過遠程協議鏈接到NC(開始的時候,我一直覺得腦殘,結果是Network Computer,遠程服務器的意思,一旦接受了這種設定,到也不以爲有什麼違和感,嘎嘎),目前,咱們常常使用的是ssh(Secure SHell)協議,openssh做爲軟件實現,能夠經過ssh做爲X11的轉發。ssh
也就是經過ssh隧道做爲視頻的傳輸。工具
在ssh的配置文件中打開X11的轉發。spa
須要一些X11轉發認證的依賴軟件包3d
基本上就能夠了。視頻
對於轉發的數據,咱們能夠基本想象成爲一個C/S的結構server
我本身的理解:blog
咱們使用xshell類的工具做爲client鏈接sshd的服務器,而後在ssh隧道創建成功之後
兩張圖一張是我在windows下的端口狀態,下邊的是host上的端口狀態(黃色的部分是服務器的ip和端口)
咱們能夠看到在本地起了一些迴環,xmanager把數據轉發到xshell,經過xshell和sshd的鏈接發數據。
xshell客戶端自己的也須要設置一個數據接口去匹配這個數據
若是出現以前的錯誤,咱們就能夠簡單分析出,多是DISPLAY環境變量的問題
[root@test ~]# echo $DISPLAY
localhost:10.1 (若是錯誤,多是這個環境變量不存在,或者和virt-manager不一致)
這個值會隨着本地鏈接終端的增長而增長,保證每一個終端開啓轉發的時候不會衝突。
而Xmanager中的環境變量,只有和服務端的DISPLAY匹配纔可以創建轉發隧道。