文章目录
一、场景介绍二、名词解释三、CentOS 图形安装四、VNC 服务端安装五、VNC 客户端连接一、场景介绍
在某些特定场景下,我们需要通过Linux
环境来调试代码,比如Shell
脚本的调试
如果每次通过盲写好的shell
脚本,全盘复杂到Linux
环境的.sh
文件中执行,很难找到问题
遂出现此文章:通过VNC
连接Linux
的图形化桌面,在图形化桌面安装IDEA
来调试Shell
脚本
二、名词解释
VNC:VNC(Virtual Network Computing)
为一种使用RFB
协议的屏幕画面分享及远程操作软件。此软件借由网络,可发送键盘与鼠标的动作及即时的屏幕画面。VNC
与操作系统无关,因此可跨平台使用,例如可用Windows
连线到某Linux
的计算机,反之亦同。甚至在没有安装客户端程序的计算机中,只要有支持JAVA
的浏览器,也可使用。VNC
包含客户端和服务器两个操作软件。
VNC Server:VNC
服务器,接收VNC Viewer
的连接请求,传输画面到客户端。本例需要在CentOS 7
上安装VNC Server
VNC Viewer:VNC
客户端,将键盘和鼠标的动作转递给服务器,例如:在Windows
上安装Viewer
连接到远程的Linux
服务器,Mac
通过Royal TSX
的VNC
插件来连接Linux
服务器
Linux桌面环境:Linux
不像Windows
,安装完系统就有可视化的图形界面,并且每个版本图形化界面完全一致,Linux
图像界面有很多种可供你选择,你可以选择你喜欢的图形界面环境进行安装,VNC
上传输的图形界面,就是你安装的界面。本例选择的是GNOME
。
X Window System:X
窗口系统(X Window System
,也常称为X11
或X
)是一种以位图方式显示的软件窗口系统。最初是 1984 年麻省理工学院的研究,之后变成UNIX
、类UNIX
、以及OpenVMS
等操作系统所一致适用的标准化软件工具包及显示架构的运作协议。X
窗口系统通过软件工具及架构协议来创建操作系统所用的图形用户界面,此后则逐渐扩展适用到各形各色的其他操作系统上。现在几乎所有的操作系统都能支持与使用X
。更重要的是,今日知名的桌面环境——GNOME
和KDE
也都是以X
窗口系统为基础建构成的
三、CentOS 图形安装
安装图形用户接口X Window System
yum groupinstall "X Window System"
安装GNOME
yum groupinstall "GNOME Desktop"
启动X Windows
startx
# 启动日志xauth: file /root/.serverauth.152726 does not X Server 1.20.4X Protocol Version 11, Revision 0Build Operating System: 3.10.0-957.1.3.el7.x86_64 Current Operating System: Linux node44 3.10.0-1160.25.1.el7.x86_64 #1 SMP Wed Apr 28 21:49:45 UTC x86_64Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.25.1.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=zh_CN.UTF-8Build Date: 24 February 09:09:20PMBuild ID: xorg-x11-server 1.20.4-15.el7_9 Current version of pixman: 0.34.0Before reporting problems, check to make sure that you have the latest version.Markers: (--) probed, (**) from config file, (==) default setting,(++) from command line, (!!) notice, (II) informational,(WW) warning, (EE) error, (NI) not implemented, (??) unknown.(==) Log file: "/var/log/Xorg.2.log", Time: Mon Nov 22 10:01:23 (==) Using config directory: "/etc/X11/xorg.conf.d"(==) Using system config directory "/usr/share/X11/xorg.conf.d"(II) [KMS] Kernel modesetting enabled.resizing primary to 1024x768primary is 0x55e7f1230140
四、VNC 服务端安装
查看Linux
是否已经安装tigervnc-server
[root@node44 ~]# rpm -q tigervnc tigervnc-serverpackage tigervnc is not installedpackage tigervnc-server is not installed
在Linux
服务器上安装tigervnc-server
服务
yum install tigervnc-server -y
启动tigervnc-server
服务
vncserver
# 部分启动日志You will require a password to access your desktops.Password:Verify:Would you like to enter a view-only password (y/n)? nA view-only password is not usedNew 'node44:1 (root)' desktop is node44:1Creating default startup script /root/.vnc/xstartupCreating default config /root/.vnc/configStarting applications specified in /root/.vnc/xstartupLog file is /root/.vnc/node44:1.log
P.S
在启动过程中,请牢记设置的密码,提示为预览密码时请选择n
,不然无法操作图形化界面,只能查看图形化界面
其它事项
# 启动命令依据 vncserver@:1.service 为参考vncserver :n# 这里的 n 是 sessionnumber,不指定默认为 1,也可以是 2、3 等。第一次会提示输入密码,以后可以使用vncpasswd命令修改密码。
设置vncserver
开机启动
# 将 /lib/systemd/system/vncserver@.service 文件复制为 /lib/systemd/system/vncserver@:1.service (重命名为 1 2 3 都可以,但是启动的时候需要采用 vncserver :1 vncserver :2 vncserver :3 对应,不知道默认为 1)cp /lib/systemd/system/vncserver@.service vncserver@:1.service# 编辑复制后的 vncserver@:1.service 文件,将 <USER> 替换为 Linux 系统用户,这里以 root 为例ExecStart=/usr/bin/vncserver_wrapper root %i# 重加载 systemdsystemctl daemon-reload# 设置为开机启动systemctl enable vncserver@:1.service# 启停 vncserver 服务systemctl start vncserver@:1.servicesystemctl stop vncserver@:1.service
开启vncserver
服务端防火墙端口
firewall-cmd --zone=public --add-port=5901/tcp --permanentfirewall-cmd --reload
五、VNC 客户端连接
RealVNC Viewer
下载地址
Royal TSX
下载地址
Royal TSX
配置截图