VNC 是虚拟网络计算(Virtual Network Computing),是一项允许使用远程帧缓冲协议(RFB)远程控制另一台计算机的技术。在这里,将介绍如何在 Ubuntu 18.04 LTS 和 CentOS 上安装和配置 VNC 服务器。本文默认使用用户 root,使用普通用户,请在命令前增加 sudo
.
安装 VNC 服务 1 2 3 4 5 6 7 8 apt update apt install xorg openbox xserver-xorg-core apt install tigervnc-standalone-server tigervnc-xorg-extension yum update -y yum install -y tigervnc-server xorg-x11-fonts-Type1
安装桌面环境 轻量级桌面 xfce4:
1 2 3 4 5 apt install xfce4 xfce4-goodies yum install xfce4 xfce4-goodies -y
经典桌面 gnome:
1 2 3 4 5 6 7 8 9 10 apt install -y --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal systemctl start gdm apt install tasksel -y tasksel yum -y groups install "GNOME Desktop"
安装完桌面环境后,记得设置下次开机启动桌面。然后重启电脑
1 2 systemctl set-default graphical.target shutdown -r now
配置 VNC 服务 设置密码 建议在使用 vnc 之前先设置登录密码
启动服务 1 2 vncserver -localhost no
关闭服务
设置 VNC 启动服务桌面环境 使用下面配置可设置启动时的桌面环境
1 2 3 4 5 6 7 8 9 10 #!/bin/sh [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME /.Xresources ] && xrdb $HOME /.Xresources vncconfig -iconic & dbus-launch --exit-with-session gnome-session &
或者
1 2 3 4 5 6 7 8 9 10 11 12 13 #!/bin/sh unset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESSexport DESKTOP_SESSION=/usr/share/xsessions/ubuntu.desktopexport XDG_CURRENT_DESKTOP=ubuntu:GNOMEexport GNOME_SHELL_SESSION_MODE=ubuntuexport XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktopvncconfig -iconic & gnome-session &
或者
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 #!/bin/sh if [ "x$XDG_SESSION_TYPE " = "xwayland" ] && [ "x$XDG_SESSION_CLASS " != "xgreeter" ] && [ -n "$SHELL " ] && grep -q "$SHELL " /etc/shells && ! (echo "$SHELL " | grep -q "false" ) && ! (echo "$SHELL " | grep -q "nologin" ); then if [ "$1 " != '-l' ]; then exec bash -c "exec -l '$SHELL ' -c '$0 -l $*'" else shift fi fi if [ -n "$REGION " ]; then unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER if [ "$LANG " != "$REGION " ] ; then export LC_TIME=$REGION export LC_NUMERIC=$REGION export LC_MONETARY=$REGION export LC_MEASUREMENT=$REGION export LC_PAPER=$REGION fi fi exec dbus-launch /usr/libexec/gnome-session-binary "$@ "
设置语言 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 apt update apt install locales dpkg-reconfigure locales en_US.UTF-8 zh_CN UTF-8 UTF-8 sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8apt install ttf-wqy-zenhei fonts-wqy-zenhei shutdown -r now
连接远程 VNC 桌面 首先,先在远程主机上打开 VNC 服务,更多参数如下
1 2 3 4 vncserver -localhost no -geometry 1920x1080 -depth 24
其次,本地连接,推荐使用 MobaXterm 或 REALVNC ,MobaXterm 的连接方法如下:
打开 Sessions,选择 VNC
填写 Remote hostname or IP address
选择端口 5901
输入设置的密码,登录
MobaXterm 无法在 Mac 系统上使用。在该系统上可使用 REALVNC 下载地址:realvnc
输入:
然后,输入 vncpasswd
设置的密码,即可登录。
此外,也可以使用 Linux 的 VNC 查看器,需要安装
1 2 ssh <username>@<vnsserverip> -C -L 5901:127.0.0.1:5901 apt install tigervnc-viewer
配置自启 VNC 服务 1 2 vncserver -kill :1 vim /etc/systemd/system/vncserver@.service
添加如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking PIDFile=/home/jinzhongxu/.vnc/%H:%i.pid ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || : ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1920x1080 -depth 24 ExecStop=/usr/bin/vncserver -kill :%i User=jinzhongxu Group=jinzhongxu WorkingDirectory=/home/jinzhongxu [Install] WantedBy=multi-user.target
然后,开启自启
1 2 3 4 systemctl daemon-reload systemctl enable vncserver@1.service systemctl start vncserver@1.service systemctl status vncserver@1.service
TigerVNC tigervnc 是个人使用中比较喜欢的一种 VNC 软件,下面专门对其介绍。
安装 假设桌面程序已经安装,如果没有安装请使用上面介绍的方法安装。
1 2 3 4 5 6 7 wget https://nchc.dl.sourceforge.net/project/tigervnc/stable/1.13.1/tigervnc-1.13.1.x86_64.tar.gz tar -xzf tigervnc-1.13.1.x86_64.tar.gz sudo mv tigervnc-1.13.1.x86_64 /usr/local/tigervnc sudo cp /usr/bin/Xvnc /usr/bin/Xvnc.bak sudo ln -s /usr/local/tigervnc/usr/bin/Xvnc /usr/bin/Xvnc
1 sudo apt update && sudo apt install tigervnc-standalone-server
使用 方法一安装使用:
1 2 3 4 5 /usr/local/tigervnc/usr/bin/vncpasswd /usr/local/tigervnc/usr/libexec/vncserver :7
方法二安装使用:
1 2 3 4 5 6 7 8 9 10 11 vncpasswd vncserver :7 vncserver :7 -localhost no vncserver -xstartup /usr/bin/gnome-session :7 -localhost no tigervncserver -xstartup /usr/bin/gnome-session :7 -localhost no
配置自启动 方法一配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 cat > /etc/systemd/system/vnc@:7.service <<"EOF" [Unit] Description=tigervnc Service After=network-online.target [Service] Type=simple PIDFile=/tmp/vnc.pid ExecStart=/usr/local/tigervnc/usr/libexec/vncserver %i ExecStop=/bin/kill -HUP $MAINPID Restart=on-failure RestartSec=3 User=jinzhongxu Group=jinzhongxu [Install] WantedBy=multi-user.target EOF
方法二的配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 cat > /etc/systemd/system/vnc@:7.service <<"EOF" [Unit] Description=tigervnc Service After=network-online.target [Service] Type=simple ExecStart=/usr/bin/vncserver %i -xstartup /usr/bin/gnome-session -localhost no ExecStop=/usr/bin/vncserver -kill %i Restart=on-failure RestartSec=3 User=jinzhongxu Group=jinzhongxu [Install] WantedBy=multi-user.target EOF
参考文献
How To Install and Configure VNC Server on Ubuntu 18.04 LTS
VNC 在ubuntu desktop下只显示空白桌面
解决配置Ubuntu中vnc远程显示灰屏