月別アーカイブ: 2013年2月

KVM環境 VNC から SPICE への変更

仮想環境に Xen を使用していた時はゲストマシンへの接続に VNC を使用していました。
その流れで Xen から KVM に移行後も VNC を使い続けていたのですが、最近 SPICE への切り替えを行いました。

1. VNC と SPICE の比較

VNC は RFB プロトコルを使用しているため、いくつか制限があります。
SPICE への切り替えを行ったのは、SPICE が VNC では実現できないマルチモニタに対応していたからです。

マルチモニタ対応以外にも VNC と比較して SPICE が優れていることがあります。

  • マルチモニタ対応
  • 動画再生支援
  • 音声対応
  • USB 対応
  • SSL 対応
  • ゲストマシン側の設定は必須ではない
    (*) 設定が必須なのはホストマシンのみ

赤び~は動画再生支援や音声転送こそ使いませんが、USB、SSL への対応も便利そうです。

デメリットとして、Mac OS X 用の SPICE クライアントが存在しないことです。
(*) Windows 用はすでに存在するようです。
@see 「SPICE - Download

2. SPICE のインストール

2.1. SPICE サーバのインストール

VNC と異なり、SPICE サーバは KVM のホストマシンへインストールします。
(*) VNC サーバはゲストマシン側にインストールする。

SPICE サーバがインストールされているか確認します。

# rpm -qa spice-server
spice-server-0.10.1-10.el6.x86_64

赤び~の環境では spice-server パッケージはインストール済でしたが、インストールされていない場合は yum からインストール可能です。

# yum install spice-server

~ 以下、略 ~

2.2. SPICE クライアントのインストール

ゲストマシンに接続するには SPICE クライアントが必要です。
今回は KVM ホストサーバにインストールしています。

SPICE クライアントがインストールされているか確認します。

# rpm -qa spice-client
spice-client-0.8.2-15.el6-x86_64

赤び~の環境では前述の spice-server と関連するパッケージしかインストールされていませんでした。

# rpm -qa spice-client
# yum list installed | grep spice
spice-glib.x86_64                      0.11-11.el6_3.1                  @updates
spice-gtk.x86_64                       0.11-11.el6_3.1                  @updates
spice-gtk-python.x86_64                0.11-11.el6_3.1                  @updates
spice-server.x86_64                    0.10.1-10.el6                    @base

spice-client パッケージも yum からインストール可能です。

# yum install spice-client

~ 略 ~

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 347 k
Installed size: 1.2 M

~ 略 ~

Installed:
  spice-client.x86_64 0:0.8.2-15.el6

Complete!

2.3. QLX デバイスドライバのインストール

ゲストマシンに QLX デバイスドライバをインストールすると、SPICE クライアントから使用する際の画面表示パフォーマンスが向上します。
(*) インストールしなくても動作します。

インストール有無を確認し、インストールされていなければ yum でインストールします。

ゲストマシン (CentOS 6.3) にインストール済

# rpm -qa xorg-x11-drv-qxl
xorg-x11-drv-qxl-0.0.14-14.el6_3.x86_64

ゲストマシン (Fedora 18) にインストール済

# rpm -qa xorg-x11-drv-qxl
xorg-x11-drv-qxl-0.0.22-5.20120718gitde6620788.fc18.x86_64

ゲストマシンに未インストール

# rpm -qa xorg-x11-drv-qxl
# yum install xorg-x11-drv-qxl

~ 以下、略 ~

(*) Windows 用のドライバも存在するようです。
@see 「SPICE - Download
@see 「Spice User Manual」-「6.1 Windows」

3. VNC から SPICE への変更

仮想マシンマネージャを起動し、ゲストマシンの起動パラメータを VNC から SPICE に変更します。

20130228_01

「適用」ボタンを選択すると、SPICE への変更と agent channel の追加を確認するダイアログが表示されるので「はい」を選択します。

20130228_02

変更後は「ディスプレイ」メニューに「TLS Port」項目が追加されます。

20130228_03

また、「Channel」メニューと「Controller Virtio Serial」メニューも新しく追加されています。

20130228_04 20130228_05

4. SPICE クライアントからの接続

spicec コマンドを使用して起動済みのゲストマシンに接続します。

$ spicec -h 127.0.0.1 -p 5900

アドレス (-h パラメタ) とポート (-p パラメタ) は仮想マシンマネージャの「ディスプレイ」メニューから確認可能です。
「ポート」が「自動割り当て」となっている場合、「5900」が割り当てられています。

また、-f パラメタを指定するとフルスクリーンで表示されます。

接続後は VNC 使用時と同様に使用可能です。

20130228_06 20130228_07

[ END ]

LibreOffice 4.0 のインストール (Mac | OS X 10.8)

LibreOffice の最新版であるバージョン 4.0 がリリースされました。

公式のリリースノートを見るとバージョン 3.x からさほど変わっていないように思えますが、公式 Wiki を見ると細々変わっているようです。
(*) 公式 Wiki には既知のバグも記載されていました。

1. ダウンロード

LibreOfficeダウンロードサイト から最新のインストーラと言語パックをダウンロードします。
本日時点の最新版は 4.0.0でした。

