(128) VNCサーバーの起動方法が変わる?

投稿者: | 2021年12月4日

3,995 views

この記事は最終更新から 816日 が経過しています。

1. 問題発生

RHEL 8.5で久々に VNCサーバーを起動しようとしたら、以下の警告が発生して失敗した。

WARNING: vncserver has been replaced by a systemd unit and is about to be removed in future releases.
Please read /usr/share/doc/tigervnc/HOWTO.md for more information.

New 'localhost.localdomain:1 (hoge)' desktop is localhost.localdomain:1

Starting applications specified in /home/hoge/.vnc/xstartup
Log file is /home/hoge/.vnc/localhost.localdomain:1.log

どうやら vncserver コマンドは、管理者権限で実行されるべきものになるそうな。

2. 対処方法

警告文に
/usr/share/doc/tigervnc/HOWTO.md
を読めと書いてあるので、まずはこれを開いてみる。

less /usr/share/doc/tigervnc/HOWTO.md

色々と書かれているが、今すぐに vncserverを使いたいのであれば、以下の 2点にだけ対応すればよい。

1点目 : 設定ファイルにディスプレイ番号とユーザー名を書く。

以下のような説明が書かれている。

## Add a user mapping
With this you can map a user to a particular port. The mapping should be done in
`/etc/tigervnc/vncserver.users` configuration file. It should be pretty
straightforward once you open the file as there are some examples, but basically
the mapping is in form
```
:x=user
```
For example you can have
```
:1=test
:2=vncuser
```

つまり、以下のファイルを編集し…

vi /etc/tigervnc/vncserver.users

こんな感じに↓↓↓ {ディスプレイ番号}={ユーザー名} のようにユーザーマップを追記する。

# TigerVNC User assignment
#
# This file assigns users to specific VNC display numbers.
# The syntax is =. E.g.:
#
# :2=andrew
# :3=lisa
:1=hoge

2点目 : systemctlコマンドで vncserverサービスを起動する。

各ユーザーが個々に vncserverを起動するのではなく、システム管理者がサービスとしてこれを起動する。

systemctl start vncserver@:1

※@の後はディスプレイ番号を入力する。

すると…
VNC Viewerからリモート接続できた。

3点目 : もし新規作成したユーザーならば VNCパスワードを作成する。

VNCを使うユーザーのshellで以下を実行する。

vncpasswd

3. 所感

・root権限を持たない人は、管理者にお願いしなければならない。


カテゴリー: VNC

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です