Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第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 tcpTCP(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