如果直接在linux命令行中,运行将会弹出图形界面的命令,是不能成功的。为了达到这种成功。我们需要使用一种方式来远程监控linux的图形界面。
原理:
X11也叫做X window系统,是一种位图显示的视窗系统,是unix以及OpenVMS上建立用户界面的标准包和协议。
X window系统有一个统一的Server来负责各个程序与显示器,键盘,鼠标等输入设备的交互,每个有GUI的程序都能通过网络协议与Server进行交互。在Windows运行X Server,可以方便远程运行有GUI的Linux应用,将运行在远程上的应用程序的图形化界面在Windows本地运行起来。在Putty上有X的转发功能,可以将Linux主机的X程序通过SSH通道转发到客户端,交给在本地Windows系统下运行的X Server来管理和显示
想远程启动linux的图形界面原理;在linux服务器上启动X11Forwrding。然后在windows上安装相应的软件。然后他们直接就可以通过ssh协议进行通信了
在此之前我们需要确定两件最最重要的事情:
第一件事:查看系统是否开启了vncserver。要想能远程linux桌面,vncserver是必须软件。废话少说,
检查服务器的是否安装VNC的命令如下:
rpm -qa | grep vnc
使用了上面的命令我这边返回的信息是下面的(如果没有任何显示,则说明系统没有安装vnc包)
tigervnc-1.1.0-5.el6.i686
tigervnc-server-1.1.0-5.el6.i686
如果没有安装vnc可以使用下面命令进行安装:
yum install tigervnc tigervnc-server
接下来就是安装之后的配置问题了。
使用下面的命令编辑配置文件:
vi /etc/sysconfig/vncservers
使用上面命令的时候,可能您服务器上面已经存在这个配置文件,也可能您服务器上面不存在这个配置文件,将下面的内容添加到配置文件内:
VNCSERVERS="2:myusername"
VNCSERVERARGS[2]="-geometry 800x600"
下面这段是上面所讲配置文件注解
VNCSERVERS="2:user2" ,默认情况下,1:user1对应5901,2:user2对应5902(VNC的默认监听端口是5900);user代表的是用户名,myusername代表的当前用户名(可能),
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
其中的“1”为用户序号,800x600为分辨率,-nolisten tcp为阻止tcp包,-localhost代表只监听本地,-http 代表阻止http包,
使用下面的命令为vnc设置密码(需要使用su 切换到要设置vnc密码的用户上,比如:su user1,其中user1就是在上面配置文件内写的帐号),如果是myusername 好像是不用切换用户的
vncpasswd
设置好密码之后,就是启动VNC服务了,启动VNC服务的时候也需要用su user1(user1就是在上面配置文件内写的帐号)切换到要启动服务的帐号上(很多朋友在使用DirectSpace默认的桌面VNC的时候,遇到无法连接“10061错误”,即可在ssh下输入下面命令解决!)
vncserver
第二件事:查看是否安装了xhost 。xhost 的作用就是为了配置xserver访问权限
xhost command not found
运行下面命令
yum whatprovides "*/xhost"
效果
根据不同得到的运行
yum install xorg-x11-server-utils-7.7-2.el6.x86_64
效果
在试下 #xhost + 发现可以
基于以上的配置的环境,才有下面的步骤
所以不论你采用什么样的工具:
最开始的一步就是:配置linux上的SSH
要允许Linux主机上的SSH X转发,需要对 /etc/ssh/sshd_config 文件进行修改,如下:
第一种:使用putty+xming方式
1 windows上安装X server
X server我选择的是Xming,这是一个免费的windows平台上的X server。
双击Xming.exe安装图标
点击Next,选择安装路径后在选择安装组件界面保持默认选择,继续点击Next
继续一路Next完成软件安装。
3. 配置Xming
第一次运行时使用开始菜单里的XLaunch来启动
对于一般使用来说不需要修改任何默认配置,Display Number保持默认选项“0”,点击“下一步”
保持默认选项,继续“下一步”
继续点击“下一步”后完成配置。
此时会在Windows系统上会出现一个Xming的图标,表明X Window已经开始运行。
2 在windows上配置SSH
SSH客户端使用PuTTY,PuTTY是freeware+greenware,就一个exe文件。
配置 Session:配置主机IP,连接方式为SSH
Connection\Data:保存连接使用的用户名(可不设置)
Connection\SSH\X11:勾选Enable X11 Forwarding,X display Location 为 localhost:0,这里的 0 就是配置 Xming X server 时指定的 Display Number。
保存设置为 VSERVER01。(为了方便以后再启动,不用再重新配置)
点击open即会进入和xshell基本相同的界面。至此配置完成。
第二种:xshell +xmanager
下载安装xmanager,一路默认安装即可。
打开xshell,并做如下设置:
现在就可以通过xshell直接调用xmanager(xwindow session)展示出图形。
常见问题:
1.x 程序连接到windows被打断
解决方案:
1.查看display变量是否设置正确 (display环境变量用来定义linux图形界面显示在哪儿),执行命令:echo $DISPLAY
若:执行结果如图,那么display就是配置正确了的。
2.执行"xhost +"命令。
A要访问B的应用程序,但是B的程序界面要在A上显示,相对于图形界面来说,A 就是服务器,B才是客户端。执行Xhost +就是要启动A的xserver服务,然后允许B程序的访问。
3.使用Xmanager中的xshell按照(xshell +xmanager)运行一次。查看是否能运行成功,若成功后,再到自己的xshell软件上运行。