GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にVNCをインストールして構成する方法

Virtual Network Computing(VNC)は、キーボードとマウスを使用して別のコンピューターをリモートで制御できるグラフィカルデスクトップ共有システムです。これは、Microsoftリモートデスクトッププロトコル(RDP)のオープンソースの代替手段です。

この記事では、Ubuntu20.04にVNCサーバーをインストールして構成する方法について説明します。また、SSHトンネルを介してVNCサーバーに安全に接続する方法についても説明します。

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

Ubuntuサーバーはコマンドラインから管理され、デフォルトではデスクトップ環境がインストールされていません。デスクトップ版のUbuntuを実行している場合は、この手順をスキップしてください。

Ubuntuリポジトリで利用できるさまざまなデスクトップ環境があります。 1つのオプションは、Ubuntu20.04のデフォルトのデスクトップ環境であるGnomeをインストールすることです。別のオプションは、Xfceをインストールすることです。高速で安定した軽量のデスクトップ環境であるため、リモートサーバーでの使用に最適です。

このガイドでは、Xfceをインストールします。 sudo権限を持つユーザーとして次のコマンドを入力します。

sudo apt updatesudo apt install xfce4 xfce4-goodies

システムによっては、Xfceパッケージのダウンロードとインストールに時間がかかる場合があります。

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

Ubuntuリポジトリには、TightVNC、TigerVNC、x11vncなどのさまざまなVNCサーバーがあります。各VNCサーバーには、速度とセキュリティの点で異なる長所と短所があります。

TigerVNCをインストールします。積極的にメンテナンスされている高性能VNCサーバーです。次のコマンドを入力して、パッケージをインストールします。

sudo apt install tigervnc-standalone-server

VNCアクセスの構成#

VNCサーバーがインストールされたら、次のステップは初期ユーザー構成を作成し、パスワードを設定することです。

vncpasswdを使用してユーザーパスワードを設定します 指図。以下のコマンドを実行するときは、sudoを使用しないでください。

vncpasswd

パスワードを入力して確認し、表示専用パスワードとして設定するかどうかを確認するメッセージが表示されます。表示専用パスワードを設定することを選択した場合、ユーザーはマウスとキーボードを使用してVNCインスタンスを操作できなくなります。

Password:
Verify:
Would you like to enter a view-only password (y/n)? n

パスワードファイルは~/.vncに保存されます ディレクトリ。存在しない場合は作成されます。

次に、Xfceを使用するようにTigerVNCを構成する必要があります。これを行うには、次のファイルを作成します。

〜/ .vnc / xstartup
nano ~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 

ファイルを保存して閉じます。上記のコマンドは、TigerVNCサーバーを起動または再起動するたびに自動的に実行されます。

~/.vnc/xstartup ファイルには実行権限も必要です。 chmodを使用します ファイルのアクセス許可を設定するコマンド:

chmod u+x ~/.vnc/xstartup

追加のオプションをVNCサーバーに渡す必要がある場合は、configという名前のファイルを作成します。 1行に1つのオプションを追加します。次に例を示します:

〜/ .vnc / config
geometry=1920x1080
dpi=96

これで、vncserverを使用してVNCサーバーを起動できます。 コマンド:

vncserver
New 'server2.linuxize.com:1 (linuxize)' desktop at :1 on machine server2.linuxize.com

Starting applications specified in /home/linuxize/.vnc/xstartup
Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd :1 to connect to the VNC server.

:1に注意してください 上記の出力のホスト名の後に。これは、vncサーバーが実行されているディスプレイポートの番号を示します。この例では、サーバーはTCPポート5901で実行されています。 (5900 + 1)。 vncserverを使用して2番目のインスタンスを作成する場合 次の空きポート、つまり:2で実行されます 、これは、サーバーがポート5902で実行されていることを意味します (5900 + 2)。

覚えておくべき重要なことは、VNCサーバーを操作するときは、:X 5900+Xを参照するディスプレイポートです 。

次のように入力すると、現在実行中のすべてのVNCセッションのリストを取得できます。

vncserver -list
TigerVNC server sessions:

X DISPLAY #	RFB PORT #	PROCESS ID
:1		      5901		    5710

