8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CentOS8.3でVNCサーバをセットアップする手順

Last updated at Posted at 2020-12-13
../

CentOS8.3にupdateしたら、vncserverが従来の手順で使えなくなっていた。vncserverを実行すると、以下のようなメッセージが表示されるだけである。HOWTO.mdを読んでくれとある。

$ vncserver :1
vncserver has been replaced by a systemd unit.
Please read /usr/share/doc/tigervnc/HOWTO.md for more information.

どうも/usr/bin/vncserverが廃止になったようだ。新たなセットアップの手順は、以下のようになる。サービスの定義を手作業で編集したり、事前に残ったプロセスをkillするといった手間がなくなった。

まず、rootで1回だけ以下を実行する。

$ su -
$ echo "session=gnome" >> /etc/tigervnc/vncserver-config-defaults
$ restorecon /usr/sbin/vncsession /usr/libexec/vncsession-start

利用するユーザーとディスプレイ番号は、以下のファイルに記述する。以下の例では、taconanaというユーザでディスプレイ番号は:1とする。

$ vi /etc/tigervnc/vncserver.users
:1=taconana

各ユーザーごとにconfigファイルを編集する。そしてパスワードを設定する。

$ su - taconana
$ restorecon -RFv /home/taconana/.vnc

$ vi /home/taconana/.vnc/config
# session=gnome					# vncserver-config-defaultsに設定されていれば不要
# securitytypes=vncauth,tlsvnc
# desktop=sandbox
geometry=1360x768				# これは任意に
# localhost
# alwaysshared

$ vncpasswd						# パスワード設定
Password: ***
Verify: ***
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

rootに戻ってサービスを開始する。

# ディスプレイ番号に対応したサービスを起動する。
$ cp -p /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
$ systemctl daemon-reload
$ systemctl start vncserver@:1
$ systemctl status vncserver@:1
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-12-13 12:27:52 JST; 27min ago
  Process: 133876 ExecStart=/usr/libexec/vncsession-start :1 (code=exited, status=0/SUCCESS)
 Main PID: 133882 (vncsession)
    Tasks: 1 (limit: 24986)
   Memory: 2.0M
   CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
           ? 133882 /usr/sbin/vncsession taconana :1

$ systemctl enable vncserver@:1			# 自動実行可能にしておくこと。

複数ユーザーで複数のディスプレイ番号を使用する場合は、vncserver@:1.serviceをコピーして、例えば、vncserver@:2.serviceを作成して起動すること。

VNCビューアからの接続が切れたとき

VNCビューアで作業していると、突然接続が切れて、再接続できなくなるときがある。その場合、TeraTermでIPを指定してSSHで接続し、以下の感じでvncserverを再起動する。そしてVNCビューアで接続を試みること。

$ su
# systemctl daemon-reload
# systemctl status vncserver@:1
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor pr>
   Active: inactive (dead) since Tue 2022-06-14 13:52:55 JST; 2min 48s ago
# systemctl restart vncserver@:1
# systemctl status vncserver@:1
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor pr>
   Active: active (running) since Tue 2022-06-14 13:56:07 JST; 5s ago

以上

../
8
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?