Ubuntu LinuxにVNCサーバーをインストールして実行する方法
リモートデスクトップでコンピューターにアクセスすることは、現代の働き方において欠かせない要素となっています。リモートデスクトップソフトを使えば、物理的に目の前にないシステムにもアクセスし、操作することが可能です。テレワークの普及により、離れた場所から自分のPCを使って働く人が増え、リモートコンピューティングの重要性はますます高まっています。
このガイドでは、Ubuntu 20.04 LTSにVirtual Network Computing(VNC)サーバーをインストールし、リモートコンピューティング環境を構築する方法を紹介します。
VNCサーバーとは?
従来、Linuxマシンから他のシステムへアクセスする際は、Secure Shell(SSH)などのツールを使い、ターミナル経由で行うのが一般的でした。しかし、コマンドラインインターフェースでは、GUIを使って相手のPCを操作できないという課題があります。そこで役立つのがVNC接続です。
VNCサーバー(Virtual Network Computing Server)は、ネットワーク越しに別のPCへグラフィカルな画面でアクセス・操作できるようにする仕組みです。TightVNC、TigerVNC、RealVNCなど、さまざまなVNCアプリケーションが開発されています。本記事では、x11vncサーバーを使ってUbuntuシステムにリモートコンピューティング環境を構築します。
x11vncは軽量なVNCサーバーで、リモートデスクトップ用に新しいディスプレイを作成しません。代わりに、Linuxシステム上の既存のX11ディスプレイ(KDE、GNOME、Xfceなど)をリアルタイムに表示します。さらに、任意のVNCクライアントやビューアから接続できる点も大きなメリットです。
x11vncサーバーにはSSL/TLS暗号化と2048ビットRSA認証が組み込まれており、VeNCryptサポートやUNIXアカウント・パスワードによるログインシステムにも対応しています。
互換性のあるディスプレイマネージャーのインストール
Ubuntu Linuxでは、GNOME Desktop Manager(GDM)がデフォルトのディスプレイマネージャーとして採用されています。新しいバージョンのUbuntuではgdm3が使われています。残念ながら、GDMはx11vncサーバーとうまく連携しないことが多いのが実情です。この問題を回避するには、Light Display Manager(lightdm)をインストールする必要があります。
Ctrl + Alt + Tキーボードショートカットでターミナルを開きます。まず、aptでソフトウェアソースを更新しましょう。
sudo apt update
次に、以下のコマンドでlightdmをインストールします。
sudo apt install lightdm
インストール中に次のような画面が表示されます。Enterキーを押して続行してください。
続いて、lightdmを選択し、Enterキーを押します。
ディスプレイマネージャーの変更を反映させるため、PCを再起動します。
sudo reboot
再起動後、ログイン画面が少し変わっていることに気づくでしょう。これはlightdmがディスプレイマネージャーとして動作しているためです。
Ubuntuへのx11vncサーバーのインストール
x11vncサーバーをインストールするには、Ctrl + Alt + Tでシステムターミナルを開き、以下のコマンドを実行します。
sudo apt install x11vnc
x11vncサーバーの設定
次に、x11vncサーバーを起動するためのサービスを設定します。/lib/systemd/system/ディレクトリにx11vnc.serviceという名前のファイルを作成しましょう。ここではVimを使用していますが、nanoなどお好みのLinuxテキストエディターを使っても問題ありません。
sudo vim /lib/systemd/system/x11vnc.service
以下の内容をコピーして、新しく作成したサービスファイルに貼り付けてください。
[Unit]
Description=x11vnc service
After=display-manager.service
network.target syslog.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -forever -display :0 -auth guess -passwd randompassword
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
[Install]
WantedBy=multi-user.target
randompasswordの部分が、サーバーへのログイン時に使用するパスワードです。任意の強力なパスワードに書き換えておきましょう。
簡単に説明すると、このサービスファイルの内容は「これは子サービスであり、他のすべてのサービスが起動した後に起動すべきである。障害が発生した場合は、multi-userターゲットに到達する前にサービス自身を再起動する」という意味になります。
Vimを使用している場合はEscキーを押し、続けて:wqと入力してEnterキーを押すことで、変更を保存してエディターを終了できます。
ファイルを保存したら、systemdマネージャーの設定とユニットファイルを必ず再読み込みしてください。
systemctl daemon-reload
その後、x11vncサービスを有効化します。
systemctl enable x11vnc.service
最後に、以下のコマンドでVNCサーバーを起動します。
sudo systemctl start x11vnc.service
systemctlでx11vncサービスのステータスを確認しましょう。
systemctl status x11vnc.service
出力は以下のようになるはずです。
上記の出力から、サービスがアクティブで実行中であることがわかります。
もう一つ重要なのは、x11vncサーバーが使用しているポート番号です(この例ではポート5900)。
ファイアウォールでサーバーポートを開放する
Ubuntuはデフォルトでufwファイアウォールを使用しています。x11vncサーバーが使用するポート経由で、他のPCからUbuntuシステムにアクセスできるようにするには、以下のコマンドを実行します。
sudo ufw allow 5900/tcp
別のコンピューターから接続する
これで、VNCによるリモートデスクトップ接続でUbuntuシステムに接続できるようになりました。
Ubuntu Linux PCへの接続には、任意のVNCクライアントを使用できます。おすすめのVNCビューアの一つが、RealVNC製のVNC Connectです。macOS、Linux、Windows、iOS、Androidなど、ほぼすべての主要プラットフォーム向けに提供されています。
ダウンロード: RealVNCのVNC Viewer
VNCクライアントをダウンロードしたら、システムにインストールしてアプリケーションを起動します。
本ガイドではmacOS版のVNC Connectを使用していますが、他のOSでも手順はほぼ同じです。
接続先のPCのIPアドレスと、x11vncサーバーが使用するポート番号を入力します。その後、Enterキーを押して接続しましょう。
注: Ubuntuでは、以下のコマンドで自分のIPアドレスを確認できます。
ip addr
VNC接続自体は暗号化されていません。つまり、ネットワークを盗聴されるとデータにアクセスされ、閲覧される可能性があります。ただし、パスワードは暗号化されます。暗号化されていない接続である旨の警告がVNCクライアントに表示されるので、Continueボタンを選択して進みましょう。
次の画面でパスワードの入力を求められます。これは先ほどx11vnc.serviceファイルに設定したパスワードです。パスワードを入力し、Okボタンをクリックして続行します。
これで、別のデバイスから自分のPCにアクセスできるようになります。
画面ロックを無効にする
x11vncサーバー使用時によくある問題の一つが、画面ロックです。しかし、PCの画面ロックを無効にすれば、この問題は簡単に解決できます。
設定 > プライバシー > 画面ロックに移動し、自動画面ロックとサスペンド時に画面をロックのオプションを無効にしてください。
注: これはセキュリティリスクにつながる可能性があるため、作業後は必ず再度有効に戻してください。
Linuxマシンでリモート作業をする
リモートで仕事をする人にとって、リモートデスクトップソフトは不可欠なツールです。システムにVNCサーバーをセットアップしても、VNCクライアントがなければアクセスできません。Linux PCにVNCサーバーをインストールしておけば、いつでもどこでも、他のデバイスからシステムにアクセスできるようになります。
リモートコンピューティングにおいて、OSは制約になりません。ほぼすべてのオペレーティングシステム向けに、PC上でVNCサーバーを構築できるアプリケーションが数多く提供されています。
-
Linux VPSでCS:GOサーバーを構築する方法【初心者向け完全ガイド】
Steam公式のCS:GOゲームサーバーは多くの用途に十分対応していますが、細かい設定は自分でコントロールできません。自前のサーバーを立てれば、次のようなことが可能になります。 マッチ時間、フリーズタイム、最大プレイヤー数、フレンドリーファイアなど、独自のルールを自由に設定できる 友人だけのプライベートマッチを開催できる 大会やトーナメントを主催できる カスタムマップでプレイできる なぜLinuxでゲームサーバーを構築するのか? 「Windowsの方が簡単なのでは? 自分のPCでもできるのでは?」と考える方もいるかもしれません。まず、自宅のPCでサーバーをホストする場合、一般的に
-
WSLでWindows 10・11上にLinux環境を構築する方法|インストールからGUIアプリ起動まで
はじめに筆者はOS関連の学習でWSL(Windows Subsystem for Linux)を長年利用しています。仮想マシンの構築やデュアルブートといった複雑な準備なしに、Windows上で直接Linuxコマンドを実行できる手軽さが大きな魅力です。この記事を読み終える頃には、WindowsからそのままLinuxコマンドを実行できるようになっているはずです。Windows上でLinuxコマンドを実行している様子前提条件WSLを快適に運用するには、Windows 11へのアップグレードをおすすめします。Windows 10でもWSLは利用できますが、筆者の経験上、Windows 11の方がはるか