2009/10/31(土)VMware Player 3.0.0

VMware Workstation 7.0/Player 3.0が正式リリースされていたのでメインマシンに入れてみた。

入れるのは当然x86_64 Linux版。

#large: is not allow

インストール

VMware Player 2.5以降と同様に簡単なインストーラーになっていた。

vmp300-1.png

ダウンロードしたVMware Playerのバイナリ*1に対して、実行権限を与えてroot権限でキックするだけ。これだけでGUIのインストーラーが立ち上がるだけというWindowsライクなインストーラーなので非常に楽。

実際にはこんな感じでインストーラーを起動させました@Kubuntu 9.04

$ chmod 755 ./VMware-Player-3.0.x-build.arch.bundle
$ sudo ./VMware-Player-3.0.x-build.arch.bundle

これだけです。

*1 : VMware-Player-3.0.x-build.arch.bundleという命名記法。buildにはビルド番号、archにはi386とかx86_64とか入ります。

VMware Player 3.0.0 の新機能

ソースはこのへん

サポートOSが増えました

  • Windows 7 (Home Basic, Home Premium, Business, Enterprise, Ultimate)
  • Windows Server 2008 R2
  • Debian 5
  • Ubuntu 9.04
  • CentOS 5.3, RHEL 5.3, Oracle Enterprise Linux 5.3
  • openSUSE 11.x, SLES 11.x
  • Mandriva 2009

Windows 7や2008 R2のサポートとかは正直どうでも良くDebianが正式にサポートされたのは非常に嬉しい。

仮想マシンがPlayerだけで作れるようになりました

vmp300-2.png

当然、VMware ToolsもPlayerからインストールできるようになっていますし、作成した後の仮想マシンのパラメータ変更も可能です。
……こんなに大盤振る舞いで大丈夫ですか?VMwareさん。

ALSAに対応しました

vmp300-3.png

ようやくサウンド出力がALSAに対応しました。個人的に一番嬉しい改善です。
やっとAmarokで音楽を再生している状態でも、ゲストOSの音が鳴るようになりました。

ゲストOSがWindows XPの時のビデオ関連のパフォーマンスが改善されました

vmp300-4.png

とりあえず、東方永夜抄のリプレイを再生してみました。
キャプチャ時に48.0fpsまで落ちてしまっていますが、通常は60fpsで実行可能です。
Wineで動作に不具合があるゲームもこれで(ry

と、いうわけで

VMware Player 3.0非常にお勧めですよ~

1つのNICに複数のIPアドレスをアサインする

2009/10/18PC::Linux/BSD

Linuxで1つの物理NICに複数のIPアドレスをアサインする方法に関するメモ。

環境

以下の環境で試してみました。

  • Kubuntu 9.04/amd64
    • Kernel: 2.6.28-15-generic

この環境でのifconfigの出力は以下の通り。

$ ifconfig
eth0      Link encap:イーサネット  ハードウェアアドレス xx:xx:xx:xx:xx:xx
          inetアドレス:192.168.xxx.xxx  ブロードキャスト:192.168.xxx.255  マスク:255.255.255.0
          inet6アドレス: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 範囲:グローバル
          inet6アドレス: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:2224992 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:1592433 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:1000
          RXバイト:2753802229 (2.7 GB)  TXバイト:552776890 (552.7 MB)
          割り込み:16

lo        Link encap:ローカルループバック
          inetアドレス:127.0.0.1  マスク:255.0.0.0
          inet6アドレス: ::1/128 範囲:ホスト
          UP LOOPBACK RUNNING  MTU:16436  メトリック:1
          RXパケット:7135 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:7135 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:0
          RXバイト:4808865 (4.8 MB)  TXバイト:4808865 (4.8 MB)

別ネットワークのIPアドレスを割り当てる

ifconfigで仮想的なインターフェイス(eth0:0)をeth0に対して割り当て、eth0:0に対して172.16.0.1/16を割り当ててみる。
このような機能をIPエイリアスと呼ぶらしい。

$ sudo ifconfig eth0:0 172.16.1.1 netmask 255.255.0.0 broadcast 172.16.255.255
$ ifconfig
eth0      Link encap:イーサネット  ハードウェアアドレス xx:xx:xx:xx:xx:xx
          inetアドレス:192.168.xxx.xxx  ブロードキャスト:192.168.xxx.255  マスク:255.255.255.0
          inet6アドレス: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 範囲:グローバル
          inet6アドレス: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:2224992 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:1592433 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:1000
          RXバイト:2753802229 (2.7 GB)  TXバイト:552776890 (552.7 MB)
          割り込み:16

eth0:0    Link encap:イーサネット  ハードウェアアドレス 00:14:5e:1e:26:92
          inetアドレス:172.16.1.1  ブロードキャスト:172.16.255.255  マスク:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          割り込み:16

lo        Link encap:ローカルループバック
          inetアドレス:127.0.0.1  マスク:255.0.0.0
          inet6アドレス: ::1/128 範囲:ホスト
          UP LOOPBACK RUNNING  MTU:16436  メトリック:1
          RXパケット:7261 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:7261 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:0
          RXバイト:4817685 (4.8 MB)  TXバイト:4817685 (4.8 MB)

定義したIPエイリアスを削除する

eth0をダウンさせるのと同様にeth0:0をダウンさせればいい。

$ sudo ifconfig eth0:0 down
$ ifconfig
eth0      Link encap:イーサネット  ハードウェアアドレス xx:xx:xx:xx:xx:xx
          inetアドレス:192.168.xxx.xxx  ブロードキャスト:192.168.xxx.255  マスク:255.255.255.0
          inet6アドレス: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 範囲:グローバル
          inet6アドレス: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:2224992 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:1592433 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:1000
          RXバイト:2753802229 (2.7 GB)  TXバイト:552776890 (552.7 MB)
          割り込み:16

lo        Link encap:ローカルループバック
          inetアドレス:127.0.0.1  マスク:255.0.0.0
          inet6アドレス: ::1/128 範囲:ホスト
          UP LOOPBACK RUNNING  MTU:16436  メトリック:1
          RXパケット:7261 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:7261 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:0
          RXバイト:4817685 (4.8 MB)  TXバイト:4817685 (4.8 MB)

これでネットワークの移行が楽になる。

参考

ITmedia Linux Tips「1枚のNICに複数のIPアドレスを割り当てたい」

Wineでのフォント調整

2009/10/05PC::Linux/BSD

Wineのデフォルト状態では日本語が正しく表示されない(□で表示される)場合が多い。
これを調整した時のメモ。

環境

  • Kubuntu 9.04/amd64
    • Wine 1.1.30

レジストリによる調整

HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements
以下に置き換え対象のフォントをゴリゴリと登録する。

例)
"MS Pゴシック"="VL Pゴシック"

