目錄vim
1.Vnc 概述
VNC:virtual Network Console 虛擬網絡控制檯。是一款經常使用的遠程控制工具軟件。
VNC 包括如下四個命令:vncserver,vncviewer,vncpassword及vncconnect。
VNCclient端經過VNC協議遠程鏈接到vnc server端,進行桌面共享及交互;
經常使用的VNC軟件主要有:RealVNC、TightVNC、TigerVNC、UltraVNC。
RealVNC:由VNC團隊部分紅員開發,分爲全功能商業版及免費版;
TightVNC:精簡型,較節省帶寬;
TigerVNC:是基於RealVNC 4和X.org代碼庫的VNC的高速版本;
UltraVNC:可結合Active Directory 及NTLM的帳號密碼認證,但僅有Windows版本。
VNC默認使用TCP端口5900。
VNC服務使用的端口號與桌面號相關,端口從5900開始,對應關係以下:
桌面號爲「1」 ---- 端口號爲5901
桌面號爲「2」 ---- 端口號爲5902
桌面號爲「3」 ---- 端口號爲5903
……
基於Java的VNC客戶程序Web服務TCP端口從5800開始,對應關係以下:
桌面號爲「1」 ---- 端口號爲5801
桌面號爲「2」 ---- 端口號爲5802
桌面號爲「3」 ---- 端口號爲5803網絡
2.Vnc 安裝部署
2.1環境檢查
在安裝以前,須要先檢查下系統版本以及是否已安裝vnc軟件。
並且,由於client經過vnc鏈接到server端的桌面,所以,在安裝部署VNC server以前,Linux須要先安裝好圖形化桌面。
[root@localhost ~]# cat /etc/redhat-release #檢查系統版本
[root@localhost ~]# rpm -qa | grep vnc #檢查是否已安裝vncsession
[root@localhost ~]# systemctl get-default #檢查當前運行級別dom
[root@localhost ~]# yum grouplist #檢查可安裝的group
Available Environment Groups:
GNOME Desktop
Available Groups:
Graphical Administration Tools
檢查能夠看到支持安裝GNOME桌面及對應的圖形化管理工具。tcp
2.2圖形化桌面安裝
使用yum命令開始安裝GNOME包及圖形化管理工具。
[root@localhost ~]# yum groupinstall "GNOME Desktop"
[root@localhost ~]# yum groupinstall "Graphical Administration Tools"
安裝完後,再進行檢查一遍,以下結果表示圖形化桌面已安裝OK:
[root@localhost ~]# yum grouplist
Installed Environment Groups:
GNOME Desktop
Installed Groups:
Graphical Administration Tools分佈式
2.3Vnc 軟件安裝
圖形化桌面安裝好後,而後經過yum安裝tightVNC軟件包:
[root@localhost ~]# yum isntall nvc-serveride
安裝完畢後,再次檢查下vnc安裝包工具
[root@localhost ~]# rpm -qa |grep vnc3d
3.Vnc 配置
安裝好後,不要急着開始啓用,先了解下vnc幾個基本配置文件。
3.1須要瞭解的關鍵文檔
/lib/systemd/system/vncserver@.service #vnc配置文件
/usr/lib/systemd/system/vncserver@.service #vnc配置文件
/etc/systemd/system/vncserver@:N.service #vnc配置文件,N表明數字
/etc/sysconfig/vncservers #vnc user配置文件
/usr/bin/vncconfig
/usr/bin/vncpasswd #vnc用戶密碼更改進程
/usr/bin/vncserver #vnc 服務進程unix
3.2Vnc配置文件配置
打開 /lib/systemd/system/vncserver@.service 文件,按提示進行配置:
按如上提示:
第一步:copy /lib/systemd/system/vncserver@.service 文件到 /etc/systemd/system/ 目錄下,並命名爲vncserver@:1.service
#cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
第二步:配置 /etc/systemd/system/vncserver@:1.service文件
[root@localhost system]# vim /etc/systemd/system/vncserver@:1.service
[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
第三步:從新加載systemd服務br/>vncserver@.service文件配置好後,就須要從新加載systemd服務。
[root@localhost system]# systemctl daemon-reload
第四步:啓動vncserver服務。
[root@localhost system]# systemctl start vncserver@:1.service
注意:若有多個用戶須要經過VNC 鏈接到vnc server,可重複以上步驟,創建多個vncserver@:N.service 文件,並運行。
3.3創建VNC用戶
新增一個用戶並設置密碼:
[root@localhost system]# useradd user
[root@localhost system]# passwd user
以剛纔創建的用戶登陸:
[root@localhost system]# su - user
[user@localhost ~]$ vncpasswd
如上圖所示,能夠設置vnc帳號兩個密碼,vncpasswd密碼具備用戶正常的權限;
使用 view-only密碼鏈接vnc,僅有桌面瀏覽權限。
設置vncpasswd密碼後,在帳號的家目錄裏就會自動創建 .vnc 文件:
4.Vncserver 服務運行
4.1vncserver 啓動
能夠針對不一樣的vnc用戶啓用對應的vncserver服務。
[root@localhost ~]# systemctl start vncserver@:1.service
[root@localhost ~]# systemctl status vncserver@:1.service
啓用服務後,再檢查服務狀態,從上圖能夠看出,vncserver@:1.service 已加載 /etc/systemd/system/vncserver@:1.service 文件。
再檢查監聽的端口:
[root@localhost ~]# netstat -nutpl |grep vnc
[root@localhost ~]# ps -ef |grep vnc
查看日誌信息:
每一個vnc用戶目錄下都會生成一個對應的日誌文件
[root@localhost ~]# tail -f /home/user/.vnc/localhost.localdomain\:1.log
4.2vncserver 自啓動
[root@localhost ~]# systemctl enable vncserver@:1.service
命令執行後會在 /etc/systemd/system/multi-user.target.wants/ 下創建一個對應的ln鏈接,之後開機時就會自動加載vncserver@:1.service進程。
4.3Vncserver 關閉br/>使用如下命令關閉vncserver@:1.service進程,僅關閉此用戶的vnc服務,對其餘用戶的vnc鏈接不受影響。
[root@localhost ~]# systemctl stop vncserver@:1.service
5.防火牆配置
所有配置好後,服務也啓動了,還須要針對該服務放通防火牆。
能夠針對端口進行放通,也能夠針對該服務進行放通。
防火牆的默認端口爲TCP的5900 - 590N,第一個vnc用戶使用TCP 5901,則第二個vnc用戶使用TCP 5902,依次類推。
[root@localhost~]# firewall-cmd --zone=public --add-port=5901/tcp --permanent
若是擔憂端口變化,也能夠針對服務進行放通:
[root@localhost ~]# firewall-cmd --add-service vnc-server --permanent
服務放通後,還須要從新加載防火牆,使更改生效:
[root@localhost ~]# firewall-cmd --reload
[root@localhost ~]# firewall-cmd --list-services
6.Vnc 客戶端安裝步驟
6.1軟件安裝
能夠根據本身的愛好從官網下載對應的軟件。我這裏使用realvnc viewer。
首先進入官網:https://www.realvnc.com/en/connect/download/viewer/
下載後雙擊VNC-Viewer-6.19.715-Windows.exe開始安裝:
選擇語音:
點擊下一步:
接受許可協議:
選擇安裝組件:
點擊安裝:
安裝完畢後,進入安裝目錄C:\Program Files\RealVNC\VNC Viewer打開vncviewer程序:
輸入鏈接的vncserver IP地址及端口:
在 vncviewer會自動保留剛纔所創建的鏈接:
雙擊打開,輸入用戶的vnc鏈接密碼:
6.2環境設置
若是是第一次登錄的話,還須要配置下基本的桌面環境,
語言設置:
位置服務設置:
在線帳號,能夠直接跳過,後續有必要可在設置:
配置好後,點擊開始應用:
到此,VNC已基本配置OK,能夠正式使用。
7.Vnc 鏈接黑屏解決辦法
經過vncviewer鏈接後,出現黑屏,主要處理辦法:
7.1修改xstartup 文件
進入vnc用戶家目錄下的xsartup文件
[root@localhost ~]# vim /home/user/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
#/etc/X11/xinit/xinitrc
#vncserver -kill $DISPLAY
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
gnome-session &
7.2設置xstartup文件權限
Xstartup權限默認爲
能夠設置權限爲777
[root@localhost ~]# chmod 777 /home/user/.vnc/xstartup
7.3配置vncservers文件
[root@localhost ~]# vim /etc/sysconfig/vncservers
#THIS FILE HAS BEEN REPLACED BY /lib/systemd/system/vncserver@.service
VNCSERVERS=」1:root」
VNCSERVERARGS[1]="-geometry 800×600"
7.4重啓主機
配置完畢後,重啓服務,如仍是不行,再重啓主機。
Zabbix5.0企業級分佈式監控系統:精講與企業應用:
Zabbix5.0企業級分佈式監控系統