① linux 上 配置vncserver
vncserver是使用非常方便和廣泛的遠程桌面服務,配置也相對簡單。
下面記錄了在centos系統上進行配置vncserver的過程。
安裝
查看centos下是否已經安裝了vncserver
rpm -qa |grep vnc
如果未安裝vncserver,則進行安裝
yum install vnc vncserver
vncserver配置
vnc桌面的啟動方式有兩種,一種是通過在 /etc/sysconfig/vncservers文件中配置啟動,這種方式配置的vnc桌面在伺服器啟動的時候就被啟動,可以直接遠程連接;另一種是在機器運行的時候運行vncserver
:桌面號並清 命令來啟動,這種方式啟動的vnc桌面在機器重啟後失效。
1. 使用文件來進行配置
這種方式只能在root用戶下執行。
/etc/sysconfig/vncservers的配置:
1
2
3
4
5
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600-nolisten tcp -localhost"
VNCSERVERS="1:root 2:jason"
VNCSERVERARGS[1]="-geometry 1600x1000-nolisten tcp -localhost"
VNCSERVERARGS[2]="-geometry 1600x1000-nolisten tcp -localhost"
其中指定了 桌面號:用戶名,以及相應的配置信息。
2. 使用vncserver命令來配置
這種方式可以在所御高有用戶下進行,每個用戶都可以開啟多個vnc遠程桌面,一個用戶的所有vnc桌面都使用相同的密碼,但是所有用戶的桌面號必須唯一。
1
2
3
4
5
6
7
8
9
usage: vncserver [:] [-name] [-depth ]
[-geometry x]
[-pixelformat rgbNNN|bgrNNN]
[-fp ]
[-fg]
[-autokill]
...
vncserver -kill
vncserver -list
可以通過vncserver命令新建桌面
vncserver :number 桌面號, -name 桌面名(顯示在vncviewer上), -depth 色深, -geometry 桌面大小。
或者刪除一個遠程桌面
vncserver -kill :桌面號
vnc桌面配置
每個用戶的~/.vnc目錄下都有一個 xstartup配置文件,來配置絕拆前vnc使用的是 gnome桌面還是kde桌面,還有其他的一些信息。
如果你是gnome桌面,那麼你需要修改/root/.vnc/xstartup的配置文件
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
#!/bin/sh
[ -r /etc/sysconfig/i18n ] && ./etc/sysconfig/i18n
export LANG
export SYSFONT
vncconfig -iconic &
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
OS=`uname -s`
if [ $OS = 'Linux' ]; then
case "$WINDOWMANAGER" in
*gnome*)
if [ -e /etc/SuSE-release ]; then
PATH=$PATH:/opt/gnome/bin
export PATH
fi
;;
esac
fi
if [ -x /etc/X11/xinit/xinitrc ]; then
exec /etc/X11/xinit/xinitrc
fi
if [ -f /etc/X11/xinit/xinitrc ]; then
exec sh /etc/X11/xinit/xinitrc
fi
[ -r $HOME/.Xresources ] && xrdb$HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title"$VNCDESKTOP Desktop" &
gnome-session gnome #添加這一句是連接時使用gnome 桌面環境
twm &
vncserver的服務端運行
vncserver運行:
service vncserver start
在運行的時候,每個用戶都可以通過vncserer命令開多個vnc遠程桌面(通過全局的桌面號來進行區分),且一個用戶的所有vnc桌面的密碼都相同(通過vncpasswd設置)。
每當用戶新開一個vnc桌面時,在用戶的 ~/.vnc 目錄下就會有一個對應的 伺服器機器名:桌面號.pid 的進程文件和伺服器機器名:桌面號.log 的日誌文件。
vnc客戶端的連接
a、在linux下,運行vncviewer命令即可,伺服器地址的寫法形如192.168.1.11:1
b、在windows下,運行windows版本的vncviewer即可,用法與linux下相近。
在centos7 下安裝配置vncserver
一.安裝
以root用戶運行以下命令來安裝vncserver;
yum install tigervnc-server
同樣運行以下命令來安裝vncviewer;
yum install vnc
停止並禁用防火牆
systemctl stop firewalld.service
systemctl disable firewalld.service
二.配置
vncviewer基本上不用配置;
vncserver的配置,創建一個新的配置文件,以開啟1號窗口為例(也可以同時開啟多個窗口,修改數字即可),方法如下:
cp /lib/systemd/system/[email protected]/etc/systemd/system/vncserver@:1.service
或者再增加一個窗口:
cp /lib/systemd/system/[email protected]/etc/systemd/system/vncserver@:2.service
編輯/lib/systemd/system/vncserver@:1.service,設置用戶root相關參數,最終內容如下:
[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=/sbin/runuser -l root -c"/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver-kill %i > /dev/null 2>&1 || :'
上述內容中最好設置為root用戶,否則可能會看到以下報錯:
vncserver@:1.service - Remote desktopservice (VNC)
Loaded: loaded (/usr/lib/systemd/system/vncserver@:1.service; enabled)
Active: failed (Result: exit-code) since Tue 2015-04-14 10:09:24 CST;1min 36s ago
Process: 3258 ExecStart=/sbin/runuser -l sysadmin -c /usr/bin/vncserver%i (code=exited, status=1/FAILURE)
Process: 3254 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i >/dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]:Starting Remote desktop service (VNC)...
Apr 14 10:09:24 F1A-VMHOST-SWPErunuser[3258]: Password:
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]:vncserver@:1.service: control process exited, code=exited status=1
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]:Failed to start Remote desktop service (VNC).
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]:Unit vncserver@:1.service entered failed state.
Warning: Unit file changed on disk,'systemctl daemon-reload' recommended.
三.應用
更新systemctl以使其生效;
systemctl daemon-reload
設置vncserver的密碼;
vncpasswd root
按提示輸入密碼以及確認密碼
啟動該服務用來啟用vnc的1號窗口;
systemctl start vncserver@:1.service 或者vncserver :1
關閉1號窗口:
systemctl stop vncserver@:1.service 或者vncserver -kill:1
設置為開機自動啟動;
systemctl enable vncserver@:1.service
End.
轉自 嘉為教育-rhce認證_rhce培訓_linux培訓_linux認證_linux考證
② vnc遠程連接Linux,顯示黑屏,滑鼠成「X」形
具體描述一下吧,或者給我發短消息。
有可能是X-server服務意外停止了,如果是CentOS 伺服器的話時間長一點X就會自動停止,這個時候VNC自然就無效了。可以嘗試重啟X-server。
其實如果你的客戶機也是Linux的話,不需要用VNC的,用SSH的XForwarding就可以滿足圖形需要了。
③ linux伺服器啟動VNC不能正常啟用
有個文件沒有刪除吧。你把當時的配置文件刪除,以及一些埠關閉(ps aux | grep -i vnc)。
這樣重新啟動一下。
④ 怎麼在Linux下設置vnc伺服器,使其能同時有多個用戶用root登錄,而且不會被抵消掉
1. 安裝Tigervnc-server
Tigervnc-server is a program which executes an Xvnc server and starts parallel sessions of Gnome or other Desktop Environment on the VNC desktop.
同個用戶可以通過多個客戶端使用VNC會話。在CentOS7上安裝Tigervnc-server請打開終端,使用root用戶許可權安裝:
sudo yum -y install tigervnc-server
2. 安裝完畢後,切換到你想使用Tigervnc-server的用戶,然後使用下列命令對VNC設置密碼,需要注意的是密碼長度必須為6位以上:
su - your_uservncpasswd
3. 接下來,在系統配置文件路徑下為你的用戶添加一個VNC服務配置文件(daemon configuration file)。需要注意的是拷貝至系統路徑需要root許可權。
加入當前用戶不具有root許可權,請切換到root用戶(su - root)或者使用以下命令:
sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
4. 下一步,編輯從系統路徑(/etc/systemd/system/)拷貝過來的VNC的模板配置文件。將其中的用戶名改為你的用戶名。
(注意) 在 @後面的數字1表示的是顯示界面的序列號,對應的埠是port 5900+序列號。對於每一個啟動的vncserver服務,埠號5900會自增1。
sudo vim /etc/systemd/system/vncserver@:1.service
添加下列行到覆蓋原來的vncserver@:1.service. 注意:下面的兩處xxx替換為自己的而用戶名
[Unit]Description=Remote desktop service (VNC)After=syslog.target network.target[Service]Type=forkingUser=xxx# Clean any existing files in /tmp/.X11-unix environmentExecStartPre=-/usr/bin/vncserver -kill %iExecStart=/usr/bin/vncserver %iPIDFile=/home/xxx/.vnc/%H%i.pidExecStop=-/usr/bin/vncserver -kill %i[Install]WantedBy=multi-user.target
5. 添加完畢後,重新運行系統systemd的初始化程序以便使新的配置文件生效,然後重啟TigerVNC server
與此同時,檢查VNC service的狀態同時啟用VNC daemon system-wide。
systemctl daemon-reloadsystemctl start vncserver@:1systemctl status vncserver@:1systemctl enable vncserver@:1
6. 我們可以查看VNC server佔用的埠號,使用命令ss——CentOS 7下用來顯示網路sockets 佔用的命令。因為我們剛剛打開了一個顯示會話,所以目前打開的埠應該是5901/TCP.
同樣的,使用ss命令需要root許可權。假如不同用戶登錄到了本機,對應的埠號就應該是5902,接下來應該是5903 等等,埠6000+是用於X應用連接到VNC server的.
IIS7伺服器管理工具可以批量管理、定時上傳下載、同步操作、數據備份、到期提醒、自動更新。IIS7伺服器管理工具適用於Windows操作系統和liunx操作系統;支持Vnc客戶端和Ftp客戶端批量操作。