群里有朋友在使用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匹配才可以创建转发隧道。