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

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

サーバーを管理する従来の方法は、sshとコマンドラインを使用することです。ただし、サーバー上でGUIを使用してアプリケーションを実行する必要がある場合があります。通常、サーバーの隣に座っていないため、サーバーにモニターとキーボードがない場合は、何らかのリモートデスクトップが必要になります。

VNCは、広く使用されているこのための優れたソリューションであり、セットアップは非常に簡単です。 UbuntuのリポジトリにはTightVNCがあります。このチュートリアルでは、UbuntuServer16.04にマルチユーザーのTightVNCサーバーをセットアップします。

GUIには、GNOMEやUnityのより軽量な代替手段であるXFCEを使用します。

VNCサーバー(タイトVNC)とデスクトップ(XFCE)をインストールする

まず、TightVNCサーバーとXFCEデスクトップ環境をインストールすることから始めます。

sudo apt install gnome-core xfce4 firefox xfce4-goodies tightvncserver

次に、ユーザー「miki」としてログインするためのパスワードを使用してVNCサーバーを構成する必要があります

vncserver

また、パスワードのみを表示するように求められます。カーソルとキーボードを制御せずに、観客としてのみVNCセッションに接続する場合は、パスワードが必要です。このパスワードは、メインのパスワードとは異なる必要があります。観客を配置する予定がない場合は、パスワードのみを表示するように入力しないことを選択できます。このプロセスが完了すると、VNCインスタンスがポート5901で起動され、VNCserverはこのポートを:1としてカウントします。 VNCの複数のインスタンスを開始すると、複数のディスプレイポートがあり、インスタンスごとに両方の数が1ずつ増加し、2と5902などになります。構成を続行するには、実際にVNCサーバーのすべてのインスタンスを強制終了する必要があります。次のコマンドでこれを行います:

vncserver -kill :1

これが完了したら、VNCサーバーの構成ファイルを編集して、VNCサーバーへの接続時に開始するデスクトップ環境を選択できます。私が話しているファイルはxstartupと呼ばれ、〜/dirの隠し.vncディレクトリ内にあります。最初にこのファイルをバックアップしましょう

mv ~/.vnc/xstartup ~/.vnc/xstartup.backup

そして、きれいな状態から新しいファイルを作成します

nano ~/.vnc/xstartup

この空のファイルに、次の数行を貼り付けます:

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

tihsファイルに言い訳可能なビットを追加する

sudo chmod +x ~/.vnc/xstartup

次に、VNCサーバーを再起動できます

vncserver

VNCサーバーへの接続

次に、VNCサーバーに接続して、セットアップが機能しているかどうかを確認する必要があります。たとえば、VinagreやRemote Desktop Viewerなど、任意のVNCクライアントを使用できます。最初にインストールして起動します

sudo apt install vinagre

サーバーの名前、ポート5901を入力し、[接続]をクリックします。パスワードの入力を求められたら、XFCEに入る必要があります

無制限の数のコンピューターからこのセッションに接続できますが、その場合、すべてが1つのマウスカーソルを制御し、同じセッションになります。一部のユーザーが表示専用のパスワードを入力した場合(パスワードを作成した場合)、カーソルを制御することはできませんが、単一のセッションで1つの同じ画面を見ることができます。

複数のユーザー

互いに干渉しない複数のVNCセッションを持つことが可能です。これは、任意の数のユーザーを作成することによって行われ、各ユーザーは独自のディスプレイポートとVNCサーバーの独自のインスタンスを持ちます。そして今度は、彼はデスクトップ環境の独自のインスタンスを実行します。または、それは完全に別個のDEである可能性があります。まず、新しいユーザーを追加することから始めましょう

sudo adduser newuser

次に、そのユーザーとしてログインします

su newuser

そして、新しいユーザーのパスワードを作成しましょう

vncserver

パスワード以外に、これはポート5902でリッスンする新しいプロセスも作成しました。構成ファイルを編集できるようにするには、このプロセスを強制終了する必要があります。

vncserver -kill :2

そして、実際に以前からプロセスを繰り返す必要があります。最初にxstartupファイルをバックアップします

mv ~/.vnc/xstartup ~/.vnc/xstartup.backup

次に、新しいものを最初から作成します

nano ~/.vnc/xstartup

以下の過去3行

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

そしてそれを実行可能にします:

sudo chmod +x ~/.vnc/xstartup

次に、vncserverを実行してプロセスを起動します

vncserver :2

これで、ポート5902に接続して、個別のセッションを行うことができます。

SSHトンネリングの設定方法

これまでのところ、ディスプレイポート(この場合は5901と5902)で直接接続することができました。しかし、これらのポートがファイアウォールによって閉じられている場合はどうなりますか。何らかの理由でそれらを開くことは実用的ではありません。その場合の解決策があり、SSHトンネリングを使用できます。ポート22またはサーバーでのSSHアクセスに使用するその他のポートを使用して、VNCサーバーがローカルホストでポート5901または5902で実行されているVNCビューアーをだますことができます。このコマンドを使用して、SSHトンネルを確立します。

ssh -L 5902:127.0.0.1:5902 [email protected]

強調表示された部分を必ずIPアドレスとユーザー名に変更してください。

この後、VinagreまたはRemminaを起動し、アドレスとしてlocalhot:5902を入力できます。 SSH接続がアクティブである限り、リモートデスクトップはローカルホスト上にあると見なされ、sshポートを介してトラフィックをサーバーにルーティングします。

systemdユニットの作成

これは、SSHを介してユーザーとサーバーを手動で設定する場合はすべて問題ありませんが、サーバーを再起動するたびにやり直す必要があります。それを避けるために、systemdユニットファイルを作成しましょう。それは古い学校のスタートアップスクリプトの新しい派手な名前です。実際には、2人のユーザーに対して2つ作成する必要があります。最初に、1つ作成します

sudo nano /etc/systemd/system/[email protected]

はい、この構成を配置します

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=miki
PAMName=login
PIDFile=/home/miki/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

次に、別のものを作成します:

sudo nano /etc/systemd/system/[email protected]

そして、同じものを貼り付けます。どちらの場合も、自分のユーザーのユーザー名を変更します。ここで、古いプロセスがまだ実行されている場合はそれらを強制終了し、ユニットファイルをリロードする必要があります

vncserver -kill :2
vncserver -kill :1

sudo systemctl daemon-reload

そして、ユニットファイルの使用を開始します

sudo systemctl start vncserver@1

sudo systemctl start vncserver@2

また、起動のたびにvncサーバーが必要な場合は、上記と同じようにもう一度実行し、起動する代わりに有効にします。

結論

このチュートリアルでは、Ubuntu16.04で2人のユーザーを使用してVNCサーバーをインストールおよび構成する方法を学習しました。ご質問やご意見がございましたら、お気軽にコメントをお寄せください。


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

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

  3. Ubuntuにvncサーバーとクライアントをインストールします

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

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

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

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

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

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