ウェブサイト検索

VNC サーバー Ubuntu 22.04 のインストール方法


このチュートリアルは、これらの OS バージョン用に存在します

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 14.04 LTS (Trusty Tahr)

このページでは

  1. 前提条件
  2. デスクトップ環境のインストール
  3. 新しいユーザーの設定
  4. TigerVNC サーバーのインストール
  5. VNC サーバーの初期化
  6. TigerVNC サーバーへの新規ユーザーの追加
  7. SSH トンネルを使用して VNC サーバーに安全に接続する
  8. 結論

Virtual Network Computing (VNC) は、VNC クライアント ソフトウェアを使用してコンピューターをリモートで制御できるデスクトップ共有プロトコルです。 VNC は GUI (Graphical User Interface) 環境で動作し、Remote Frame Buffer (RFB) プロトコルを使用してネットワーク経由でマウスとキーボード入力の動きを送信します。

一般に、VNC は技術者がクライアント デスクトップを制御するために使用されるか、自宅からオフィスのデスクトップにアクセスする必要がある人によって使用されます。 VNC は、VPN ネットワークまたは SSH トンネリング接続を使用して安全に使用できます。

このチュートリアルでは、最新の Ubuntu Server 22.04 に VNC サーバーをインストールして構成する方法を示します。このガイドでは、SSh トンネリングを介して VNC サーバーに安全に接続する方法についても説明します。

前提条件

  • Ubuntu Server バージョン 22.04
  • root 権限を持つ root 以外のユーザー

デスクトップ環境のインストール

まず、デスクトップ環境または DE をサーバーにインストールします。 Linux で使用できる DE は複数ありますが、多くの場合、サーバー環境では、XFCE や MATE デスクトップなどの軽量 DE をインストールして使用します。これは、ほとんどのサーバー環境がリソースに関して制限されているためです。

この例では、VNC サーバー インストールのデフォルトのデスクトップ環境として XFCE を使用しますが、システムに他の DE をインストールする方法も学びます。 XFCE は、サーバーとラップトップ/コンピューターの両方にインストールできる中規模のデスクトップ環境です。軽量で、ディスク容量が 600MB 以下であり、メモリ/RAM が少ないマシンにも適しています。XFCE を実行するには 4GB の RAM で十分です。

パッケージのインストールを開始する前に、以下のコマンドを実行して、Ubuntu リポジトリを更新および更新します。

sudo apt update

次のコマンドを使用して、XFCE デスクトップをシステムにインストールします。

sudo apt install xfce4 xfce4-goodies

Y を入力して確認し、ENTER を押してインストールを開始します。 XFCEのインストールが始まります。

Gnome などの別の DE を使用する場合は、次のコマンドを使用してインストールできます。

sudo apt install ubuntu-desktop-minimal

DE を Ubuntu システムにインストールするもう 1 つの優れた方法は、\tasksel\ を使用することです。これにより、選択したデスクトップ環境のインストールが自動化されます。

以下のコマンドを使用して、tasksel をインストールできます。

sudo apt install tasksel

Y を入力して確認し、ENTER を押してインストールを開始します。

インストールが完了したら、以下の tasksel コマンドを実行します。

sudo tasksel

以下のスクリーンショットでは、いくつかの異なる DE をシステムにインストールするためのメニューを確認できます。インストールしたい DE を SPACE ボタンで選択し、カーソルを OK に移動すると、インストールが開始されます。

新しいユーザーの設定

デスクトップ環境のインストールを設定したら、VNC サーバーの新しいユーザーを設定します。 VNC サーバーはシステム上のすべてのユーザーで実行できますが、root ユーザーとして VNC サーバーを実行することはお勧めしません。

このデモでは、sudo su コマンドを実行してルート権限を取得することにより、追加の権限を持つ alice という名前の新しいユーザーを作成します。そして、VNC サーバーはこのユーザーの下で実行されます。

次のコマンドを実行して、新しいユーザー alice を追加し、そのパスワードを設定します。そのユーザーには必ず強力なパスワードを使用してください。

sudo useradd -m -s /bin/bash alice
sudo passwd alice

