CentOS 7.7 安装 VNC 实录

本文使用Oracle Linux 7.7 系统部署安装,实现VNC连接root,oracle远程连接。

VNC需要系统安装的有桌面,如果是生产环境服务器,安装时使用的最小化安装,那么进行下面操作按章GNOME 桌面。

1、分步安装 VNC 服务端及相关包

 yum  install tigervnc-server -y
 yum  groupinstall GNOME  -y
 yum  groupinstall “X Windows System”  -y

2、关闭防火墙

(1) 在 root 用户下执行 vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

将上述代码中的红色值改 disabled。

(2) 执行 systemctl stop firewalld.service

(3) 执行 systemctl disable firewalld.service

3、关闭SELinux,编辑/etc/selinux/config 文件

vi /etc/selinux/config

显示如下:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

将上述代码中selinux值设置为disabled

4、安装后可以使用如下命令来验证是否安装成功

rpm -qa|grep tigervnc-server

显示如下:

[root@localhost ~]# rpm -qa|grep tigervnc-server
tigervnc-server-1.8.0-17.0.1.el7.x86_64
tigervnc-server-minimal-1.8.0-17.0.1.el7.x86_64

5、配置 vnc

复制vnc的启动操作脚本, vncserver@:1.service中的:1表示”桌面号”,启动的端口号就是5900+桌面号,即是5901,如果再有一个就是2,端口号加1就是5902,以此类推:

(1) 在 root 用户下执行

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

(2) 编辑 /etc/systemd/system/vncserver@:1.service

vi /etc/systemd/system/vncserver@:1.service

原始显示如下

[Service]
Type=forking
WorkingDirectory=/home/<USER>
User=<USER>
Group=<USER>

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i
PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

修改之后显示如下:(root用户)

[Service]
Type=forking

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

找到其中的<USER> ,修改成自己的用户名,如果是root用户登录桌面就使用root用户,如果使用普通用户登录桌面使用普通用户,这里笔者使用用户名:root

注意:

A、如使用 root,PIDFile=/root/xxxxxx 而非/home/root/xxxxxx

B、vncserver@xx.service 文件可以多个,代表多用户,如下

oracle 用户可以对应 vncserver@:1.service

root 用户可以对应 vncserver@:2.service

(3) 在 root 用户下执行

systemctl daemon-reload

6、oracle 用户下配置

(1) su – oracle 切换oracle用户(oracle用户需要根据《Oracle Database 11gR2 OnOracle Linux 6.x 安装手册》先建立)

输入两次密码,输入完成后会提示是否设置view-only password(“View-only password”密码,只允许查看,无控制权限。)这个可设可不设:

vncpasswd 配置 oracle 用户的 vnc 密码

vncpasswd

7、启动服务

systemctl start vncserver@:1.service

第一次输入启动服务命令可能会要求输入(从新加载配置文件,新增和配置文件发生变化时都需要执行 daemon-reload 子命令):

systemctl daemon-reload

执行完毕之后在执行启动命令就可以了:

根据提示输入 root 密码,执行完成后即启动成功。

(3) ps -ef|grep vnc 查看是否已经存在进程

ps -ef|grep vnc

效果如下:

[root@localhost ~]# ps -ef|grep vnc
root 2032 1 0 09:14 ? 00:00:26 /usr/bin/Xvnc :2 -auth /root/.Xauthority -desktop localhost.localdomain:2 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /root/.vnc/passwd -rfbport 5902 -rfbwait 30000
root 2039 1 0 09:14 ? 00:00:00 /bin/sh /root/.vnc/xstartup
root 2665 1 0 09:16 ? 00:00:05 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop localhost.localdomain:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /root/.vnc/passwd -rfbport 5901 -rfbwait 30000
root 2679 1 0 09:16 ? 00:00:00 /bin/sh /root/.vnc/xstartup
root 3199 1 0 09:16 ? 00:00:04 /usr/bin/Xvnc :3 -auth /root/.Xauthority -desktop localhost.localdomain:3 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /root/.vnc/passwd -rfbport 5903 -rfbwait 30000
root 3206 1 0 09:16 ? 00:00:00 /bin/sh /root/.vnc/xstartup
root 12126 1868 0 11:29 pts/0 00:00:00 grep --color=auto vnc

(4) 使用 vncviewer 访问

8、需要重启 vncserver 或者出错情况下再次启动前的处理

(1) 通过 ps 查看 vnc 进程号,使用 Kill -9 进程 ID 号

(2) 删除临时文件

rm –rf /tmp/.X1-lock
rm –rf /tmp/.X11-unix/X1

至此结束。

参考:

《CentOS7.x安装VNC实录》

 

给TA买糖
共{{data.count}}人
人已赞赏
系统运维

页面请求 Waiting (TTFB) 时间过长

2020-3-23 15:54:20

系统运维

CentOS7 更换国内阿里云镜像源

2020-4-13 12:01:00

⚠️
Golurending上的部份代码及教程来源于互联网,仅供网友学习交流,未经Golurending作者或上传书面授权,请勿作他用。
若您的权利被侵害,请联系站长 邮箱codesns#163.com(#-@) 或 点击右侧 私信:管理员 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索