CentOS 7.5 安装配置tigervnc-server

系统版本:

1
2
[root@s10 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

1.安装 Gnome 包

1
[root@s10 ~]# yum groupinstall "GNOME Desktop" "Graphical Administration Tools" -y

2.更新系统的运行级别 (此步骤不是必须)
自动进入图形界面,那么我们需要更改系统的运行级别,输入下面的命令来启用图形界面。

1
[root@s10 ~]# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

3.安装vnc软件包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[root@s10 ~]# yum -y install tigervnc-server
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.163.com
 * updates: mirrors.cn99.com
http://mirrors.163.com/centos/7.5.1804/virt/x86_64/libvirt-latest/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
正在尝试其它镜像。
To address this issue please refer to the below wiki article
 
https://wiki.centos.org/yum-errors
 
If above article doesn't help to resolve this issue please use https://bugs.centos.org/.
 
正在解决依赖关系
--> 正在检查事务
---> 软件包 tigervnc-server.x86_64.0.1.8.0-13.el7 将被 安装
--> 解决依赖关系完成
 
依赖关系解决
 
=============================================================================================================================================================================================
 Package                                            架构                                      版本                                             源                                       大小
=============================================================================================================================================================================================
正在安装:
 tigervnc-server                                    x86_64                                    1.8.0-13.el7                                     base                                    215 k
 
事务概要
=============================================================================================================================================================================================
安装  1 软件包
 
总下载量:215 k
安装大小:509 k
Downloading packages:
tigervnc-server-1.8.0-13.el7.x FAILED                                         
http://mirrors.cqu.edu.cn/CentOS/7.6.1810/os/x86_64/Packages/tigervnc-server-1.8.0-13.el7.x86_64.rpm: [Errno 14] curl#56 - "Recv failure: Connection reset by peer"/s |    0 B  --:--:-- ETA
正在尝试其它镜像。
tigervnc-server-1.8.0-13.el7.x86_64.rpm                                                                                                                               | 215 kB  00:00:00    
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : tigervnc-server-1.8.0-13.el7.x86_64                                                                                                                                      1/1
  验证中      : tigervnc-server-1.8.0-13.el7.x86_64                                                                                                                                      1/1
 
已安装:
  tigervnc-server.x86_64 0:1.8.0-13.el7                                                                                                                                                     
 
完毕!

4.关闭防火墙

1
2
[root@s10 ~]# systemctl stop firewalld
[root@s10 ~]# systemctl disable firewalld

5.复制配置文件

1
[root@s10 ~]# cp /usr/lib/systemd/system/vncserver@.service  /etc/systemd/system/vncserver@:1.service

6.修改配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
[root@s10 ~]# vim /etc/systemd/system/vncserver@:1.service
 
  # The vncserver service unit file
  #
  # Quick HowTo:
  # 1. Copy this file to /etc/systemd/system/vncserver@.service
  # 2. Replace <USER> with the actual user name and edit vncserver
  #    parameters appropriately
  #    (ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
  # The vncserver service unit file
  #
  # Quick HowTo:
  # 1. Copy this file to /etc/systemd/system/vncserver@.service
  # 2. Replace <USER> with the actual user name and edit vncserver
  #    parameters appropriately
  #    (ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
  # The vncserver service unit file
  #
  # Quick HowTo:
  # 1. Copy this file to /etc/systemd/system/vncserver@.service
  # 2. Replace <USER> with the actual user name and edit vncserver
  #    parameters appropriately
  #    (ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
  #     PIDFile=/home/<USER>/.vnc/%H%i.pid)
  # 3. Run `systemctl daemon-reload`
 10 # 4. Run `systemctl enable vncserver@:<display>.service`
 11 #
 12 # DO NOT RUN THIS SERVICE if your local area network is
 13 # untrusted!  For a secure way of using VNC, you should
 14 # limit connections to the local host and then tunnel from
 15 # the machine you want to view VNC on (host A) to the machine
 16 # whose VNC output you want to view (host B)
 17 #
 18 # [user@hostA ~]$ ssh -v -C -L 590N:localhost:590M hostB
 19 #
 20 # this will open a connection on port 590N of your hostA to hostB's port 590M
 21 # (in fact, it ssh-connects to hostB and then connects to localhost (on hostB).
 22 # See the ssh man page for details on port forwarding)
 23 #
 24 # You can then point a VNC client on hostA at vncdisplay N of localhost and with
 25 # the help of ssh, you end up seeing what hostB makes available on port 590M
 26 #
 27 # Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
 28 #
 29 # Use "-localhost" to prevent remote VNC clients connecting except when
 30 # doing so through a secure tunnel.  See the "-via" option in the
 31 # `man vncviewer' manual page.
 32
 33
 34 [Unit]
 35 Description=Remote desktop service (VNC)
 36 After=syslog.target network.target
 37
 38 [Service]
 39 Type=forking
 40
 41 # Clean any existing files in /tmp/.X11-unix environment
 42 ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
 43 ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
 44 PIDFile=/home/<USER>/.vnc/%H%i.pid
 45 ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
 46
 47 [Install]
 48 WantedBy=multi-user.target

将第43、44行中的<USER>修改为root或者你想通过vnc登录的账号,如tom 或jerry 如下所示:

1
2
43 ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
 

7.重新加载systemd服务

1
[root@s10 ~]# systemctl daemon-reload

8.设置VNC密码

1
2
3
4
5
6
[root@s10 ~]# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? y
Password:
Verify:

9.启动VNC服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@s10 ~]# systemctl start vncserver@:1.service
[root@s10 ~]# systemctl enable vncserver@:1.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /etc/systemd/system/vncserver@:1.service.
[root@s10 ~]# systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; disabled; vendor preset: disabled)
   Active: active (running) since 二 2019-04-02 15:02:08 CST; 7s ago
  Process: 29678 ExecStart=/usr/sbin/runuser -l root -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
  Process: 29675 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 29705 (Xvnc)
   CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
           ‣ 29705 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop s10.sangame.com:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /root/.vnc/passwd -rfbport...
 
4月 02 15:02:04 s10.sangame.com systemd[1]: Starting Remote desktop service (VNC)...
4月 02 15:02:08 s10.sangame.com systemd[1]: Started Remote desktop service (VNC).

查看VNC服务端口启动状态:

1
2
3
4
5
6
7
[root@s10 ~]# netstat  -tunpl |grep  :590
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      4334/qemu-kvm      
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      29705/Xvnc         
tcp        0      0 0.0.0.0:5903            0.0.0.0:*               LISTEN      5876/qemu-kvm      
tcp        0      0 0.0.0.0:5904            0.0.0.0:*               LISTEN      5644/qemu-kvm      
tcp        0      0 0.0.0.0:5905            0.0.0.0:*               LISTEN      5710/qemu-kvm      
tcp6       0      0 :::5901                 :::*                    LISTEN      29705/Xvnc         

10.测试连接

  

原文地址:https://www.cnblogs.com/liqing1009/p/13395491.html