初心者向け CentOS7.9にVNCサーバ (tigervnc-server) 構築
https://shimaichi.blog/centos7-tigervnc-server/
前提条件
GNOME Desktop がインストールされていること
VNCパッケージをインストール
root権限で行ってください。
yum install tigervnc-server のコマンドでインストールします。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
[root@localhost ~] # yum install tigervnc-server 読み込んだプラグイン:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors. cat .net * extras: mirrors. cat .net * updates: mirrors. cat .net 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ tigervnc-server.x86_64 0:1.8.0-22.el7 を インストール --> 依存性解決を終了しました。 依存性を解決しました ============================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ============================================================================================================== インストール中: tigervnc-server x86_64 1.8.0-22.el7 updates 211 k トランザクションの要約 ============================================================================================================== インストール 1 パッケージ 総ダウンロード容量: 211 k インストール容量: 498 k Is this ok [y /d/N ]: y Downloading packages: tigervnc-server-1.8.0-22.el7.x86_64.rpm | 211 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : tigervnc-server-1.8.0-22.el7.x86_64 1 /1 検証中 : tigervnc-server-1.8.0-22.el7.x86_64 1 /1 インストール: tigervnc-server.x86_64 0:1.8.0-22.el7 完了しました! [root@localhost ~] # |
VNCサーバの設定
下記のコマンドを実行し、設定ファイルをコピーします。
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:3.service
今回はvncserver@:3.serviceなのでポート番号は5903となります。
vi /lib/systemd/system/vncserver@:3.service のコマンドで修正します。
”<USER>” の部分をVNCでログインするユーザー名(今回の場合は”shimaichi”)に変更します。
変更前の内容
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper <USER> %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
変更後の内容
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper shimaichi %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
パスワード設定
shimaichiユーザーのVNCログイン用のパスワードを設定するために
shimaichiユーザへ移動してパスワードを設定します。
参照のみのパスワードを入力しますか?と問われます。
ここは「y」で行きましょう。
次に su コマンドでroot権限に戻しときましょう。
1
2
3
4
5
6
7
8
9
10
11
|
[root@localhost ~] # su shimaichi [shimaichi@localhost root]$ vncpasswd Password: Verify: Would you like to enter a view-only password (y /n )? n A view-only password is not used [shimaichi@localhost root]$ [shimaichi@localhost root]$ su パスワード: [root@localhost ~] # |
VNC デスクトップサイズ変更
VNC デスクトップのデフォルトサイズは 1024×768なので変更する場合は、
/usr/bin/vncserver_wrapper のファイルを修正する必要がありますのでバックアップしときましょう。
下記のコピーコマンドを実行し、設定ファイルをバックアップします。
cp /usr/bin/vncserver_wrapper /usr/bin/vncserver_wrapper.org
vi /usr/bin/vncserver_wrapper のコマンドで修正します。
赤字の部分を追加します。
#!/bin/sh
USER="$1"
INSTANCE="$2"
die() {
echo "FATAL: ${@:-}" >&2
exit 2
}
cleanup() {
[ -n "$VNCPID" ] || return
if kill -0 $VNCPID 2>/dev/null; then
kill $VNCPID
fi
}
trap cleanup TERM INT HUP
[ -n "$USER" -a -n "$INSTANCE" ] || die "Invalid usage!"
/usr/sbin/runuser -l "$USER" -c "/usr/bin/vncserver ${INSTANCE} -geometry 1920x1080"
[ $? -eq 0 ] || die "'runuser -l $USER' failed!"
# Wait up to 5 seconds for vncserver to be up
for tries in $(seq 1 50); do
[ -e "~$USER/.vnc/$(hostname)${INSTANCE}.pid" ] && break
sleep 0.1
done
eval HOME=~$USER
VNCPID=$(cat "$HOME/.vnc/$(hostname)${INSTANCE}.pid" 2>/dev/null || true)
[ -n "$VNCPID" ] || die "'vncserver ${INSTANCE}' failed to start after 5 seconds!"
echo "'vncserver ${INSTANCE}' has PID $VNCPID, waiting until it exits ..."
while kill -0 $VNCPID 2>/dev/null; do
sleep 5
done
echo "PID $VNCPID exited, exiting ..."
設定を反映
設定ファイルの再読み込み
systemctl daemon-reload
1
2
|
[root@localhost ~] # systemctl daemon-reload [root@localhost ~] # |
再起動
systemctl restart vncserver@:3
1
2
|
[root@localhost ~] # systemctl restart vncserver@:3 [root@localhost ~] # |
自動起動の設定
systemctl enable vncserver@:3.service
1
2
|
[root@localhost ~] # systemctl enable vncserver@:3.service [root@localhost ~] # |
ステータス確認
systemctl status vncserver@:3.service
ファイヤーフォールの設定
ファイヤーフォールの追加をしてから、ファイヤーフォールの再読み込みを行ってください。
ファイヤーフォールサービスの削除も載せておきます。
ファイヤーフォールサービスの追加
firewall-cmd –permanent –zone=public –add-service=vnc-server
ファイヤーフォールの再読み込み
firewall-cmd –reload
ファイヤーフォールサービスの削除
firewall-cmd –permanent –zone=public –remove-service=vnc-server
接続確認
Macの場合は、「サーバへ接続」をクリック
下記の画面のように vnc://<IPアドレス>:5903と入力して「接続」をクリック
パスワードを入力して「サインイン」をクリック
左画面は、ログイン画面です。右画面がログイン後の画面です。
まとめ
画面サイズが大きくできなかったのでvncserver_wrapperのファイルを見て変更することができて良かったです。
インターネットで調べても載ってなかったので少し時間を費やした。
-
CentOS
初心者向け CentOS7.9 に VirtualBox をインストール
2021年8月14日 -
CentOS
初心者向け CentOS7.9 に PHP8.0をインストール
2021年7月3日 -
CentOS
CentOS7にphpVirtualBoxを設定してWeb管理
2022年2月20日 -
CentOS
CentOS 7.9 Minimal インストール
2021年8月15日 -
CentOS
phpMyAdminエラー 1282
2021年6月5日 -
CentOS
初心者向け CentOS7.9 に MariaDB 10.6.4をインストール
2021年11月8日 -
CentOS
初心者向け CentOS7.9 に VirtualBox をインストール
2021年8月14日 -
CentOS
初心者向け CentOS7.9 に PHP8.0をインストール
2021年7月3日 -
CentOS
CentOS7にphpVirtualBoxを設定してWeb管理
2022年2月20日 -
CentOS
CentOS 7.9 Minimal インストール
2021年8月15日 -
CentOS
phpMyAdminエラー 1282
2021年6月5日 -
CentOS
初心者向け CentOS7.9 に MariaDB 10.6.4をインストール
2021年11月8日