Centos 7 配置 VNCServer 經驗

来源:互联网 发布:大数据分析算法 编辑:程序博客网 时间:2024/04/28 22:57

安裝 Centos 7後, 習慣性的安裝  Xmanager 3或4, 都不能正常工作, 無奈之下開始安裝 VNCServer。

(個人習慣使用Xmanager, 因為不需要安裝,只要配置一下就能用, 而且一直很穩定)

為了節省以後安裝 vncserver 的時間,寫這篇文章作備忘用


安裝/配置:

使用 yum 安裝 tigervnc-server

# yum install tigervnc-server



拷貝服務配置文件: 

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


按照 vncserver@:1.service 文件頭部的指導, 只需要以下部分:

把有 <USER> 的地方都改為 用戶名, 本文使用 root , 文件內容如下:

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill 1 > /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 || :'


[Install]
WantedBy=multi-user.target

備注:如果不是 root用戶,則以下一行需要修改為:

PIDFile=/home/user001/.vnc/%H%i.pid


重新加載systemd守護進程, 使修改生效

# systemctl daemon-reload


設置連接密碼

# vncpasswd


啟動服務命令:

# systemctl start vncserver@:1.service


問題1:不能啟動服務

提示錯誤如下:



解決方法:

修改 vncserver@:1.service 文件中 Type=simple


再嘗試啟動服務後OK

# systemctl daemon-reload

# systemctl start vncserver@:1.service


到此, 在 win7 使用 vncview 已經可以遠程連線這台 VNCServer了 (需要在 IP 地址後面加上冒號5901註明端口, 例 10.0.0.100:5901)

 

問題2:vncviewer 連接時報錯:connect: Connection refused (10061)

解決方法: 在 vncviewer 輸入 IP  地址時 加上桌面號, 即 vncserver@:1.service   中的 1

 以本文為例, 輸入 ip 為 : 192.168.1.100:1 就可以了.


 

問題3:不能停止服務

使用以下命令不能停止服務

# systemctl stop vncserver@:1.service

以上命令執行成功, 也沒有錯誤提示, 使用 telnet 來測試 VNCServer 的 5901 端口, 仍然是通的, 說明實際上服務仍在運行

說明2點:

(1) 以上情形只會發生在 root 用戶

(2) 使用 # vncserver -kill :1 可以停止服務


解決方法:

修改 /lib/systemd/system/vncserver@:1.service  文件

把 PidFile=/home/root/.vnc/%H%i.pid

改為 PidFile=/root/.vnc/%H%i.pid

再嘗試重啟服務後,就可以使用 # systemctl stop vncserver@:1.service 命令停止服務了


備注:

1) systemctl 設置服務自動啟動的命令為 systemctl enable vncserver@:1.service 

2) 配置過程中發現以下現象都是 vncserver@:1.service 沒有配好的原因:

    (1) 執行啟動服務的命令後,在幾秒後服務停止, telnet 5901端口不通

    (2) 使用 vncview 工具連線後彈出 Unencryption connection 錯誤, 或 telnet 5901端口後報錯: Unencryption connection

3) 使用 # systemctl status vncserver@:1.service 查看服務狀態不一定準確, 尤其是在異常處理階段

     建議使用dos命令 telnet 來測試服務是否啟動, 或者使用 # lsof -i:5901

4) 異常處理階段建議關閉防火牆:

    # systemctl stop iptables.service

    # systemctl disable iptables.service

    # systemctl stop firewalld.service

    # systemctl disable firewalld.service

5) 如果沒有安裝圖形界面, 將不能直接使用 vncserver, 可以安裝成功,但無法正常啟動vncserver服務.

安裝圖形界面命令如下:

    # yum groupinstall "X Window System"

    # yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

設置默認啟動圖形界面

    # unlink /etc/systemd/system/default.target

    # ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

    # reboot


1 0
原创粉丝点击