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匹配才能够建立转发隧道。

 

posted @ 2013-10-26 19:23  风刃  阅读(2217)  评论(0编辑  收藏  举报