系統(tǒng)環(huán)境:CentOS Linux release 7.4.1708
Kernel:3.10.0-693.el7.x86_64
系統(tǒng)現(xiàn)狀:最小化安裝,沒有安裝任何圖形支持軟件
安裝圖形化支持
不建議安裝GNOME Desktop,它會占用大量系統(tǒng)資源,安裝完后大約要占用1G左右的空間,而且安裝過程也較長。以root權(quán)限安裝“X Window System”即可
# yum groups install "X Window System"
# yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
修改系統(tǒng)啟動級別
# systemctl set-default graphical.target #graphical.target相當(dāng)于level5,multi-user.target相當(dāng)于level3
安裝vncserver
# yum install tigervnc-server
配置vncserver實例
分別配置root用戶和wang用戶,配置略有不同
root用戶,服務(wù)名是vncserver@:1.service:
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
修改拷貝過來的模板配置文件,主要是[Service]部分
# vim /etc/systemd/system/vncserver@:1.service
[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
wang用戶,服務(wù)名是vncserver@:2.service:
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
# vim /etc/systemd/system/vncserver@:2.service
[Service]
Type=forking
User=wang
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/usr/bin/vncserver %i
PIDFile=/home/wang/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i
普通用戶的ExecStart不同于root,加/sbin/runuser則會在啟動服務(wù)時報以下錯誤
Job for vncserver@:2.service failed because the control process exited with error code. See "systemctl status vncserver@:2.service" and "journalctl -xe" for details.
設(shè)置vncpasswd
# vncpasswd #root用戶實例的vnc密碼
# su – wang
$ vncpasswd #普通用戶一定要切換到用戶自己的環(huán)境下
密碼設(shè)置完成后回到root權(quán)限下,啟動服務(wù)
加載進(jìn)程,重啟服務(wù)
# systemctl daemon-reload
# systemctl start vncserver@:1.service
# systemctl start vncserver@:2.service
# systemctl enable vncserver@:1.service
# systemctl enable vncserver@:2.service #開機(jī)啟動
配置系統(tǒng)防火墻
# firewall-cmd –zone=public –add-port=5901/tcp
# firewall-cmd –zone=public –add-port=5902/tcp
# firewall-cmd –reload