平時我們基本上都是用xshell或者用putty遠程我們的linux服務器,如果我們的linux服務器安裝了圖型化界面那我們又該如何遠程使用我們的圖形化界面呢?下面我們用vnc來實現遠程我們的linux服務器
1:安裝VNC Server:yum -y install vnc-server
2:復制vnc server的配置模板:cp vncserver@.service vncserver@:1.service [root@xwq ~]# cd /lib/systemd/system [root@xwq system]# cp vncserver@.service vncserver@:1.service
注:VNC 服務本身使用的是5900端口。鑒於有不同的用戶使用 VNC ,每個人的連接都會獲得不同的端口。配置文件名里面的數字告訴 VNC 服務器把服務運行在5900的子端口上。在我們這個例子里,第一個 VNC 服務會運行在5901(5900 + 1)端口上,之后的依次增加,運行在5900 + x 號端口上。其中 x 是指之后用戶的配置文件名 vncserver@:x.service 里面的 x 。
如果要用更多的用戶連接,需要創建配置文件和端口,添加一個新的用戶和端口。你需要創建 vncserver@:2.service 並替換配置文件里的用戶名和之后步驟里相應的文件名、端口號。請確保你登錄 VNC 服務器用的是你之前配置 VNC 密碼的時候使用的那個用戶名。
3:編輯配置模板:vim vncserver@:1.service 把root用戶加入登陸用戶中,以及修改登陸后的vnc分辨率 修改前: [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=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i" PIDFile=/home/<USER>/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target
修改后:
[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=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i -geometry 1376x730"
PIDFile=/home/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
4:(1)重新載入 systemd,掃描新的或有變動的單元:systemctl daemon-reload [root@xwq system]# systemctl daemon-reload (2)為登陸的root用戶添加一個密碼 [root@xwq system]# vncpasswd root Password:輸入你的密碼 Verify:再次輸入你的密碼 (3)啟動vnc桌面 [root@xwq system]# vncserver :1 You will require a password to access your desktops. Password:輸入你的密碼 Verify:再次輸入你的密碼 xauth: file /root/.Xauthority does not exist xauth: (stdin):1: bad display name "xwq:1" in "add" command New 'xwq:1 (root)' desktop is xwq:1 Creating default startup script /root/.vnc/xstartup Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/xwq:1.log (4)用下面的命令(永久的)開啟服務 [root@xwq system]# systemctl enable vncserver@:1.service 如果輸入systemctl enable vncserver@:1.service命令輸出了如下代碼,
[root@xwq system]# systemctl enable vncserver@:1.service
ln -s '/usr/lib/systemd/system/vncserver@:1.service' '/etc/systemd/system/multi-user.target.wants/vncserver@:1.service'
請在終端輸入這行命令:echo "127.0.0.1 xwq"> /etc/hosts
(5)輸入以下命令配置防火牆規則:
[root@xwq ~]# firewall-cmd --permanent --zone=public --add-port=5901/tcp
success
[root@xwq ~]# firewall-cmd --reload
success
5:使用windows端安裝vnc viewer訪問redhat,可以成功訪問。
6:其他命令 關閉vnc服務:systemctl stop vncserver@:1.service 禁止 VNC 服務開機啟動:systemctl disable vncserver@:1.service 關閉防火牆:systemctl stop firewalld.service