Centos & RHEL7 安装VNC桌面

VNC 介绍

VNC是一种远程桌面软件,允许图形软件应用程序的显示被发送给另外一个显示屏,而用户键盘和鼠标操作则发送到另外一个计算机,就像用户坐在另一台机器前面操作一样。这使得用户可以在某个位置访问并控制另一台计算机,可能位于一个完全不同的地理位置。

VNC的核心部分是由一个服务器和一个客户端(或多个客户端)组成。服务器安装并运行在您希望访问的计算机上,而客户端软件则在您实际使用的计算机上运行。

在Linux中,VNC的应用场景举例如下:

  1. 远程访问桌面:例如,您可以在家中访问办公室的机器,反之亦然。
  2. 提供技术支持:帮助其他用户解决其机器上的问题,而不需要实际到现场。
  3. 教育和演示:在多个计算机上显示相同的内容。

常见的Linux VNC服务器有TightVNC, RealVNC, TigerVNC等。

1. Centos/RHEL7 安装 VNC

会分别为root用户,以及普通用户安装VNC桌面。

1.1 创建Linux普通用户
# 创建名为oracle的用户
sudo useradd oracle

# 为新用户设置密码
sudo passwd oracle
1.2 安装 VNC 所需的 Package
# 安装 GUI 桌面软件包以通过 GUI 访问 VNC 服务器
yum groupinstall "Server with GUI"

# 在VNC服务器上,安装TigerVNC服务器包
yum install tigervnc-server
1.3 设置 VNC 服务

将配置文件 /lib/systemd/system/vncserver@.service 复制到目录 /etc/systemd/system/,命名为“vncserver_[username]@:[port].service”。 例如:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver_root@:2.service

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver_oracle@:3.service

修改 vncserver_root@:2.service & vncserver_oracle@:3.service 配置文件,确保其内容如下(可以将原本[Unit]、[Service]、[Install]下的内容替换):
vncserver_root@:2.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=root

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i -geometry 800x800"
PIDFile=/home/root/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

vncserver_oracle@:3.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=oracle

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/sbin/runuser -l oracle -c "/usr/bin/vncserver %i -geometry 800x800"
PIDFile=/home/oracle/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

当使用 systemctl start 启动服务器时,会调用 ExecStart 条目中指定的命令; 它使用 runuser 在用户帐户下运行 TigerVNC。 -l 参数提供用户名,-c 指定 runuser 将执行的命令及其参数。 PIDFile 条目指定正在运行的进程将在其中跟踪其进程 ID 的目录。

注意:从 RHEL7.4 开始,支持在调用时传递给 vncserver 的服务器选项已移至 ~/.vnc/
目录中名为“config”的新文件中。 因此无需在 ExecStart 行中添加这些选项。

1.4 设置防火墙

防火墙应允许显示器相应端口的流量。 显示器 0 使用端口 5900,显示器 1 使用端口 5901,显示器 2 使用端口 5902,依此类推。 如果您使用 FirewallD,预定义的 vnc-server 服务将打开端口 5900-5903:

firewall-cmd --zone=public --permanent --add-service=vnc-server

firewall-cmd  --reload

systemctl daemon-reload
1.5 开启 VNC 服务并设置登录密码

为所选端口上的每个用户启用 vncserver 服务,这还将启用系统启动时的自动启动,使用以下命令:

systemctl enable vncserver_root@:2.service

systemctl enable vncserver_oracle@:3.service

# 重新加载 systemd 的配置以使其识别新的单元文件
systemctl daemon-reload

# 为每个使用 vncserver 的用户配置密码
$ vncpasswd root
Password:
Verify:
Would you like to enter a view-only password (y/n)? n

$ vncpasswd oracle
Password:
Verify:
Would you like to enter a view-only password (y/n)? n

# 您需要以用户身份登录时在命令行中执行“vncserver”。 这将自动要求您为用户创建一个新密码。(分别在root,oracle用户下执行)
$ vncserver -geometry 1920x1080
You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
xauth:  file /root/.Xauthority does not exist

New 'geeklab:1 (root)' desktop is geeklab:1

Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/geeklab:1.log

注意:可以通过 $vncserver -help 查看命令帮助

1.6 VNC 运行检验
# vncserver -list 命令
vncserver -list

TigerVNC server sessions:

X DISPLAY # 	PROCESS ID
:1          	25853

# netstat 命令
netstat -antp | grep Xvnc
tcp    	0  	0 0.0.0.0:5901        	0.0.0.0:*           	LISTEN  	25853/Xvnc     	 
tcp    	0  	0 0.0.0.0:6001        	0.0.0.0:*           	LISTEN  	25853/Xvnc     	 
tcp    	0  	0 9.30.215.215:5901   	9.197.228.91:57827  	ESTABLISHED 25853/Xvnc     	 
tcp6   	0  	0 :::5901             	:::*                	LISTEN  	25853/Xvnc     	 
tcp6   	0  	0 :::6001             	:::*                	LISTEN  	25853/Xvnc
1.7 VNC 远程登录

您可以在客户端计算机上安装任何 VNC 查看器软件来访问 VNC 服务器。 我在 MAC 上使用 realVNC 软件来访问 VNC 服务器。 您可以根据您使用的操作系统使用以下任意 VNC 查看器软件。
1.TigerVNC:http://tigervnc.org
2.TightVNC:https://www.tightvnc.com/download.php
3.RealVNC:https://www.realvnc.com/en/connect/download/viewer

我使用的是 RealVNC:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7上安装VNC,你可以按照以下步骤进行操作: 1. 首先,确保你的CentOS系统已经连接到互联网并且具备root权限。 2. 使用以下命令安装TigerVNC服务器:sudo yum install tigervnc-server 3. 安装完成后,使用以下命令创建一个新的VNC用户:sudo useradd -m vncuser 4. 设置一个密码给VNC用户:sudo passwd vncuser 5. 切换到VNC用户:su - vncuser 6. 使用以下命令生成vncpasswd文件:vncpasswd . 输入密码并确认。 8. 使用以下命令编辑vncserver配置文件:vi ~/.vnc/xstartup 9. 在文件末尾添加以下内容: ``` #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS startxfce4 & [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & ``` 10. 保存并关闭文件。 11. 使用以下命令修改配置文件的权限:chmod +x ~/.vnc/xstartup 12. 切换回root用户:exit 13. 使用以下命令配置VNC服务器作为systemd服务:sudo cp /lib/systemd/system/vnc[email protected] /etc/systemd/system/vncserver@:1.service 14. 使用以下命令编辑服务文件:sudo vi /etc/systemd/system/vncserver@:1.service 15. 将文件中的所有occurrences of USER替换为你的VNC用户名(在这个例子中是vncuser)。 16. 保存并关闭文件。 17. 使用以下命令重新加载systemd管理的服务:sudo systemctl daemon-reload 18. 启动VNC服务器:sudo systemctl start vncserver@:1 19. 设置VNC服务器开机自启动:sudo systemctl enable vncserver@:1 20. 完成后,你可以使用VNC客户端通过IP地址和端口号(5901)连接到CentOS 7上的VNC服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值