網上看了很多資料,完全是亂的。
我使用的是CentOS7.1的系統。我的要求是windows的客戶機可以遠程訪問CentOS系統。
1,首先需要檢查一下服務器是否已經安裝了VNC服務,檢查服務器的是否安裝VNC的命令如下:
rpm -qa | grep vnc
如果安裝了會顯示tigervnc的版本號。
2,如果沒有安裝vnc可以使用下面命令進行安裝:
yum install tigervnc tigervnc-server
3,使用下面的命令編輯配置文件:
vi /etc/sysconfig/vncservers
使用上面命令的時候,可能您服務器上面已經存在這個配置文件,也可能您服務器上面不存在這個配置文件,將下面的內容添加到配置文件內:
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800x600"
下面這段是上面所講配置文件注解,做參考之用:
#這個是配置遠程桌面登錄的用戶名,如果兩個用戶,則使用VNCSERVERS="1:user1 2:user2" ,,
依次類推,默認情況下,1:user1對應5901,2:user2對應5902(VNC的默認監聽端口是5900,監聽端口規則為590+usernumber),如下
VNCSERVERS="usernumber:myusername"
#下面這項配置為登錄桌面配置,其中的“1”為用戶序號,800x600為分辨率---感覺這個分辨率改了也沒有什么作用
4,使用下面的命令為vnc設置密碼(需要使用su 切換到要設置vnc密碼的用戶上,比如:su user1,其中user1就是在上面配置文件內寫的帳號)
vncpasswd
5,設置好密碼之后,就是啟動VNC服務了,啟動VNC服務的時候也需要用su user1(user1就是在上面配置文件內寫的帳號)切換到要啟動服務的帳號上
vncserver :1
6, 其他命令
vncserver :n //開第n個服務
vncserver -list //看有幾個在運行
vncserver -kill :n //殺掉第幾個服務
vncpasswd //修改密碼
7、服務管理
service vncserver restart ---這個命令也執行不了,提示沒有這個文件或者目錄
其它用法:/etc/init.d/vncserver {start|stop|restart|try-restart|status|force-reload}
chkconfig vncserver on 加入到自啟動(chkconfig --level 35 vncserver on)
設置VNC服務開機啟動用下面的命令:----這個不行,設置不了,命令執行不了,提示沒有這個文件或者目錄
chkconfig vncserver on
在一些minimal系統里,即使英文也會出現
8, 啟動完畢后使用netstat -nat查看監聽端口(默認為5901,5902,5903等)
確實這個程序啟動了,監聽的端口也存在了。
9, 防火牆設置,則需要配置規則允許對應端口tcp包通過。
參考配置:iptables -I INPUT 1 -p tcp --dport 5901 -j ACCEPT(其中-I INPUT 1代表插入一條規則,這條規則的位置是1,詳情請查閱iptables相關配置)
---防火牆這里不知道怎么設置的,訪問不了,最后使用命令把防火牆關閉了,客戶端才能訪問了
10,客戶端連接
CentOS:使用TigerVNC Viewer 連接 ip:1
Windows:使用Real VNC Viewer 連接ip:1---我是從網上下了一個RealVNC,還需要license。
輸入密碼即可訪問
11,VNC客戶端和宿主機共享粘貼板
目標主機是CentOS,終端主機是windows(就是在windows上使用VNC登陸CentOS)
在linux中執行:
vncconfig -nowin&
在linux選中文字后,無需其他按鍵,直接在windows中可以黏貼。在windows中選中文字,Ctrl+C,在linux中按中鍵黏貼
最終還是可以訪問了。