VNCは、別のコンピューターをリモートで制御できるようにするシステムです。これにより、実際には世界の反対側にいる可能性があるのに、物理的にシステムの前に座っているかのように、マウスとキーボードの入力を中継できます。
このガイドでは、Ubuntu20.04システムでVNCサーバーをセットアップする手順について説明します。完了すると、クライアントシステムとVNCサーバーにインターネット接続があれば、どこからでもシステムにリモートアクセスできるようになります。
このチュートリアルでは、次のことを学びます。
- TightVNCサーバーをインストールして構成する方法
- XFCEデスクトップマネージャーをインストールして構成する方法
- TightVNCビューアを使用してVNCサーバーに接続する方法
- SSHを介してVNC接続をトンネリングする方法
- Systemdスクリプトを使用して複数のVNCデスクトップを管理する方法
VNCサーバーへの接続
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
インストールまたはアップグレードされたUbuntu20.04Focal Fossa | |
TightVNCサーバー、XFCEデスクトップマネージャー、TightVNCビューアー | |
rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
VNCサーバーをインストールする
最初にいくつかのパッケージをインストールする必要があります。 VNCサーバーソフトウェアには複数のオプションがありますが、このチュートリアルではTightVNCサーバーを使用します。 VNCに加えて、グラフィカルデスクトップも必要です。 XFCEは良い選択なので、ここで取り上げます。
- まず、ターミナルを開き、次のコマンドを入力して、TightVNCサーバーとXFCEデスクトップマネージャーのコアファイルをインストールします。
$ sudo apt install tightvncserver XFCE4 XFCE4-goodies
- パッケージのインストールが完了したら、クライアントがVNCサーバーに接続するために使用するユーザー名とパスワードを構成する必要があります。次のコマンドでパスワードを作成します:
$ vncpasswd
- 次に、クライアントが接続したときにXFCEデスクトップ環境を開始するようにVNCを構成しましょう。 nanoまたはお好みのテキストエディタ(Atom、Sublimeなど)を使用して、次のファイルを作成します:
$ nano ~/.vnc/xstartup
- 次の数行を挿入してから、変更を保存してファイルを終了します。
xstartup構成ファイル#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS startxfce4 &
- これらの変更を加えたら、ファイルの権限を編集して実行可能にします。
$ chmod +x ~/.vnc/xstartup
VNCサーバーを起動します
VNCはシステム上でサービスとして実行されます。クライアントが接続するには、VNCサーバーが実行中であり、着信接続の試行をリッスンしている必要があります。構成が完了すると、次のコマンドでVNCサーバーを起動する準備が整います。
$ vncserver
以下のスクリーンショットのように端末が出力を返す場合、VNCサーバーは正しく実行されています。
VNCサーバーを起動します
VNCは、作成されるすべてのリモートデスクトップに新しいポートを使用します。この時点で、システムはポート5901
でリッスンしているはずです。 着信VNC接続用。これは、ss -ltn
で確認できます。 コマンド:
$ ss -ltnポート5901でリッスンしているVNC
UFWファイアウォールを有効にしている場合は、ポート5901
を開く必要があります したがって、着信VNC接続をブロックしません:
$ sudo ufw allow from any to any port 5901 proto tcp Rule added Rule added (v6)
VNCサーバーに接続する
VNCクライアントの方法には多くの選択肢があり、それらのいずれも新しく起動したVNCサーバーに接続できる必要があります。使用する優先クライアントがまだない場合は、TightVNCビューアーを使用してVNCサーバーに接続する手順について説明しているので、私たちと一緒にフォローしてください。
-
xtightvncviewer
をインストールすることから始めます Ubuntuクライアントシステムのパッケージ:$ sudo apt install xtightvncviewer
- VNCクライアントがインストールされると、
vncviewer
を使用できます。 コマンドの後に、VNCサーバーに接続するためのホスト名またはIPアドレスを入力します。$ vncviewer linuxconfig.org:1
VNCサーバーのセットアップ時に以前に作成したパスワードを入力します。すべてがうまくいけば、リモートVNCサーバーのUbuntuシステムで実行されているXFCEデスクトップセッションが表示されます。
VNCサーバーに接続する
SSHを介したトンネルVNC
セキュリティを強化するために、VNCサーバーでSSHを介してVNC接続をトンネリングできます。もちろん、これは、VNCサーバーにSSHアクセスがあることを前提としています。セキュリティを強化したい場合は、次の手順に従ってください。
- SSHをまだインストールしていない場合、これが機能するための非常に明白な前提条件です。
$ sudo apt install ssh
- 次に、ローカルポート5901にSSHトンネルを作成し、VNCサーバーのリモートポート5901に接続します。次のコマンドでは、必ず
user1
を置き換えてください。 およびlinuxconfig
VNCサーバーのユーザー名とホスト名を使用:$ ssh -L 5901:127.0.0.1:5901 -N -f -l user1 linuxconfig
上記のコマンドは、ローカルポート
5901
を開きます ローカルホストループバックネットワークインターフェース127.0.0.1
:$ ss -ltn State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 5 127.0.0.1:631 0.0.0.0:* LISTEN 0 128 127.0.0.1:6010 0.0.0.0:* LISTEN 0 128 127.0.0.1:6011 0.0.0.0:* LISTEN 0 128 0.0.0.0:38299 0.0.0.0:* LISTEN 0 128 127.0.0.1:5901 0.0.0.0:*
- 次に、ローカルポート
5901
を使用します SSHトンネルを介してリモートVNCサーバーに接続するには:$ vncviewer localhost:1
VNCサーバーシステム起動スクリプト
この構成は機能しますが、複数のVNCデスクトップセッションを管理する必要があるシナリオがある場合があります。その場合、systemdスタートアップスクリプトを作成すると、それが容易になります。
nanoまたは別のテキストエディタを使用して、次のファイルを作成します。
$ sudo nano /etc/systemd/system/[email protected]
ファイルを開いたら、user1
を置き換えながら、次の行を挿入します 7行目と10行目のVNCユーザーのユーザー名を使用したusernameオプションで、画面解像度設定を変更し、他のvncserver
を適用します。 オプションまたは引数:
[Unit]
Description=Systemd VNC server startup script for Ubuntu 20.04
After=syslog.target network.target
[Service]
Type=forking
User=user1
ExecStartPre=-/usr/bin/vncserver -kill :%i &> /dev/null
ExecStart=/usr/bin/vncserver -depth 24 -geometry 800x600 :%i
PIDFile=/home/user1/.vnc/%H:%i.pid
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
Systemdスタートアップファイル 次に、変更を有効にするためにSystemdをリロードします:
$ sudo systemctl daemon-reload
VNCデスクトップを起動するには1
、次のように入力します:
$ sudo service vncserver@1 start
VNCデスクトップを停止するには1
、実行:
$ sudo service vncserver@1 stop
次のLinuxコマンドは、VNCデスクトップ1
を有効にします 再起動後に開始するには:
$ sudo systemctl enable vncserver@1
VNCデスクトップを起動するには2
、次のように入力します:
$ sudo service vncserver@2 start
など…
結論
このガイドでは、Ubuntu 20.04FocalFossaにTightVNCサーバーをインストールして構成する方法を説明しました。 VNCクライアントが接続するときに使用するXFCEデスクトップマネージャーをインストールしました。
また、TightVNCViewerを使用してVNCサーバーにリモート接続する方法も学びました。これらすべてに加えて、セキュリティを強化するためにSSHを介してVNC接続をトンネリングする方法、およびカスタムSystemdスタートアップスクリプトを使用して複数のVNCデスクトップ接続を効率的に管理する方法についても説明しました。