0%

Centos7 安装VNC 实现远程桌面

环境: Centos7.2
gnome桌面

前提: 需要用gnome桌面,如果服务器安装时使用的最小化安装,那么进行下面操作按章GNOME 桌面。

1
2
3
4
5
6
7
8
9
10
yum grouplist
# 列出的组列表里有GNOME Desktop。安装之
yum groupinstall -y "GNOME Desktop"
# 安装完成后,修改默认启动方式为图形化界面
systemctl set-default graphical.target //设置成图形模式

# 如果要换回来
systemctl set-default multi-user.target //设置成命令模式

# 然后重启即可,或者startx开启图形界面。第一次启动可能时间会长一点,耐心等待即可。
  1. 安装vnc server

    1
    yum install tigervnc-server -y
  2. 设置为服务

    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
    # 复制一个服务设置的模板
    cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

    # 修改此服务配置
    # 以下为root用户的配置,每一个用户,都需要单独设置一个监听服务。且配置不同
    vim /etc/systemd/system/vncserver@\:1.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"
    PIDFile=/root/.vnc/%H%i.pid
    ExecStop=-/usr/bin/vncserver -kill %i

    [Install]
    WantedBy=multi-user.target
    ----------------------------------------------------------------------------------------------------------

    # 对于普通用户,加入用户名为:Amos
    # 下面举例进行设置: 首先一样复制一个server配置。改名为vncserver@:2.service
    cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
    # 然后进行修改
    vim /etc/systemd/system/vncserver@\: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=/usr/bin/vncserver %i
    PIDFile=/home/Amos/.vnc/%H%i.pid
    ExecStop=-/usr/bin/vncserver -kill %i

    [Install]
    WantedBy=multi-user.target
    ----------------------------------------------------------------------------------------------------------
  3. 设置vnc密码,vnc的密码跟系统的用户密码不一样,是使用vnc viewer登陆时需要使用的密码。

    1
    2
    3
    4
    5
    6
    7
    8
    [root@localhost ~]# vncpasswd
    Password:
    Verify:
    Would you like to enter a view-only password (y/n)? n
    A view-only password is not used
    # 这里不添加只读账号密码
    # 每个不用的系统用户,设置密码时,需要切换到该用户下,执行此命令
    # 如:su Amos 切换到Amos用户再执行上vncpasswd设置密码
  1. 启动服务,开通端口
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    systemctl start vncserver@:1
    #一般在这里有时会出现错误使用
    systemctl daemon-reload
    #即可解决问题
    systemctl enable vncserver@:1 # 设为开机启动

    # 查看服务监听的端口
    netstat -lnpt|grep Xvnc
    # 根据监听的端口,进行端口开放,每个用户会对应一个端口,第一个用户默认为5901端口。我这里是root用户
    firewall-cmd --add-port=5901/tcp --permanent
    firewall-cmd --reload
  1. VNC服务到此已经安装完成了。然后需要使用vnc客户端进行连接。

去vnc官网下载vnc viewer,用于连接vnc server ,本身是开源的,放心使用。

不要忘了,VNC客户端需要输入相应的端口才可以。比如192.168.1.107:5901