CentOS Stream 9  VNC サーバーをインストールする方法

環境
CentOS Stream 9

概要
VNC サーバーをインストールして、クライアント PC からグラフィカルにリモート接続できるようにします。

操作方法
1.VNC サーバーをインストールします。
# dnf -y install tigervnc-server

2. Firewalld を有効にしている場合は、VNC サービスを許可します。

# firewall-cmd --add-service=vnc-server
# firewall-cmd --runtime-to-permanent

3. SELinux を有効にしている場合は、ポリシーを変更します
# vi vncsession.te

# 以下の内容で新規作成
module vncsession 1.0;

require {
        type default_t;
        type xdm_home_t;
        type vnc_session_t;
        class dir { add_name create write };
        class file { create open write };
}

#============= vnc_session_t ==============
allow vnc_session_t default_t:dir { add_name write };
allow vnc_session_t default_t:file { create open write };
allow vnc_session_t xdm_home_t:dir create;

モジュールをチェックします

# checkmodule -m -M -o vncsession.mod vncsession.te

設定を反映します

# semodule_package --outfile vncsession.pp --module vncsession.mod
# semodule -i vncsession.pp

4.Tigervnc を Systemd Unit で起動する場合は以下のように設定します。
事前に、各ユーザー自身で VNC 環境の設定をして、Systemd サービス自体は root 権限で起動します。

VNC パスワードを設定します

$vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
s
$ vi ~/.vnc/config
# 新規作成
# session=(使用するディスプレイマネージャー)
# securitytypes=(セキュリティオプション)
# geometry=(画面のサイズ)
session=gnome
securitytypes=vncauth,tlsvnc
geometry=800x600

5.root 権限で VNC を利用する (ディスプレイ番号)=(ユーザー名) を定義して、Systemd Unit を起動します。
# vi /etc/tigervnc/vncserver.users

 最終行に追記
# ディスプレイ番号 1 は 5901 番ポートをリスンする
# ディスプレイ番号 n + 5900 = リスンするポート
# ex : ディスプレイ番号 7 + 5900 = 5907 番ポートをリスン
#
# This file assigns users to specific VNC display numbers.
# The syntax is <display>=<username>. E.g.:
#
# :2=andrew
# :3=lisa
:1=cent
:2=redhat

# 設定したディスプレイ番号分起動する

# systemctl enable --now vncserver@:1 vncserver@:2

 

CentOS Stream 9

Posted by arkgame