Virt-manager gtk_rror
群里有朋友在使用virt-manger的时候遇到了下边这个报错
[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 display
这个也是很多朋友说:我的服务器没有装图形啊,怎么用图形工具。同样类似的问题
其实,服务器基本上不会使用图形界面,为了减少资源的消耗,也不会装图形,都是通过远程协议连接到NC(开始的时候,我一直以为脑残,结果是Network Computer,远程服务器的意思,一旦接受了这种设定,到也不觉得有什么违和感,嘎嘎),目前,我们经常使用的是ssh(Secure SHell)协议,openssh作为软件实现,可以通过ssh作为X11的转发。
也就是通过ssh隧道作为视频的传输。
在ssh的配置文件中打开X11的转发。
需要一些X11转发认证的依赖软件包
基本上就可以了。
对于转发的数据,我们可以基本想象成为一个C/S的结构
我自己的理解:
我们使用xshell类的工具作为client连接sshd的服务器,然后在ssh隧道建立成功以后
两张图一张是我在windows下的端口状态,下边的是host上的端口状态(黄色的部分是服务器的ip和端口)
我们可以看到在本地起了一些回环,xmanager把数据转发到xshell,通过xshell和sshd的连接发数据。
xshell客户端本身的也需要设置一个数据接口去匹配这个数据
如果出现之前的错误,我们就可以简单分析出,可能是DISPLAY环境变量的问题
[root@test ~]# echo $DISPLAY
localhost:10.1 (如果错误,可能是这个环境变量不存在,或者和virt-manager不一致)
这个值会随着本地连接终端的增加而增加,保证每个终端开启转发的时候不会冲突。
而Xmanager中的环境变量,只有和服务端的DISPLAY匹配才能够建立转发隧道。