ブログトップ 記事一覧 ログイン 無料ブログ開設

potio Arabicam amo このページをアンテナに追加 RSSフィード

2014-11-01

Gentooホストで仮想環境を動かした

以前(qemu-kvmqemuマージされてない時代)はqemuを生で使っていたのだが、libvirtを介してみることにした。まともにサービスをする仮想サーバを建てるのではなく、試しにプログラム走らせるテストアンドスクラップ用途なので仮想環境からホストに直接接続できたらセキュリティ的にまずいとかそういった話は一切無視している。また、通常そのような用途ならカーネルとか触らない限り今ならlxcのようなコンテナで良いし、それならlibvertじゃなくdockerがある。あくまで趣味的な手順記録である。


app-emulation/libvirtqemuとvirt-networkのUSEフラグを立てる。ゲストの入れ方によってはlvmも付ける。

# emerge -av qemu libvirt virt-viewer

多分下のようにカーネル設定に文句を言われるのでコンフィグ変えてホストカーネルコンパイル

 *   CONFIG_NETFILTER_XT_TARGET_CHECKSUM:	 is not set when it should be.
$ qemu-img create -f qcow2 init.img 10G

適当にディスクイメージを作る。qcow2からrawへのコンバートもできるので、初めは適当にqcow2でok。

# /etc/init.d/libvirtd start

USE="virt-network"をたてていればこれで勝手にブリッジとかを作ってくれている様子。libvirtdがネットをシャットダウンまで面倒見るかどうかについての設定が/etc/conf.d/libvirtdにあるので LIBVIRTD_KVM_NET_SHUTDOWN="yes" としておく? しなくてもきちんとネットを管理しているような気がする。

# virt-install --name "InitVM" --ram 1024 --disk init.img,format=qcow2 --cdrom [debianのnetinstとか適当な.iso] --network network=default

libvirtが準備してくれたnetを使う時はroot権限じゃないとnetまわりで文句を言われる。

USE="virt-network"を立てていなかったら適当に手動でブリッジを作って使う。

sshdとかはこの段階で入れておけるなら入れておく。改めて言うがセキュリティ面は無視しているので便利なら余計なデーモンも入れているし、パッケージも精査しない。適当だ。

# virt-clone --original InitVM --name someVM --file=./someVM.img

これで毎回まっさらな環境をクローンしてきて使う。

# virsh start someVM
# virt-viewer someVM

これでゲストOSの内側から好きにできる。

[guest]# ifconfig | ip addr

で調べたipsshで入ったりscpでファイルを送ったりして楽しむ。

# virsh undefine someVM

壊しすぎたらこれでさよならする。新しいクローンはうまくやってくれるでしょう……

2014-10-21

噂の5ボタントラックパッド(Clickpad)の設定

Thinkpad X240 を買いました。

http://www.thinkwiki.org/wiki/Installing_Gentoo_on_an_X240

とりあえずGentooを入れますが、やはり新Thinkpadのトラックパッドは噂通り乗り換え直後は使いにくいです。

# /usr/share/X11/xorg.conf.d/50-synaptics.conf
# This option enables the bottom right corner to be a right button on
# non-synaptics clickpads.
# This option is only interpreted by clickpads.
Section "InputClass"
       Identifier "Default clickpad buttons"
       MatchDriver "synaptics"
       Option "SoftButtonAreas" "60% 0 0 5% 40% 60% 0 5%"
       Option "AreaTopEdge" "4%"
EndSection

Option "SoftButtonAreas" は合計で8個の引数をとり、はじめの4つが右クリック、後の4つが中クリックの領域を指定します。0は領域の区切りを付けないという意味で、左上が原点でx軸正方向が右、y軸正方向が下(手前)、上の引用例だとx軸60%より右でy軸5%より上が右クリックキー、横40%-60%で縦5%より上が中クリックです。

AreaTopEdgeが4%なのでマウス操作1%分被っている気がしますね。どうでもいいですが。


Thinkpadでは通常トラックパッドでマウスは動かさないので、快適なクリックのためにほとんどの領域を使いましょう。

Section "InputClass"
       Identifier "Default clickpad buttons"
       MatchDriver "synaptics"
       Option "SoftButtonAreas" "60% 0 0 70% 40% 60% 0 70%"
       Option "AreaBottomEdge" "1"
EndSection

これでおおむねT430sの感覚で適当に右親指を動かしても中クリックが誤発動せず右クリックできるようになります。manも読まずにXの設定をネットからコピペして使ってたらそりゃ使いづらいわな、と反省しました。

でも設定変えてもかなりとまどう。大丈夫かこのThinkpad

2013-12-10

MonoGameってのがあるらしいので触った

最近会った人から聞いた何かを無差別に触ってる期間なのだがなんか情報少なそうだったののメモ。

http://monogame.codeplex.com/

MonoGameを開発したいならgithubからclone、MonoGameで開発したいならこのサイトダウンロードイナフ

http://kcat.strangesoft.net/openal.html

Windowsだと32bit版(?) OpenALが要求されるのでOpenAL softをOpenAL32.dllみたいなファイル名にしてsystem32だかsysWoW64だかに突っ込む。

Xamarin Studio(旧MonoDevelop)でAdd-inとしてXamarinStudio.MonoGame_*.mpackを追加したらコードの雛形付きプロジェクトが作れる

雛形はゲームのメインループのみ。Gameのプロパティに応じてUpdateが60times/secDrawが60fpsになるべくなるよう呼ばれたり、ただ単純に繰り返すように呼ばれたりするらしい。

その他の便利そうなクラスリファレンスがあればよかったのだが、Textureとかその辺の使い方はXNAを知ってる前提なのかドキュメントがないような……。