2016年6月1日 星期三

[Linux 文章收集] CentOS 7 安裝 VNC Server

Source From Here 
Preface 
VNC 是一套支援 Linux 及 Windows 的遠端管理軟體, 可以讓用戶用其他電腦, 用 VNC-Client 作圖形介面 (GUI) 遠端管理。以下會介紹在 RHEL 及 CentOS 7 (Fedora 應該也適用) 安裝 VNC Server 的步驟。 

How-To 
由於是透過 GUI 管理, 所以需要圖形桌面環境, 如果沒有安裝, 可以用以下指令安裝 GNOME: 
# yum groupinstall “GNOME Desktop”

安裝 VNC Server/Viewer: 
# yum install tigervnc-server
# yum search TigerVNC
tigervnc.x86_64 : A TigerVNC remote display system
...

# yum install -y tigervnc.x86_64 

安裝好 VNC Server 後, 現在要設定 VNC 用戶, 下面會以 phpini 作為例子: 
# useradd phpini

CentOS 7 的 VNC Server 設定檔在 /lib/systemd/system/vncserver@.service (以前是 /etc/sysconfig/vncservers), 用這個設定檔為基礎建立新的設定檔, 然後再編輯新建立的設定檔: 
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
# vi /etc/systemd/system/vncserver@:1.service

將裡面的 改成上面設定的用戶名稱, 例如: 
  1. [Service]  
  2. Type=forking  
  3. # Clean any existing files in /tmp/.X11-unix environment  
  4. ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'  
  5. #ExecStart=/sbin/runuser -l -c "/usr/bin/vncserver %i"  
  6. #PIDFile=/home//.vnc/%H%i.pid  
  7. ExecStart=/sbin/runuser -l phpini -c "/usr/bin/vncserver %i"  
  8. PIDFile=/home/phpini/.vnc/%H%i.pid  
  9. ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'  
設定 Firewall 開啟 VNC 連接對外開放: 
# firewall-cmd --permanent --zone=public --add-service vnc-server
# firewall-cmd –reload

現在用 su 切換用戶身份到 phpini, 並開啟 VNC 服務: 
$ su – phpini
$ vncpasswd

然後設定 VNC 密碼, 這個密碼不同系統密碼, 是用作連接 VNC Server 的。設定好後, 用 su 切換回 root 身份並設定開機自動執行 VNC Server: 
$ su –
# systemctl daemon-reload
# systemctl start vncserver@:1.service
# systemctl enable vncserver@:1.service

Supplement 
centos7镜像创建的容器里面安装服务后,无法使用命令启动服务 - Failed to get D...ction: Operation not permitted 
Iptables Open VNC Port To Allow Incoming VNC Connections

沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...