第15章 TigerVNC
Tiger
vnc(Tiger Virtual Network Computing)は、グラフィカルデスクトップ共有用のシステムであり、他のコンピューターのリモート制御を可能にします。
Tiger
vnc は、クライアントサーバープリンシパルで機能します。サーバー はその出力(vncserver
)を共有し、クライアント (vncviewer
)はサーバーに接続します。
15.1. VNC Server
vncserver
は、VNC(Virtual Network Computing)デスクトップを起動するユーティリティーです。適切なオプションで Xvnc を実行し、VNC デスクトップでウィンドウマネージャーを起動します。vncserver
を使用すると、どこからでも任意の数のクライアントがアクセス可能なマシンで個別のセッションを並行して実行できます。
15.1.1. VNC サーバーのインストール
TigerVNC サーバーをインストールするには、
root
で以下のコマンドを実行します。
~]# yum install tigervnc-server
15.1.2. VNC サーバーの設定
VNC サーバーでは、表示、ネットワークアドレス、ポート、セキュリティーの設定などに対するオプションのパラメーターを使用して、1 人または複数のユーザー用の画面を起動するよう設定できます (ユーザーのシステムがシステムに存在する場合)。
手順15.1 1 人のユーザー用に VNC サーバーの設定
/etc/sysconfig/vncservers
を編集し、次の形式で行を追加して、ユーザー名とディスプレイ番号を指定します。VNCSERVERS="display_number:user"
VNC ユーザー名は、システムのユーザーに対応している必要があります。例15.1 ユーザーのディスプレイ番号の設定
たとえば、ユーザーjoe
のディスプレイ番号3
を設定するには、設定ファイルを開いて編集します。~]# vi /etc/sysconfig/vncservers
以下のように行を追加します。VNCSERVERS="3:joe"
ファイルを保存してから閉じます。上記の例では、ディスプレイ番号 3 とユーザー joe が設定されます。ワークステーションのメイン X ディスプレイは通常 0 と示されるため、ディスプレイ番号には 0 を使用しないでください。
手順15.2 複数のユーザーの VNC 表示の設定
- 複数のユーザーに VNC 表示を設定するには、
/etc/sysconfig/vncservers
を編集してユーザー名とディスプレイ番号を指定し、次の形式で行を追加します。VNCSERVERS="display_number:user display_number:user"
VNC ユーザー名は、システムのユーザーに対応している必要があります。例15.2 2 人のユーザーの表示番号の設定
たとえば、2 人のユーザーを設定するには、設定ファイルを開いて編集します。~]# vi /etc/sysconfig/vncservers
以下のように行を追加します。VNCSERVERS="3:joe 4:jill"
手順15.3 VNC 表示引数の設定
- 以下のように VNCSERVERARGS ディレクティブを使用して引数を追加して、
/etc/sysconfig/vncservers
ファイルに追加の設定を指定します。VNCSERVERS="display_number:user display_number:user" VNCSERVERARGS[display_number]="arguments"
表15.1 頻繁に使用される VNC サーバーパラメーター VNCSERVERARGS 定義 -geometry 作成する VNC デスクトップのサイズを指定します。デフォルトは 1024x768 です。 -nolisten tcp TCP(Transmission Control Protocol)を介した VNC サーバーへの接続を防止する -localhost セキュアなトンネルを介して実行する場合を除き、リモート VNC クライアントが接続しないようにする その他のオプションについては、Xvnc(1)
の man ページを参照してください。例15.3 vncserver 引数の設定
上記の例では、2 人のユーザーに引数を追加するには、以下のように/etc/sysconfig/vncservers
ファイルを編集します。VNCSERVERS="3:joe 4:jill" VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -localhost" VNCSERVERARGS[2]="-geometry 1920×1080 -nolisten tcp -localhost"
手順15.4 VNC ユーザーパスワードの設定
/etc/sysconfig/vncservers
ファイルで定義されたすべてのユーザーに VNC パスワードを設定するには、root
で次のコマンドを実行します。~]# vncpasswd Password: Verify:
ユーザーに VNC パスワードを個別に設定するには、以下を実行します。~]# su - user ~]$ vncpasswd Password: Verify:
重要保存されたパスワードは暗号化されていません。パスワードファイルへのアクセスが可能であれば、誰でもプレーンテキストのパスワードを見ることができます。
15.1.3. VNC サーバーの起動
VNC デスクトップを起動するには、
vncserver
ユーティリティーが使用されます。これは、Xvnc サーバーの起動プロセスを簡素化する Perl スクリプトです。適切なオプションで Xvnc を実行し、VNC デスクトップでウィンドウマネージャーを起動します。vncserver
を開始する方法は 3 つあります。
vncserver
は、最初に利用可能なディスプレイ番号を選択し、そのディスプレイ番号で Xvnc を起動して、Xvnc セッションでデフォルトのウィンドウマネージャーを起動することができます。これらの手順はすべて 1 つのコマンドによって提供されます。~]$ vncserver
VNC パスワードが設定されていない場合は、コマンドの初回実行時に VNC パスワードを入力するように求められます。- または、特定のディスプレイ番号を指定することもできます。
vncserver :display_number
vncserver
はそのディスプレイ番号で Xvnc を起動しようとし、ディスプレイ番号が利用できない場合は終了するようにできます。以下に例を示します。~]$ vncserver :20
- または、
root
で、/etc/sysconfig/vncservers
設定ファイルに設定したユーザーのディスプレイを使用して VNC サーバーを起動するには、次のコマンドを実行します。~]# service vncserver start
システム起動時にvncserver
サービスを自動的に有効にできます。ログインするたびに、vncserver
は自動的に開始します。root
で以下を実行します。~]# chkconfig vncserver on
15.1.4. VNC セッションの終了
vncserver
サービスの有効化と同様に、システム開始時に自動的にサービスの起動を無効にできます。
~]# chkconfig vncserver off
または、システムの実行中に、
root
で以下のコマンドを実行してサービスを停止できます。
~]# service vncserver stop
特定の表示を終了するには、ディスプレイ番号とともに
-kill
オプションを使用して vncserver
を終了します。
例15.4 特定の表示の終了
たとえば、ディスプレイ番号 2 を終了するには、次のコマンドを実行します。
~]# vncserver -kill :2
例15.5 Xvnc プロセスの終了
VNC サービスを中断したり表示したりできない場合は、プロセス ID(PID)を使用して Xvnc セッションを終了します。プロセスを表示するには、以下を入力します。
~]$ service vncserver status
Xvnc (pid 4290 4189) is running...
プロセス
4290
を終了するには、root
で次のコマンドを実行します。
~]# kill -s 15 4290