CentOS 7安装TigerVNC Server

Posted 林肯公园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7安装TigerVNC Server相关的知识,希望对你有一定的参考价值。

http://blog.csdn.net/wamath/article/details/76003128

 

1. CentOS 7安装TigerVNC Server

本文介绍如何在CentOS 7上安装VNC Server,以便远程访问。本文参照了DigitalOcean的教程,加入了一些安装经验。

2. 安装TigerVNC Server

建议使用非root用户安装,-y代表直接安装

sudo yum install -y tigervnc-server

 

3. 配置VNC Service

以下方法是新方法,以前是要配置/etc/sysconfig/vncservers,现在第一步是将默认提供的文件复制到/etc/systemd/system,命令如下

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

 

接下来修改该配置文件

sudo vim /etc/systemd/system/vncserver@:1.service

 

将其中<USER>替换为你想要的用户名,我这里是oracle,添加设置分辨率的参数-geometry 1280x720,所有内容如下

# The vncserver service unit file
#
# Quick HowTo:
# 1. Copy this file to /etc/systemd/system/[email protected]:<display>.service
# 2. Edit <USER> and vncserver parameters appropriately
#   ("runuser -l <USER> -c /usr/bin/vncserver %i -arg1 -arg2")
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable [email protected]:<display>.service`
#

. . .

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

[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=/sbin/runuser -l oracle -c "/usr/bin/vncserver %i -geometry 1280x720" 
PIDFile=/home/oracle/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :‘

[Install]
WantedBy=multi-user.target

 

保存文件并退出vim,重新加载配置

sudo systemctl daemon-reload

 

也可以设置成开机启动

sudo systemctl enable [email protected]:1.service

 

4. 修改防火墙

首先判断firewalld是否启动,输入以下命令判断

sudo firewall-cmd --state

 

如果启动应该输出

running

 

如果是not running,执行下面命令

sudo systemctl start firewalld

 

添加端口号5901-5905

sudo firewall-cmd --permanent --zone=public --add-port=5901-5905/tcp

 

重新加载防火墙

sudo firewall-cmd --reload

 

可以使用下面命令查看端口号是否被加入

firewall-cmd --list-all-zones

 

5. 设置VNC密码

通过ssh,用oracle用户名登录到服务器,执行下面命令,这里相当于配置密码并启动一个vnc-server实例,用需要连接vnc的用户登录来设置密码

vncserver
vncserver 用法:
 vncserver -h

usage: vncserver [:<number>] [-name <desktop-name>] [-depth <depth>]
                 [-geometry <width>x<height>]
                 [-pixelformat rgbNNN|bgrNNN]
                 [-fp <font-path>]
                 [-cc <visual>]
                 [-fg]
                 [-autokill]
                 [-noxstartup]
                 [-xstartup <file>]
                 <Xvnc-options>...

       vncserver -kill <X-display>

       vncserver -list

 

 

终端会提示你输入密码,如下

You will require a password to access your desktops.
Password:
Verify:
xauth:  file /home/oracle/.Xauthority does not exist

New ‘localhost.localdomain:1 (oracle)‘ desktop is localhost.localdomain:1

Creating default startup script /home/oracle/.vnc/xstartup
Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/localhost.localdomain:1.log

 

如果想修改密码,可以使用vncpasswd。现在已经有一个vnc服务在运行了,但我们需要使用刚刚配置的服务来启动,所以我们需要先杀死刚刚的vnc服务,使用下面命令。

vncserver -kill :1

 

接下来,重启我们配置的服务

sudo systemctl daemon-reload
sudo systemctl restart [email protected]:1.service

 

 

使用下面命令查看该服务是否正确运行

sudo systemctl status [email protected]:1.service -l

如果正确启动,输出应为

[email protected]:2.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/[email protected]:2.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2017-07-23 21:55:35 CST; 12h ago
  Process: 8720 ExecStart=/usr/sbin/runuser -l oracle -c /usr/bin/vncserver %i -geometry 1280x720 (code=exited, status=0/SUCCESS)
  Process: 8716 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 8744 (Xvnc)
   CGroup: /system.slice/system-vncserver.slice/[email protected]:2.service
           ? 8744 /usr/bin/Xvnc :2 -desktop 127.0.0.1:2 (oracle) -auth /home/oracle/.Xauthority -geometry 1280x720 -rfbwait 30000 -rfbauth /home/oracle/.vnc/passwd -rfbport 5902 -fp catalogue:/etc/X11/fontpath.d -pn

7月 23 21:55:32 127.0.0.1 systemd[1]: Starting Remote desktop service (VNC)...
7月 23 21:55:35 127.0.0.1 systemd[1]: Started Remote desktop service (VNC).

如果想配置多用户同时访问,需要将上面[email protected]:1.service,改为[email protected]:2.service,然后配置其中用户名、分辨率参数,再按我的步骤走一遍就可以了

 

生产的配置编号,由下面两个文件锁定编号,要改变l默认vncserver 生产的编号,可删除相应的文件和用户家目录.vnc/下的文件:

/tmp/.X1-lock

 /tmp/.X11-unix/X1

 

以上是关于CentOS 7安装TigerVNC Server的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7.2 安装tigerVNC-Server

​Centos7和Centos6用tigervnc同步共享桌面

centos7安装tigervnc-server服务并且黑屏的解决方法

centos7 安装VNCserver

CentOS 7.4下VNC Server安装(非在线安装)

CentOS 7 安装以及配置 VNC