次のコマンドを使用して、ユーザー alice をグループ sudo に追加します。これにより、新しいユーザー alice が sudo su コマンドを実行してルート管理者権限を取得できるようになります。

sudo usermod -aG sudo alice

最後に、新しいユーザー alice としてログインし、sudo su コマンドを実行して root 権限を確認します。

su - alice
sudo su

ユーザー alice の正しいパスワードを入力してください。認証が成功すると、[email などの新しいプロンプトが表示されます。これは、ルート管理者権限を取得したことを意味します。

TigerVNC サーバーのインストール

VNC Server パッケージを Ubuntu Server にインストールします。この例では、VNC サーバー用の TigerVNC サーバー パッケージをインストールして使用します。 TigerVNC パッケージは、Ubuntu を含むほとんどの Linux ディストリビューションで利用できます。また、TigerVNC は、VNC サーバー、VNC ビューアー/クライアント、および VNC 用の追加ツールを含む完全なパッケージを提供します。

以下の apt コマンドを使用して、TigerVNC サーバー パッケージをインストールします。

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools

Y を入力して確認し、ENTER を押してインストールを続行します。これでインストールが開始されます。

すべてのパッケージのインストールが完了したら、次の段階に進んで VNC サーバー構成を初期化します。

VNC サーバーの初期化

これで、TigerVNC パッケージの Ubuntu サーバーへのインストールが完了しました。TigerVNC パッケージを使用して VNC サーバーをセットアップおよび構成します。

この例では、VNC サーバーは nee 非 root ユーザー alice の下で実行され、デフォルトのデスクトップ環境は XFCE (軽量でありながら強力な DE) です。

次のコマンドを使用して、ユーザー alice としてログインします。

su - alice

次のコマンドを使用して、VNC サーバー構成を初期化します。コマンドライン vncserver を使用して、VNC サーバー構成を管理できます。これには、初期化、ステータスの確認、起動スクリプトのセットアップなどが含まれます。

vncserver

次に、VNC サーバーの次の構成を求められます。

  • VNC サーバーのパスワード設定: VNC サーバーの新しいパスワードを入力します。このパスワードは、VNC サーバーへのログインに使用されます。パスワードは最大 8 文字です。 8文字以上入力するとエラーになります。そのため、必ず 8 文字以内の強力なパスワードを使用し、パスワードを繰り返して確認してください。
  • 表示のみのパスワード設定: このオプションを使用すると、VNC サーバーまたはセッションを、表示のみの権限を持つ別のユーザーと共有できます。これは、他のユーザーにデモンストレーションを行いたいが、表示のみの権限が制限されている場合に使用できます。この例では、表示専用パスワードは必要ないため、いいえの場合は n を入力します。

このコマンドは、ホーム ディレクトリの下に \~/.vnc\ という名前の VNC サーバー用の新しい構成ディレクトリも生成します。

VNC サーバーの初期化が完了し、成功すると、以下のような出力メッセージが表示されます。 VNC サーバーは現在、デフォルトの TCP ポート 5901 を使用して \ubuntu-machine:1\ で実行されています。ubuntu-machine はシステムのホスト名で、:1 は VNC サーバーがディスプレイ :1 で実行されていることを意味します。

New Xtigervnc server 'ubuntu-machine:1 (alice)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/alice/.vnc/passwd :1 to connect to the VNC server.

次に、VNC サーバー ubuntu-machine:1 を強制終了し、起動スクリプトの構成を開始します。

以下の vncserver コマンドを使用して、VNC サーバー プロセス ubuntu-machine:1 を強制終了します。

vncserver -kill ubuntu-machine:1

ここで、nano エディターを使用して新しい起動スクリプト ~/.vnc/xstartup を作成します。

nano ~/.vnc/xstartup

次のスクリプトを追加します。このスクリプトは、VNC サーバーが開始されるたびに XFCE デスクトップを自動的に実行します。

#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &

完了したら、ファイルを保存して閉じます。

最後に、以下の chmod コマンドを実行して、起動スクリプトを実行可能にします。

chmod +x ~/.vnc/xstartup

この時点で、XFCE デスクトップを使用した Ubuntu 22.04 上の VNC サーバーの初期化と基本構成が完了しました。

TigerVNC サーバーに新しいユーザーを追加する

ここで、VNC ユーザーを TigerVNC サーバー構成ファイルに追加して定義する必要があります。 VNC サーバーのユーザーは、ファイル /etc/tigervnc/vncserver.users で利用できるはずです。

nano エディターを使用して、ファイル /etc/tigervnc/vncserver.users を編集します。

sudo nano /etc/tigervnc/vncserver.users

次の構成を追加します。ここでの形式は \:display=alice\ です。この例では、VNC サーバーが VNC ユーザーのディスプレイ \:1\ で実行されています。 \アリス\.複数の VNC サーバー プロセスがある場合は、複数のユーザーをファイルに追加することもできます。

:1=alice

完了したら、ファイルを保存して閉じます。

次のコマンドを実行して、VNC サーバーを起動し、\:1\ を表示できるようにします。複数のディスプレイを持つ複数の VNC サーバー プロセスがある場合は、\[email :N.service\ のように、サービス名の末尾にあるディスプレイ番号を変更できます。ここの N は番号です。

sudo systemctl start :1.service

最後に、以下のコマンドを実行して、VNC サーバー サービスのステータスを確認します。

sudo systemctl status :1.service

以下のスクリーンショットでは、 [email :1.service がアクティブで実行中であることがわかります。 VNC サーバーは、ディスプレイ \:1\ でユーザー alice として、デフォルトの TCP ポート 5901 で実行されています。

さらに、VNC サーバーの起動プロセス中にエラーが発生した場合は、~/.vnc ディレクトリ内のログ ファイルを確認できます。この例では、ユーザーは alice であるため、ユーザー alice としてログインし、以下の詳細なログ ファイルを確認してください。

su - alice
cd ~/.vnc/; ls -lah

VNC サーバー サービスの 2 つのログ ファイルが表示されます。 VNC Server サービスの開始時にエラーが発生した場合は、これらのログ ファイルをすべて確認してください。

この時点で、Ubuntu 22.04 での VNC サーバーのインストールと構成が完了し、ローカル マシンから VNC サーバーに接続できるようになりました。

SSH トンネルを使用して VNC サーバーに安全に接続する

このセクションでは、SSL トンネリングを使用して VNC サーバーに安全に接続することにより、VNC サーバーのインストールを確認および検証します。

VNC サーバーへの接続を開始する前に、VNC クライアントがローカル マシンにインストールされていることを確認してください。 Windows と macOS の場合、RealVNC を使用できます。Linux デスクトップ マシンの場合は、ほとんどがディストリビューション リポジトリでデフォルトで利用可能な TigerVNC Viewer を使用できます。

VNC サーバーへの接続を開始する前に、ローカル マシンで以下の ssh コマンドを実行してサーバーに接続します。このコマンドは、サーバーへの安全な SSH トンネリングを作成します。ローカル マシンで、同じポート 5901 でサーバーにトンネリングされる TCP ポート 5901 を開きます。

ssh -L 5901:127.0.0.1:5901 -N -f -l alice t 192.168.10.15

ユーザーのパスワードを入力します。この例では、alice という名前の同じユーザーを使用しています。

次に、VNC クライアント アプリケーションを開き、アドレス \localhost:5901\ で VNC サーバーに接続します。これにより、SSH トンネリングを介して接続が安全に VNC サーバーに自動的に送信されます。

この例では、VNC クライアントは TigerVNC Viewer です。 [接続] をクリックして、サーバーへの接続を開始します。

VNC サーバーのパスワードを入力し、[OK] をクリックして続行します。また、接続が安全ではないというメッセージも表示されます。この場合は localhost に接続しているため、無視できます。

パスワードが正しければ、以下のように XFCE デスクトップで VNC サーバーが表示されます。デスクトップでターミナルを開き、いくつかのコマンドを実行してシステムを確認できます。

結論

おめでとう! XFCE をデフォルトのデスクトップ環境として、最新の Ubuntu 22.04 サーバーに VNC サーバーを正常にインストールして構成しました。さらに、他の DE を Ubuntu サーバーにインストールする方法も学習しました。最後に、SSH トンネリングを介して VNC サーバーに安全に接続する方法も学びました。