tigervnc - yusukew62/docs GitHub Wiki

tigervnc

GUI環境インストール

# yum groups install "GNOME Desktop"

GUI環境設定

CentOS7のコンソール上(vSphere Clientのコンソール等)からコマンドを実行

# startx

デスクトップ画面が表示され下記を設定

言語 -> キーボード -> 位置情報サービス -> オンラインアカウント

設定後、サーバOSを再起動

# shutdown -r now or GUI上から再起動

起動モードを確認

# systemctl get-default
graphical.target

デフォルトの起動モードを設定

# systemctl set-default graphical.target

設定を確認

# ls -l /etc/systemd/system/default.target
lrwxrwxrwx 1 root root 40 12月 12 04:43 /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target

tigervncインストール

tigervncインストール

# yum install tigervnc-server

インストールファイル確認

# rpm -qs tigervnc-server
通常          /etc/sysconfig/vncservers
通常          /usr/bin/vncserver
通常          /usr/bin/vncserver_wrapper
通常          /usr/bin/x0vncserver
通常          /usr/lib/systemd/system/[email protected]
通常          /usr/lib/systemd/system/xvnc.socket
通常          /usr/lib/systemd/system/[email protected]
通常          /usr/share/man/man1/vncserver.1.gz
通常          /usr/share/man/man1/x0vncserver.1.gz

ファイアウォール設定

vncサーバのセッション1を開放する場合は、5900+1で 5901/tcpを開放する

# firewall-cmd --add-port=5900-5910/tcp --permanent

ファイアウォール設定反映

# firewall-cmd --reload
success
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: dhcpv6-client ssh
  ports: 5900-5910/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

ユーザ設定

ユーザ作成

# useradd permit

パスワード設定

# passwd permit
ユーザー permit のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードは 8 未満の文字列です。
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。

vncパスワード設定

# su - permit
$ pwd
/home/permit
$ vncpasswd permit
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

サービス設定

自動起動有効化

# systemctl enable vncserver@:1.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /etc/systemd/system/[email protected].

自動起動有効化(レンジで指定)

# for i in {1..10}; do systemctl enable vncserver@:${i}.service; done
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /etc/systemd/system/[email protected].
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:2.service to /etc/systemd/system/[email protected].
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:3.service to /etc/systemd/system/[email protected].
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:4.service to /etc/systemd/system/[email protected].
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:5.service to /etc/systemd/system/[email protected].
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:6.service to /etc/systemd/system/[email protected].
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:7.service to /etc/systemd/system/[email protected].
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:8.service to /etc/systemd/system/[email protected].
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:9.service to /etc/systemd/system/[email protected].
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:10.service to /etc/systemd/system/[email protected].

自動起動設定確認

# systemctl is-enabled vncserver@:1.service
enabled

自動起動設定確認(レンジで指定)

# for i in {1..10}; do systemctl is-enabled vncserver@:${i}.service; done
enabled
enabled
enabled
enabled
enabled
enabled
enabled
enabled
enabled
enabled

サービス起動

# systemctl start vncserver@:1.service

vncクライアント

UltraVNCをインストール

動作確認

vncサーバを起動

# vncserver :1

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

New 'vnc01:1 (root)' desktop is vnc01:1

Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/vnc01:1.log

プロセス確認

# ps -ef| grep vnc
avahi      678     1  0 04:44 ?        00:00:00 avahi-daemon: running [vnc01.local]
root     11569     1  1 04:56 pts/0    00:00:00 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop vnc01:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /root/.vnc/passwd -rfbport 5901 -rfbwait 30000
root     11574     1  0 04:56 pts/0    00:00:00 /bin/sh /root/.vnc/xstartup
root     12280  3578  0 04:57 pts/0    00:00:00 grep --color=auto vnc

プロセス確認

# vncserver -list

TigerVNC server sessions:

X DISPLAY #     PROCESS ID
:1              11569

vncサーバのプロセス停止

# vncserver -kill :1
Killing Xvnc process ID 11569

※起動したユーザでないとvncセッションをkillできない点に注意
rootユーザでセッション1をkillするが失敗

# vncserver -kill :1

Can't find file /root/.vnc/vnc01:1.pid
You'll have to kill the Xvnc process manually

vncのプロセス確認
セッション1は permitユーザで稼働中

# ps -ef| grep vnc
avahi      678     1  0 04:44 ?        00:00:00 avahi-daemon: running [vnc01.local]
root     12460     1  0 05:05 ?        00:00:00 /bin/sh /usr/bin/vncserver_wrapper permit :1
permit   12490     1  0 05:05 ?        00:00:00 /usr/bin/Xvnc :1 -auth /home/permit/.Xauthority -desktop vnc01:1 (permit) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /home/permit/.vnc/passwd -rfbport 5901 -rfbwait 30000
permit   12495     1  0 05:05 ?        00:00:00 /bin/sh /home/permit/.vnc/xstartup
root     13446  3578  0 05:08 pts/0    00:00:00 grep --color=auto vnc

permitユーザへスイッチしセッション1を削除

# su - permit
最終ログイン: 2021/12/12 (日) 04:11:53 JST日時 pts/0
$ vncserver -kill :1
Killing Xvnc process ID 12490