私は以下のようにレジストリファイルを作成してインポートしています。
wine-font.txt:レジストリファイルのダウンロード(拡張子を.txt→.regへ変更して下さい)

REGEDIT4

[HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements]
"Courier New"="Courier New"
"Comic Sans MS"="Comic Sans MS"
"FixedSys"="IPAゴシック"
"Lucida Sans Unicode"="Lucida Sans"
"Microsoft Sans Serif"="DejaVu Sans"
"MS Pゴシック"="VL Pゴシック"
"MS PGothic"="VL Pゴシック"
"MS P明朝"="IPA P明朝"
"MS UI Gothic"="VL Pゴシック"
"MS ゴシック"="VL ゴシック"
"MS Gothic"="VL ゴシック"
"MS 明朝"="IPA明朝"
"Small fonts"="VL ゴシック"
"System"="VL ゴシック"
"Terminal"="VL Pゴシック"
"Verdana"="VL Pゴシック"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Courier New"="Courier New"
"Comic Sans MS"="Comic Sans MS"
"Verdana"="VL Pゴシック"

[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"

これでもまだ文字化けする場合

lsof を利用して利用しているフォントを調査する。以下はCrystalMark 2004R3 を動作させた時の結果。

$ lsof | grep Crystal | grep ttf
CrystalMa (中略) /usr/share/wine/fonts/tahoma.ttf

上記によると/usr/share/wine/fonts/tahoma.ttfが利用されているらしい。
このtahoma.ttfに日本語が含まれていないのが問題っぽい。と、いうことで「 ttt:(FreeBSD) wineでPicasa2を動かしたら文字化けしたので、気合で修正」を参考に以下のように修正。

  • /usr/share/wine/fonts/tahoma.ttf を /usr/share/wine/fonts.bak/tahoma.ttf へ移動
  • VL Pゴシックのシンボリックリンクを /usr/share/wine/fonts/tahoma.ttf へ作成(必要ないかも)

これでTahomaを指定されていた部分も正常に表示されるようになりました。

wine-fontfix.jpg

このときのlsofの結果は次の通り。

$ lsof | grep ttf | grep Crystal
CrystalMa (中略) /usr/share/fonts/truetype/msttcorefonts/Arial.ttf
CrystalMa (中略) /usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf

参考