5.3. 複数のユーザーとしてデスクトップにリモートアクセス
RHEL サーバーのデスクトップにリモートから接続し、別のユーザーとして複数のセッションを同時に開くことができます。
次の手順は、RHEL 8.3 以降に適用されます。RHEL 8.0 - 8.2 を使用している場合は、代わりに Red Hat ナレッジベースソリューション Red Hat Enterprise Linux 8.0 - 8.2 でユーザー固有の VNC サーバーを設定する方法 を参照してください。
前提条件
VNC サーバーをインストールします。
# yum install tigervnc-serverVNC クライアントをインストールします。
# yum install tigervnc
5.3.1. VNC でのユーザーへのポートおよび表示番号のマッピング リンクのコピーリンクがクリップボードにコピーされました!
VNC を使用すると、クライアントはサーバーの異なるユーザーのデスクトップセッションに接続できます。ディスプレイ番号と TCP ポート番号は、VNC セッションをエクスポートする各サーバーユーザーに割り当てられます。クライアントはポート番号を使用して、接続するサーバーユーザーを指定します。
複数のクライアントが同じポート番号を使用して接続している場合は、すべてのクライアントが VNC セッションを同じサーバーユーザーで開きます。
VNC セッションをエクスポートする各サーバーユーザーにマッピングを設定する必要があります。このようなユーザーはすべて、一意のポートとディスプレイ番号を選択する必要があります。
推奨されるマッピング
Red Hat では、最初のユーザーに対してポート番号 5902 およびディスプレイ番号 2 を使い始め、その後のユーザーにはその数を 1 つずつ増やしていくことを推奨します。
ポート番号 5900 およびディスプレイ番号 0 は、現在グラフィカルセッションにログインしているサーバーユーザーを表します。グラフィカルセッションにすでにログインしているユーザーの VNC サーバーを開始することはできません。
| ポート番号 | ディスプレイ番号 | 備考 |
|---|---|---|
| 5900 | 0 | ログインしているユーザー |
| 5901 | 1 | |
| 5902 | 2 | 最初に推奨される VNC ユーザー |
| 5903 | 3 | |
| … | … |
Red Hat は、VNC セッションをエクスポートするように root ユーザーを設定しないことを推奨します。root VNC セッションは安全でないため、セッションの特定要素が期待どおりに機能しない可能性があります。
ファイアウォールのルール
ファイアウォール設定で選択したポートを開く必要があります。ファイアウォールで vnc-server サービスを許可すると、5900 から 5903 にポートが開きます。追加のサーバーユーザーへのアクセスを有効にする必要がある場合は、手動でポート番号を指定して 5903 を超えるポートを開く必要があります。
5.3.2. VNC サーバー設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
複数の設定ファイルが VNC サーバーの動作に影響します。ユーザーマッピングとさまざまなグローバルオプションを設定できます。
TigerVNC 1.14 以降、設定ファイルは $HOME/.config/tigervnc に保存され、logs や saved_sessions などの状態ファイルは $HOME/.local/state/tigervnc に保存されます。
一般的なオプション
VNC サーバーの一般的なオプションは、/etc/tigervnc/vncserver-config-defaults 設定ファイルで設定できます。ファイルは、以下の形式を使用します。
option1=value
option2
以下に例を示します。
session=gnome
alwaysshared
securitytypes=vncauth,tlsvnc
desktop=sandbox
geometry=2000x1200
設定ファイルの優先順位
VNC サーバーは、降順の重要度で、一般オプションに対して以下のファイルを読み込みます。
/etc/tigervnc/vncserver-config-mandatoryこのファイルは、デフォルト設定に置き換わるもので、ユーザー別の設定よりも優先度が高くなります。これは、特定の VNC オプションを適用するシステム管理者を対象としています。
$HOME/.vnc/config個々のユーザーは、このファイルでデフォルトの VNC 設定をオーバーライドできます。
/etc/tigervnc/vncserver-config-defaultsこのファイルは、デフォルトの VNC 設定を保管します。
ユーザーマッピング
/etc/tigervnc/vncserver.users 設定ファイルで、ユーザーと関連するポートとディスプレイ番号のマッピングを設定できます。ファイルは、以下の形式を使用します。
:number=user
以下に例を示します。
:2=test
:3=vncuser
5.3.3. サーバーでマルチユーザー VNC アクセスの有効化 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、複数のユーザーが同時に VNC セッションを開くように RHEL サーバーを設定します。
前提条件
systemdユニットファイルを使用して VNC を設定している場合は、古い VNC 設定を削除します。[root]# rm /etc/systemd/system/vncserver@.service
手順
ユーザーをディスプレイとポート番号にぱっします。
/etc/tigervnc/vncserver.users設定ファイルで、VNC セッションをエクスポートする各サーバーユーザーに行を追加します。:user-number=user-name- user-number を、選択した既存ユーザーにマッピングされたポートおよびディスプレイ番号に置き換えます。
- user-name を、選択した既存ユーザーのユーザー名に置き換えます。
以下に例を示します。
:2=vncuserファイアウォールで TCP ポート 5900 から 5903 を開きます。
[root]# firewall-cmd --permanent --add-service=vnc-serverファイアウォールルールを再読み込みします。
[root]# firewall-cmd --reload以下の行を
/etc/tigervnc/vncserver-config-defaults設定ファイルに追加します。session=gnome alwayssharedこの設定には、以下の影響があります。
- VNC サーバーは、リモートユーザーがログインすると GNOME セッションを開始します。
- 複数のユーザーが同時に VNC サーバーに接続できます。
VNC セッションをエクスポートする各サーバーユーザーとして、ユーザーの VNC パスワードを設定します。
[regular-user]$ vncpasswdサーバー上のデスクトップに接続する場合は、リモートクライアントがこのパスワードを入力する必要があります。
ユーザーに VNC を設定している場合は、設定ファイルに正しい SELinux コンテキストがあることを確認します。
[regular-user]$ restorecon -RFv ~/.vnc通常ユーザーの VNC サーバーユニットを有効にして起動します。
[root]# systemctl enable --now vncserver@:user-numberサーバーがプロプライエタリー Nvidia ドライバーを使用する場合は、Wayland を無効にします。
-
/etc/gdm/custom.conf設定ファイルのWaylandEnable=False行のコメントを解除します。 -
DefaultSession=gnome-xorg.desktopオプションを、設定ファイルの[daemon]セクションに追加します。 - サーバーを再起動します。
-
5.3.4. 複数のユーザーとして VNC サーバーへの接続 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、vncviewer アプリケーションを使用してリモートデスクトップセッションに接続します。リモートデスクトップへの複数の接続を同時に開くことができます。
前提条件
- 複数のユーザーのデスクトップアクセスが、サーバーで有効になります。詳細は、サーバーでのマルチユーザー VNC アクセスの有効化 を参照してください。
手順
VNC サーバーに接続します。
$ vncviewer --shared server-ip:display- server-ip を、接続しているサーバーの IP アドレスに置き換えます。
- display を、サーバーユーザーが VNC セッションをエクスポートするディスプレイ番号に置き換えます。