Centos 7 安裝VNC步驟

冷月宮主發表於2016-09-06

Centos7 安裝VNC步驟

 

一.安裝

1.  以root使用者執行以下命令來安裝vncserver;

yum install tigervnc-server 

2.  同樣執行以下命令來安裝vncviewer;

yum install vnc

3.  停止並禁用防火牆;

systemctl stop firewalld.service

systemctl disable firewalld.service

二.配置

1.  vncviewer基本上不用配置;

2.  vncserver的配置,建立一個新的配置檔案,以開啟1號視窗為例(也可以同時開啟多個視窗,修改數字即可),方法如下:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

或者再增加一個視窗:

cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:2.service

編輯vi/etc/systemd/system/vncserver@:1.service,設定使用者root相關引數(將文中的“<USER>”替換為你係統的使用者名稱,這裡我填寫的是root,你可以填寫成你的系統登入名),最終內容如下:

1

2

3

4

5

6

7

8

9

10

[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使用者,否則可能會看到以下報錯:

1

2

3

4

5

6

7

8

9

10

11

vncserver@:1.service - Remote desktop service (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-SWPE runuser[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.

三.應用

1.  更新systemctl以使其生效;

systemctl daemon-reload 

2.  設定vncserver的密碼;

vncpasswd root

按提示輸入密碼以及確認密碼

3.  啟動該服務用來啟用vnc的1號視窗;

systemctl start vncserver@:1.service  或者 vncserver :1

關閉1號視窗:

systemctl stop vncserver@:1.service   或者 vncserver -kill :1

4.  設定為開機自動啟動;

systemctl enable vncserver@:1.service

End.               

 

 

問題處理:

1、  如果遠端使用ssh可以正常登入,而在本機登入時提示“module is unknow”,則使用在遠端使用“tail -n 100 /var/log/secure”檢視錯誤,我當時是發現以下錯誤:

PAM unable todlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: cannot openshared object file: No such file or directory

也就是找不到pam_limits.so,看了一下對應目錄下也確實沒有對應檔案,經搜尋確認,64位作業系統的對應位置是“/lib64/security/”,這樣就可以修改登入檔案了。

修改vi/etc/pam.d/login

 

註釋掉其中的:

session required/lib/security/pam_limits.so

改為

session required/lib64/security/pam_limits.so

然後再在主機上試著登入就可以解決了,此時登入後就可以輸入startx進入圖形介面了,此時VNC客戶端登入時顯示的“Oh no! Something has gone wrong”也不會再出現了。

2、  顯示“Oh no!Something has gone wrong”

如果出現提示“Oh no!Something has gone wrong”,則接CTRL+ALT+F2進入命令列模式

如果用命令列登入提示“moduleis unknow”,則使用以下指令檢視日誌:

tail -n 100 /var/log/secure

在日誌中找到這個錯誤。

 PAM unable todlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: cannot openshared object file: No such file or directory

於是在進入/lib/security/下面看下到底檔案在不在。果然沒有。

oracle中配置過pam_limits.so

vi /etc/pam.d/login

 

session required /lib/security/pam_limits.so

 

pam_limits.so這個檔案系統本省應該有的,會不會是linux版本不一樣路徑也不一樣呢,

 

網上搜了下,64位系統是在/lib64/security/下面

修改vi /etc/pam.d/login

session required /lib64/security/pam_limits.so

 

重啟系統

 

終於進去了,問題解決。

3、  檢視埠號

檢視埠狀態:netstat -lnt |grep 590*

4、  檢視埠由那個程式佔用

lsof -i:5905

5、   

相關文章