「Mac OS X (Intel), バージョン 4.0.0, 日本語」の「メイン・インストールパッケージ」と「言語パッケージ」を選択し、LibreOffice_4.0.0_MacOS_x86.dmg (164.5 MB) と LibreOffice_4.0.0_MacOS_x86_langpack_ja.dmg (16.4 MB) を入手します。

2. インストール

LibreOffice のインストールは LibreOffice_4.0.0_MacOS_x86.dmg ファイルをマウントし、その中の LibreOffice.app アイコンを Applications にドラッグするだけで完了します。

20130214_01

前のバージョンを削除していない場合は確認ダイアログが表示されます。
「置き換える」ボタンを選択すると、古いバージョンが最新バージョンで差し替えられます。

20130214_02

20130214_03

3. 開発元の確認

そのまま Dock のアプリケーションから LibreOffice.app を選択しても、確認元未確認ダイアログが出て Libre Office は起動できません。

20130214_04

"LibreOffice.app"は、開発元が未確認のため開けません。
"セキュリティ"環境設定でインストールが許可されているのは、Mac App Store と確認済みの開発元からのアプリケーションのみです。

開発元を確認済みとするには、LibreOffice.app のコンテクストメニュー (右クリックで表示されるメニュー) から「開く」を選択します。

20130214_05 20130214_06

その後表示される開発元確認ダイアログで「開く」ボタンを選択すると、開発元が確認済みとなり Libre Office が起動します。

20130214_07

この時点では言語パックをあてていないため、英語表示で起動します。

20130214_08 20130214_09

4. 言語パックのインストール

LibreOffice_4.0.0_MacOS_x86_langpack_ja.dmg ファイルをマウントし、LibreOffice Language Pack.app アイコンを実行するとインストーラが起動します。
その際表示される開発元確認ダイアログでは「開く」ボタンを選択します。

20130214_10 20130214_11

20130214_12

確認ダイアログで「インストール」ボタンを選択すると、言語パックのインストールは完了します。

20130214_13

20130214_14

5. 動作確認

あらためて Dock のアプリケーションから LibreOffice.app を選択し、LibreOffice が日本語で起動すればインストールは成功しています。

20130214_15 20130214_16

もしも英語表示のままの場合、メニューの「LibreOffice」-「Preferences (設定)」-「Language Settings (言語設定)」-「Languages (言語)」を確認してください。

20130214_17

Libre Office が起動した状態で言語パックをインストールした場合、「Language Settings (言語設定)」から「Japanese (日本語)」を選択できません。
その場合、1度 Libre Office を終了してから起動すると選択可能となります。

[ END ]

Apple Wireless Keyboard のキーコード (CentOS 6.3)

Apple Wireless Keyboard を CentOS 6.3 (Linux) で使用する」の補足です。

4. Apple Wireless Keyboard のキーコード (keycode)

CentOS 6.3 (64 bit) に Apple Wireless Keyboard を接続したときの、Mac 専用キーのキーコードを調べました。

4.1. キーコード (keycode) の取得

キーコードは "xev" アプリを使用して取得します。

取得例: コントロールキーを押したときのイベント情報

$ xev
...
KeyPress event, serial 44, synthetic NO, window 0x4600001,
    root 0x1c3, subw 0x0, time 6953593, (80,132), root:(991,1181),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:                                     
    XmbLookupString gives 0 bytes:                                   
    XFilterEvent returns: False

赤字がキーコード (keycode)、青字が発生イベントです。

4.2. xkb_keycodes の取得

現在使用している "xkb_keycodes" を確認します。

$ setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete+japan"        };
        xkb_symbols   { include "pc+jp(OADG109A)+inet(evdev)+terminate(ctrl_alt_bksp)"  };
        xkb_geometry  { include "pc(pc104)"     };
};

"xkb_keycodes" の値から、/usr/share/X11/xkb/keycodes/evdev がキーコードとして使用されていることが分かります。

/usr/share/X11/xkb/keycodes/evdev

// translation from evdev scancodes to something resembling xfree86 keycodes.

default xkb_keycodes "evdev" {
    minimum = 8;
    maximum = 255;

        # Added for pc105 compatibility
        <LSGT> = 94;

    <TLDE> = 49;
    <AE01> = 10;
    <AE02> = 11;
    <AE03> = 12;
    <AE04> = 13;
    ...

    ~ 以下、略 ~

4.3. Mac 専用キーのキーコード一覧

Apple Wireless Keyboard の Mac 専用キーのキーコード (keycode) 一覧です。
比較用に Happy Hacking Keyboard Lite 2 の発生イベントも参考として乗せています。

物理キー keycode 発生イベント
Apple Wireless Keyboard 【参考】 HHKB Lite 2
control 37 <LCTL> Control_L Control_L
command (左) 133 <LWIN> Super_L -
command (右) 134 <RWIN> Super_R -
option (左) 64 <LALT> Alt_L Alt_L
option (右) 108 <RALT> - Alt_R
caps 66 <CAPS> Eisu_toggle -
delete 22 <BKSP> BackSpace -
119 <DELE> - Delete
BS 22 <BKSP> - BackSpace
英数 130 <HNGL> Hangul_Hanja -
かな 131 <HJCV> Hangul -
半角/全角 49 <TLDE> - Zenkaku_Hankaku
無変換 102 <MUHE> - Muhenkan
変換 100 <HENK> - Henkan_Mode
eject 169 <I169> XF86Eject -

[ END ]