KnowHow

技術的なメモを中心にまとめます。
検索にて調べることができます。

LinuxにVNCサーバをインストールする

登録日 :2024/08/15 14:25
カテゴリ :Linux

LinuxサーバにVNCを使ってリモートデスクトップ接続する方法を以下に示します。VNC(Virtual Network Computing)は、ネットワークを介して他のホストを遠隔操作できるソフトウェアです。以下は一般的な手順です。

VNCサーバのインストールと設定

VNCサーバのインストール:

CentOSやRed Hat系のディストリビューションでは、以下のコマンドを使用してTigerVNCサーバをインストールします。

sudo yum install tigervnc-server
[root@DNS zabbix]# yum install tigervnc-server
メタデータの期限切れの最終確認: 1:25:13 前の 2024年08月15日 13時12分46秒 に実施しました
依存関係が解決しました
=======================================================================================================================================================
 パッケージ                                   アーキテクチャー            バージョン                              リポジトリー                   サイズ
=======================================================================================================================================================
インストール:
 tigervnc-server                              x86_64                      1.13.1-11.el8_10                        appstream                      280 k
アップグレード:
 tigervnc-server-minimal                      x86_64                      1.13.1-11.el8_10                        appstream                      1.1 M
依存関係のインストール:
 tigervnc-selinux                             noarch                      1.13.1-11.el8_10                        appstream                       50 k

トランザクションの概要
=======================================================================================================================================================
インストール    2 パッケージ
アップグレード  1 パッケージ

ダウンロードサイズの合計: 1.4 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/3): tigervnc-selinux-1.13.1-11.el8_10.noarch.rpm                                                                    183 kB/s |  50 kB     00:00
(2/3): tigervnc-server-1.13.1-11.el8_10.x86_64.rpm                                                                     607 kB/s | 280 kB     00:00
(3/3): tigervnc-server-minimal-1.13.1-11.el8_10.x86_64.rpm                                                             854 kB/s | 1.1 MB     00:01
-------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                   657 kB/s | 1.4 MB     00:02
トランザクションの確認を実行中
トランザクションの確認に成功しました
トランザクションのテストを実行中
トランザクションのテストに成功しました
トランザクションを実行中
  準備             :                                                                                                                               1/1
  アップグレード中 : tigervnc-server-minimal-1.13.1-11.el8_10.x86_64                                                                               1/4
  scriptletの実行中: tigervnc-selinux-1.13.1-11.el8_10.noarch                                                                                      2/4
  インストール中   : tigervnc-selinux-1.13.1-11.el8_10.noarch                                                                                      2/4
  scriptletの実行中: tigervnc-selinux-1.13.1-11.el8_10.noarch                                                                                      2/4
  インストール中   : tigervnc-server-1.13.1-11.el8_10.x86_64                                                                                       3/4
  scriptletの実行中: tigervnc-server-1.13.1-11.el8_10.x86_64                                                                                       3/4
  整理             : tigervnc-server-minimal-1.12.0-15.el8_8.x86_64                                                                                4/4
  scriptletの実行中: tigervnc-server-minimal-1.12.0-15.el8_8.x86_64                                                                                4/4
  検証             : tigervnc-selinux-1.13.1-11.el8_10.noarch                                                                                      1/4
  検証             : tigervnc-server-1.13.1-11.el8_10.x86_64                                                                                       2/4
  検証             : tigervnc-server-minimal-1.13.1-11.el8_10.x86_64                                                                               3/4
  検証             : tigervnc-server-minimal-1.12.0-15.el8_8.x86_64                                                                                4/4

アップグレード済み:
  tigervnc-server-minimal-1.13.1-11.el8_10.x86_64
インストール済み:
  tigervnc-selinux-1.13.1-11.el8_10.noarch                                   tigervnc-server-1.13.1-11.el8_10.x86_64

完了しました!
[root@DNS zabbix]#

GUIのインストール:

GUIがインストールされていない場合、GNOME DesktopなどのGUIコンポーネントをインストールします。

sudo yum groups install "GNOME Desktop"
[root@DNS ~]# yum groups install "GNOME Desktop"
メタデータの期限切れの最終確認: 1:36:17 前の 2024年08月15日 13時12分46秒 に実施しました
モジュールまたはグループ 'GNOME Desktop' は利用不可です
エラー: 行うべきことはありません
[root@DNS ~]#

VNCパスワードの設定:

VNC接続用のパスワードを設定します。

vncpasswd
[root@DNS zabbix]# vncpasswd
Password: [password]
Verify: [password]
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

VNCサーバの起動:

VNCサーバを起動し、接続を確認します。

vncserver :1

画面の解像度を指定するには以下のようにしてください。

vncserver -geometry 1920x1080 -depth 24

実行例

[root@DNS ~]# vncserver -geometry 1920x1080 -depth 24

WARNING: vncserver has been replaced by a systemd unit and is now considered deprecated and removed in upstream.
Please read /usr/share/doc/tigervnc/HOWTO.md for more information.

New 'DNS:1 (root)' desktop is DNS:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/DNS:1.log

[root@DNS ~]#

ファイアウォールの設定:

VNCポート(デフォルトでは5900 + ディスプレイ番号)を開放します。

sudo firewall-cmd --permanent --add-port=5901/tcp
sudo firewall-cmd --reload

VNCクライアントからの接続

VNCクライアントのインストール:
クライアント側のマシンにVNCビューアをインストールします。多くのオペレーティングシステムで利用可能なVNCビューアを使用できます。

VNCサーバへの接続:

VNCクライアントを起動し、接続先として<サーバのIPアドレス>:1を指定します。
接続時に設定したパスワードを入力して、リモートデスクトップにアクセスします。
これらの手順に従うことで、LinuxサーバにVNCを使ってリモートデスクトップ接続を設定することができます。詳細な設定やトラブルシューティングについては、使用しているディストリビューションのドキュメントを参照してください。

VNCサーバを終了するとき

クライアントでVNCクライアントを閉じるだけでは、VNCサーバは終了できません。以下のように、手動でVNCサーバを終了することが大切です。これをしないと、VNCサーバのプロセスがゾンビで残ってしまうので注意が必要です。

vncserver -kill :<ディスプレイ番号>

例えば

vncserver -kill :1

Appendix

VNCクライアントとしては、mobaXterm(Home edition)が使いやすいと思われます。
Home Editionは個人用で無償版、Professional Editionは商用で有償版となっています。
https://mobaxterm.mobatek.net/download-home-edition.html

Session>VNCを選び、LinxuサーバのIPアドレス:
を指定して、vncpasswordを入力するとVNC接続できます。
※Linuxサーバ側のfirewallも影響しますので、5900番ポートの穴あけかfirewalldの無効化をするのをお忘れなく。WindowsPC側のパーソナルFirewallは、movaXtermインストールしてmovaXterm初回起動時に確認があるのできちんと許可をしておきましょう。