使用工具Xshell/Mobaxtem连接图形化虚拟机的方法
前言
在日常工作中,一些程序,如eclipse和oracle在使用时必须要图形化的界面,因此需要连接工具具备图形化的连接能力,经过查询,目前实践总结得到两个办法,方法1暂时有一些缺陷,方法2成功。
方法一 —使用Xshell连接
1.使用xshell+xmanager
需要使用xhsell的X11转发功能,需要下载xmanager
具体步骤
-
1.连接上linux服务器
-
2.使用Xclock命令看下是否支持,如果支持会显示以下图片,如果不支持,会提示命令不存在,则需要
yum install xorg-x11-apps.x86_64
安装软件,安装后再尝试就应该可以了,如果安装是xshell没有安装xmanager则会提示需要下载xamager,按照提示下载试用版本的就可以,只能试用30天, 此外会出现只有root用户可以,普通用户不行,则声明一个变量
port DISPLAY='192.168.8.1:0.0'
,这里的ip是你本地电脑的ip,不是虚拟机的IP
3,使用/usr/bin/gnome-terminal --display $DISPLAY
命令测试是否支持打开远程桌面终端,使用/usr/bin/gnome-session
这个命令可以直接打开远程linux主机的桌面,**注意:我这里打开电脑会直接黑屏3s,而且是全屏,然后才会显示远程桌面。,优点是这个方法显示的虚拟机桌面是全屏的 **
方法二 --使用VNC连接(推荐)
-
- 服务器端安装相关的软件tigervnc-server,vncviewer,使用命令
yum install tigervnc-server,vncviewer
安装即可,关闭防火墙和selinux
- 服务器端安装相关的软件tigervnc-server,vncviewer,使用命令
-
- 修改vncserver的配置,原配置文件是位于/ lib/systemd/system/的vncserver@.service文件,默认端口是5900,最快最稳当的方法是复制原文件生成一个新的文件,如
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
,这里我们在新文件名中输入的“ 1”是将用于该特定服务实例的显示号。知道这一点很重要,因为它还会确定VNC服务器将侦听的TCP端口,即5900 +显示号:第一个是5901,然后是5902,依此类推。复制之后修改复制生成的文件,这里只改启动的用户就可以,不然会报一个runuser: user <USER> does not exist
的错误,如下图,修改绿色框中的部分即可,这里我已经修改过了,原来是,我修改成立自定义的vncuser,不建议直接用root用户,修改完保存退出即可
- 修改vncserver的配置,原配置文件是位于/ lib/systemd/system/的vncserver@.service文件,默认端口是5900,最快最稳当的方法是复制原文件生成一个新的文件,如
-
- 设置连接vnc的密码,vnc在连接server时,需要一个密码,这里的密码不是系统的密码,而是vnc专用的密码,设置方法是使用
vncpasswd
命令,这里注意,如果配置文件使用的是普通用户,如我使用的是vncuser,就需要切换到普通用户,在使用vncpasswd命令配置,最后记得启动服务,使用systemctl start vncserver@:1.service
启动,或者使用systemctl enable vncserver@1.service --now 设置开机自启动,启动完后,记得使用systemctl status vncserver@:1.service
查看一下服务状态,因为启动失败不会再终端提示报错
- 设置连接vnc的密码,vnc在连接server时,需要一个密码,这里的密码不是系统的密码,而是vnc专用的密码,设置方法是使用
-
- 客户端连接,这里就比较简单了,在客户端输入对应的ip+端口,再输入vnc的密码,就可以连接成功,我这里是的是mobaxtem自带的vnc功能,大家也可以下载其他带有vnc功能的软件进行连接
- 参考:
CentOS7安装vncserver
如何在CentOS 7/8上配置VNC服务器
扩展
VNC(Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。