../ |
---|
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
以上
../ |
---|