[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:43642] サスペンドとvmware5
えとーです。
かるくはまっていたので、他の人がはまらないよう
一応ご報告です。
現在ノートで VMware Workstation5 を使っています。
しかし、サスペンドしてからレジュームすると
ゲストOS がハングしてしまう現象があります。
これを回避するにはホストOSがサスペンドに入る前に
ゲストOS を サスペンドしておく必要がありますが、
手動で GUI から行なうのには自分の脳内メモリが少なく
いっつも忘れてレジュームしてから泣いていました。
しかし、UNIX MAGAZINE の 6月号の 「VMware Workstation 5.0.0」
という特集号で 白崎博生さんの記事にコマンドラインから
VMwareのゲストマシンを制御することができるようになったのを
知りました。
そこで、記事に記載されていたスクリプトでホストOSサスペンド時に
ゲストOSをサスペンドするようにしてみました。
テスト環境
計算機 Thinkpad X31
OS Debian GNU/Linux sid
kernel 2.6.11
apmd 3.2.2-3
VMware Workstation 5.0.0 build-13124
vmware のコマンド類は /usr/local/bin/ 以下に インストール
acpi ではなく apm を使っています。
# vi /etc/apm/scripts.d/vmware
などとしてから以下のようなスクリプトを書き込みます。
--/etc/apm/scripts.d/vmware ここから--
#!/bin/sh -e
# apmd proxy script for vmware
case "${1},${2}" in
(suspend,*|standdy,*)
/usr/local/bin/vmrun list | grep '^/.*vmx$' | \
while read vm; do
/usr/local/bin/vmrun suspend "$vm" > /dev/null
done
;;
(resume,suspend|resume,standby)
;;
esac
--/etc/apm/scripts.d/vmware ここまで--
上記のファイルを保存してから
# chmod +x /etc/apm/scripts.d/vmware
# cd /etc/apm/suspend.d/
# ln -s ../scripts.d/vmware 85vmware
などとしておけば、完了です。
サスペンドとスタンバ時に vmrun コマンドにより
ゲストOS がスタンバイ状態されます。
今回はレジューム時になにもしていませんが、
将来的に vmware resume などというコマンドが実装されれば
入れておくと自動的に起動するようになるかなぁと思います。
vmware の gtk2 インターフェース自体をサスペンド時に
落すようにしておいて(pkill vmware とか) かつ
vmrun list の出力を一時ファイルなどに
吐くようにしておけば、レジューム時に
/usr/local/bin/vmware -q -x ゲストマシン.vmx
とかで行けることはいけそうですが、、
自分が必要じゃないのでそこまでしない感じです。