次の手順に進む前に、vncserverを使用してVNCインスタンスを停止します -killを使用したコマンド オプションと引数としてのサーバー番号。この例では、サーバーはポート5901(:1)で実行されています。 )、それで停止します:

vncserver -kill :1
Killing Xtigervnc process ID 5710... success!

Systemdユニットファイルの作成#

VNCセッションを手動で開始する代わりに、systemdユニットファイルを作成して、必要に応じてVNCサービスを開始、停止、および再起動できるようにします。

テキストエディタを開き、次の設定をコピーして貼り付けます。 7行目のユーザー名をユーザー名と一致するように変更してください。

sudo nano /etc/systemd/system/[email protected]
/etc/systemd/system/[email protected]
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple
User=linuxize
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

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

新しいユニットファイルが作成されたことをsystemdに通知します:

sudo systemctl daemon-reload

起動時にサービスを開始できるようにします:

sudo systemctl enable [email protected]

番号1 @の後 signは、VNCサービスが実行される表示ポートを定義します。これは、VNCサーバーがポート5901でリッスンすることを意味します 、前のセクションで説明したように。

以下を実行してVNCサービスを開始します:

sudo systemctl start [email protected]

サービスが正常に開始されていることを確認します:

sudo systemctl status [email protected]
[email protected] - Remote desktop service (VNC)
     Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-03-26 20:00:59 UTC; 3s ago
...

VNCサーバーへの接続#

VNCは暗号化されたプロトコルではないため、パケットスニッフィングの対象となる可能性があります。推奨されるアプローチは、SSHトンネルを作成し、ポート5901のローカルマシンから同じポートのサーバーにトラフィックを安全に転送することです。

LinuxおよびmacOSでSSHトンネリングを設定する#

Linux、macOS、またはその他のUnixベースのオペレーティングシステムをマシンで実行している場合は、次のコマンドを使用してSSHトンネルを簡単に作成できます。

ssh -L 5901:127.0.0.1:5901 -N -f -l vagrant 192.168.33.10

ユーザーパスワードの入力を求められます。

必ずusernameを置き換えてください およびserver_ip_address ユーザー名とサーバーのIPアドレスを使用します。

WindowsでSSHトンネリングを設定する#

Windowsを実行している場合は、PuTTYSSHクライアントを使用してSSHトンネリングを設定できます。

Puttyを開き、サーバーのIPアドレスをHost name or IP addressに入力します フィールド。

Connectionの下 メニュー、ボックス、SSHを展開 、Tunnelsを選択します 。 VNCサーバーポートを入力します(5901Source Port フィールドに入力し、server_ip_address:5901と入力します Destinationで フィールドをクリックし、Addをクリックします 下の画像に示すボタン:

Sessionに戻ります 設定を保存するページなので、毎回入力する必要はありません。リモートサーバーに対して、保存されたセッションを選択し、Openをクリックします ボタン。

Vncviewerを使用した接続#

SSHトンネルが作成されたので、Vncviewerを開き、localhost:5901でVNCサーバーに接続します。 。

TigerVNC、TightVNC、RealVNC、UltraVNC、Vinagre、VNC Viewer forGoogleChromeなどの任意のVNCビューアを使用できます。

TigerVNCを使用します。ビューアを開き、localhost:5901と入力します 、Connectをクリックします ボタン。

プロンプトが表示されたらユーザーパスワードを入力すると、デフォルトのXfceデスクトップが表示されます。次のようになります:

キーボードとマウスを使用して、ローカルマシンからリモートXFCEデスクトップとの対話を開始できます。


Ubuntu
  1. Ubuntu20.04にNFSサーバーをインストールして構成する方法

  2. Ubuntu20.04にDHCPサーバーをインストールして構成する方法

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

  1. Ubuntu18.04にVNCをインストールして構成する方法

  2. Ubuntu18.04にNFSサーバーをインストールして構成する方法

  3. CentOS7にVNCをインストールして設定する方法

  1. CentOS8にVNCをインストールして設定する方法

  2. Ubuntu14.04にVNCサーバーをインストールする方法

  3. Ubuntu16.04にVNCサーバーをインストールして構成する