ウェブサイト検索

Ubuntu に VNC サーバーをインストールして構成する方法


仮想ネットワーク コンピューティング (VNC) は、広く使用されているグラフィカル デスクトップ共有システムで、ユーザー アカウントがリモートで接続し、あるコンピュータのデスクトップ インターフェイスを別のコンピュータまたはモバイル デバイスから制御できるようにします。 。

この記事では、tigervnc-server プログラムを使用してUbuntu 18.04 デスクトップ エディションにVNC サーバーをインストールして構成する方法を説明します。

テスト環境

VNC Server: 192.168.56.108
VNC Client: 192.168.56.2

Ubuntuにデスクトップ環境をインストールする

先ほども述べたように、VNC はデスクトップ共有システムであるため、Ubuntu サーバーにデスクトップ環境がインストールされている必要があります。以下の適切なコマンドを実行して、選択した DE をインストールできます。この記事では、Ubuntu Gnome (公式フレーバー) をインストールします。

sudo apt-get install ubuntu-desktop		#Default Ubuntu desktop
sudo apt install ubuntu-gnome-desktop	        #Ubuntu Gnome (Official flavor)
sudo apt-get install xfce4			#LXDE
sudo apt-get install lxde			#LXDE
sudo apt-get install kubuntu-desktop		#KDE

Ubuntu での VNC のインストールと構成

Tigervnc サーバー は、Xvnc サーバーを実行し、VNC デスクトップ上で Gnome または他のデスクトップ環境の並列セッションを開始する高速マルチプラットフォーム VNC プログラムです。

Ubuntu にTigerVNC サーバーとその他の関連パッケージをインストールするには、次のコマンドを実行します。

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

ここで、vncserver コマンドを通常のユーザーとして実行して、VNC サーバーを起動します。このアクションにより、$HOME/.vnc ディレクトリに保存される初期構成が作成され、ログイン パスワードを設定するように求められます。

パスワード (少なくとも 6 文字の長さである必要があります) を入力し、確認/検証します。次に、必要に応じて、次のように表示専用パスワードを設定します。

vncserver
ls -l ~/.vnc 

次に、VNCサーバーと連携するように DE を構成する必要があります。したがって、 いくつかの構成を実行するために、次のコマンドを使用してVNCサーバーを停止します。

vncserver -kill :1

GNOME またはインストールしたデスクトップを設定するには、好みのテキスト エディタを使用して、設定ディレクトリの下に xstartup というファイルを作成します。

vi ~/.vnc/xstartup

ファイルに次の行を追加します。これらのコマンドは、TigerVNC サーバーを起動または再起動するたびに自動的に実行されます。コマンドは、インストールした DE によって異なる場合があることに注意してください。

#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

ファイルを保存し、実行できるようにファイルに適切なアクセス許可を設定します。

chmod 700 ~/.vnc/xstartup

次に、通常のユーザーとして次のコマンドを実行してVNC サーバーを起動します。表示ジオメトリに独自の値を設定します。さらに、-localhost フラグを使用して、localhost からの接続のみを許可し、同様に、サーバーで認証されたユーザーからの接続のみを許可します。

さらに、VNC はデフォルトで TCP ポート 5900+N を使用します。N は表示番号です。この場合、:1 は、VNC サーバーがディスプレイ ポート番号 5901 で実行されることを意味します。

vncserver :1 -localhost -geometry 1024x768 -depth 32

システム上のVNC サーバー セッションを一覧表示するには、次のコマンドを実行します。

vncserver -list

VNC サーバーが起動したら、netstat コマンドを使用して、VNC サーバーが実行されているポートを確認します。

netstat -tlnp

VNC クライアント経由で VNC サーバーに接続する

このセクションでは、VNC サーバーに接続する方法を説明しますが、その前に、VNC はデフォルトでは安全ではないことを知っておく必要があります (暗号化されたプロトコルではないため、パケット スニッフィングの対象となる可能性があります)。 。この問題は、SSH を介してクライアントからサーバーへの接続へのトンネルを作成することで解決できます。

SSH トンネリングを使用すると、ポート 5901 のローカル マシンから同じポートの VNC サーバーにトラフィックを安全に転送できます。

Linux クライアント マシンで、新しいターミナル ウィンドウを開き、次のコマンドを実行して VNC サーバーへの SSH トンネルを作成します。

ssh -i ~/.ssh/ubuntu18.04 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.108

次に、次のようにして、TigerVNC Viewer などの vncviewer クライアントをインストールします (任意の他のクライアントをインストールできます)。

sudo apt install tigervnc-viewer		#Ubuntu/Debian
sudo yum install tigervnc-viewer		#CnetOS/RHEL
sudo yum install tigervnc-viewer		#Fedora 22+
sudo zypper install tigervnc-viewer	        #OpenSUSE
sudo pacman -S tigervnc			#Arch Linux

インストールが完了したら、VNC クライアントを実行し、次のようにアドレス localhost:5901 を指定して接続し、1 を表示します。

vncviewer localhost:5901

または、システム メニューから開き、上記のアドレスを入力して [接続] をクリックします。

前に作成したVNC ログイン パスワードの入力を求められるので、それを入力し、OK をクリックして続行します。

パスワードが正しければ、デスクトップのログイン インターフェイスが表示されます。パスワードを入力してデスクトップにアクセスします。

注意: セキュリティに敏感な方は、有効にしているにもかかわらず、VNC ビューアに「接続が暗号化されていません」と表示されていることにお気づきかもしれません。 SSHトンネリング。

これは、サーバーで認証を試みるときに SSH トンネリング以外の特定のセキュリティ スキームを使用するように設計されているためです。ただし、SSH トンネリングを有効にすると、接続は安全になります。

TigerVNC サーバー用の Systemd ユニット ファイルの作成

systemd の下で VNC サーバーを管理するには、つまり、必要に応じて VNC サービスを開始、停止、再起動するには、 の下にそのユニット ファイルを作成する必要があります。 /etc/systemd/system/ ディレクトリ、root 権限。

sudo vim /etc/systemd/system/[email 

次に、ファイルに次の行を追加します。

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=simple 
User=tecmint 
PAMName=login 
PIDFile=/home/%u/.vnc/%H%i.pid 
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1024x768 
ExecStop=/usr/bin/vncserver -kill :%i 

[Install] 
WantedBy=multi-user.target

ファイルを保存して閉じます。

次に、次のように、systemd マネージャー構成をリロードして、新しく作成されたユニット ファイルを読み取ります。

sudo systemctl daemon-reload

次に、VNC サービスを開始し、システム起動時の自動開始を有効にして、図に示すようにステータスを確認します。


sudo systemctl start vncserver@1
sudo systemctl enable vncserver@1
sudo systemctl status vncserver@1

それだけです!この記事では、Ubuntu Linux ディストリビューションに VNC サーバーをインストールして構成する方法を説明しました。以下のフィードバック フォームからご質問やご意見をお聞かせください。