Red Hat Training

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

20.16.12. グラフィカルフレームバッファー

グラフィックデバイスを使用すると、ゲスト仮想マシン OS とのグラフィカルな対話が可能になります。ゲスト仮想マシンには通常、admin との対話を許可するようにフレームバッファーまたはテキストコンソールのいずれかが設定されます。
グラフィカルフレームバッファーデバイスの設定を指定するには、管理ツールを使用して、ドメイン XML に次の変更を行います。

図20.56 グラフィカルフレームバッファー


  ...
  <devices>
    <graphics type='sdl' display=':0.0'/>
    <graphics type='vnc' port='5904'>
      <listen type='address' address='192.0.2.1'/>
    </graphics>
    <graphics type='rdp' autoport='yes' multiUser='yes' />
    <graphics type='desktop' fullscreen='yes'/>
    <graphics type='spice'>
      <listen type='network' network='rednet'/>
    </graphics>
  </devices>
  ...
graphics 要素には必須のtype 属性があり、以下の説明に従って、sdlvncrdp、または desktop の値をとります。

表20.20 グラフィカルフレームバッファー要素

パラメーター説明
sdlこれにより、ホスト物理マシンのデスクトップにウィンドウが表示されます。3 つのオプションの引数を取ることができます。使用するディスプレイの display 属性、認証 ID の xauth 属性、および yes または no の値を受け入れるオプションの fullscreen 属性です。
vncVNC サーバーを起動します。port 属性は、TCP ポート番号を指定します (-1 は、自動割り当てが必要であることを示す従来の構文)。autoport 属性は、使用する TCP ポートの自動割り当てを指定する際に推奨される新しい構文です。listen 属性は、サーバーがリッスンする IP アドレスです。passwd 属性は、クリアテキストで VNC パスワードを提供します。keymap 属性は、使用するキーマップを指定します。timestamp passwdValidTo='2010-04-09T15:51:00' が UTC であると想定し、パスワードの有効性に制限を設定することができます。connected 属性を使用すると、パスワードの変更時に接続先を制御できます。VNC は keep 値のみを受け入れます。そして、すべてのハイパーバイザーでサポートされていないことに注意してください。QEMU は、listen/port を使用する代わりに、unix ドメインソケットパスをリッスンするソケット属性をサポートします。
spiceSPICE サーバーを起動します。port 属性は TCP ポート番号を指定します (自動割り当ての必要があることを示す従来の構文として -1 を使用)。tlsPort は代替のセキュアポート番号を指定します。autoport 属性は、両方のポート番号の自動割り当てを指定する際に推奨される新しい構文です。listen 属性は、サーバーがリッスンする IP アドレスです。passwd 属性は、クリアテキストで SPICE パスワードを提供します。keymap 属性は、使用するキーマップを指定します。timestamp passwdValidTo='2010-04-09T15:51:00' が UTC であると想定し、パスワードの有効性に制限を設定することができます。connected 属性を使用すると、パスワードの変更時に接続先を制御できます。SPICE は、クライアントとの接続を維持するための keep、クライアントとの接続を解除する disconnect、そしてパスワードの変更に失敗する fail を受け入れます。すべてのハイパーバイザーでサポートされているわけではないことに注意してください。defaultMode 属性は、デフォルトのチャネルセキュリティーポリシーを設定します。有効な値は、secureinsecure、およびデフォルトの any になります (可能な場合は secure になりますが、安全なパスが利用できない場合にエラーになるのではなく、insecure にフォールバックします)。
SPICE に通常の TCP ポートと、TLS で保護された TCP ポートの両方が設定されている場合は、各ポートで実行できるチャネルを制限することが望ましい場合があります。これは、メインの graphics 要素内に 1 つ以上の channel 要素を追加することによって実現されます。有効なチャンネル名は、maindisplayinputscursorplaybackrecordsmartcard、および usbredir などです。
SPICE 設定を指定するには、管理ツールを使用して、ドメイン XML に以下の変更を行います。

図20.57 SPICE 設定


  <graphics type='spice' port='-1' tlsPort='-1' autoport='yes'>
    <channel name='main' mode='secure'/>
    <channel name='record' mode='insecure'/>
    <image compression='auto_glz'/>
    <streaming mode='filter'/>
    <clipboard copypaste='no'/>
    <mouse mode='client'/>
  </graphics>
SPICE は、オーディオ、イメージ、およびストリーミングの変数圧縮設定に対応しています。これらの設定には、次のすべての要素で圧縮属性を使用してアクセスできます: image 圧縮を設定するイメージ (auto_glz、auto_lz、quick、glz、lz、off を受け入れる)、wan 上のイメージの JPEG 圧縮用の jpeg (auto、never、always を受け入れる)、wan イメージ圧縮を設定するための zlib (auto、never、always を受け入れる) およびオーディオストリーム圧縮を有効にするための playback (on または off を受け入れる)。
ストリーミングモードは streaming 要素によって設定され、その mode 属性を filterの 1 つ、all または off に設定します。
さらに、(SPICE エージェントを使用して) コピーアンドペースト機能は、clipboard 要素により設定されます。これはデフォルトで有効になっており、copypaste プロパティーを no に設定することで無効にできます。
マウスモードは、mouse 要素によって設定され、その mode 属性を server または client のいずれかに設定します。mode を指定しない場合は、qemu のデフォルトが使用されます (client モード)。
追加の要素は以下のとおりです。

表20.21 追加のグラフィカルフレームバッファー要素

パラメーター説明
rdpRDP サーバーを起動します。port 属性は、TCP ポート番号を指定します (自動割り当ての必要があることを示す従来の構文として -1 を使用)。autoport 属性は、使用する TCP ポートの自動割り当てを指定する際に推奨される構文です。replaceUser 属性は、VM への複数の同時接続を許可するかどうかを決定するブール値です。新規クライアントがシングル接続モードで接続する場合に、multiUser 属性で既存の接続をドロップする必要があるか、また、新規の接続を VRDP サーバーで確立する必要があるかを指定します。
desktopこの値は、現時点では VirtualBox ドメイン用に予約されています。sdl と同様に、ホスト物理マシンデスクトップにウィンドウを表示しますが、VirtualBox ビューアーを使用します。sdl と同様に、オプション属性の display および fullscreen を受け入れます。
listenグラフィックタイプ vnc および spice のリスニングソケットを設定するために使用されるアドレス情報を graphics に配置する代わりに、listen と呼ばれる graphics の個別のサブ要素である listen 属性を指定できます (上記の例を参照)。listen は次の属性を受け入れます。
  • type - address または network に設定します。これは、このリッスン要素が、直接使用するアドレスを指定するか、ネットワークに名前を付けるか (これを使用して、リッスンする適切なアドレスを判断します) を指定します。
  • address - この属性には、リッスンする IP アドレスまたはホスト名 (DNS クエリーで IP アドレスに解決されます) のいずれかが含まれます。実行中のドメインの"live" XML では、この属性は、たとえtype='network'であっても、リッスンに使用される IP アドレスに設定されます。
  • network - type='network' の場合、network 属性には、libvirt の設定済みのネットワーク一覧にネットワークの名前が含まれます。名前の付いたネットワーク設定を検証し、適切なリッスンアドレスを決定します。たとえば、ネットワークの設定に IPv4 アドレスがある場合 (正引きタイプのルート、nat、または no forward タイプ (isolated) がある場合など) は、ネットワークの設定に一覧表示されている最初の IPv4 アドレスが使用されます。ネットワークがホスト物理マシンブリッジを記述している場合、そのブリッジデバイスに関連付けられている最初の IPv4 アドレスが使用され、ネットワークが直接 (macvtap) モードの 1 つを記述している場合、最初の転送 dev の最初の IPv4 アドレス使用されます。