読者です 読者をやめる 読者になる 読者になる

leglog

雑記にも満たない

Ubuntu@VMwareFusion で OpenGazer を使う

友人が悩んでいるようなので俺も1年ぶりくらいにUbuntu触りながら後追いしてみた。(このエントリは途中で挫折してるので、参考にされる際はお気をつけ下さい)

環境

流石にタルいのでVMwareFusion入ってることは前提で。ネット回線はMac共有で構わない。
後Fusionのバージョンはそんなに関係なさそうな感じ。

1.Ubuntu12.04(64bit)ダウンロード

ここから64bit版を選びダウンロード。32bit推奨になってるけど大体64bitで大丈夫でしょって感じで。

2.Ubuntuインストール

VmwareFusion上にインストール。この時簡易インストールは外す
後々エラーやバグの温床になる可能性が非常に高いので。

インストールする際、英語に慣れてない時は日本語環境に設定しておく。
これは単に試すかインストールするかの選択画面の左側にセレクトボックスがあるのでこちらから選ぶ。

3.公式アップデート

無事インストールが完了したらまずは公式アップデートを一通りしておく。
左上の「Dashホーム」から「update」とタイプして「アップデートマネージャ」を起動。
数百個アップデートがあるはずなので全部チェックを入れてさくっとアップデートを終わらせる。終わったら再起動。

4.Google日本語入力(mozc)インストール

左上の「Dashホーム」から「terminal」とタイプして「端末」を起動。
まずはapt-getのリストを更新して、それから日本語入力をインストールする。

$ sudo apt-get update
$ sudo apt-get install ibus-mozc
$ sudo reboot

コマンド1発入れて再び再起動したら、左上の「Dashホーム」から「input」とタイプして「キーボード・インプット・メソッド」を起動。
2つ目の「インプットメソッド」タブで「使用するインプットメソッドをカスタマイズ」にチェックし、「インプットメソッドの選択」から「日本語」→「Mozc」と選択し、「追加」。「Anthy」は選んで削除。
f:id:Ryo_K:20121230190859p:plain
この状態にする。このあとに1つ目のタブで、英字・かな入力変換キーを自分の好みに変えておく。私はMacの変換と被るのを避けるため「Shift+Space」にしている。

5.VMware tools インストール前準備

カーネルを確認してインストール作業を行う。まずは確認。

$ uname -a
Linux (コンピュータ名) 3.2.0-31-generic #50-Ubuntu SMP (日付時刻) x86_64 x86_64 x86_64 GNU/Linux

ここでコンピュータ名の数字+英字の部分を確認する。ここでは「3.2.0-31-generic」なので、以下のようにインストール。

$ sudo apt-get install linux-headers-3.2.0-31-generic

ここで私の場合、古いヘッダー(3.2.0-29-generic)が無用なので削除しろとか言われたがスルーキメた。

6.VMware tools インストール

Macのメニューバーから「仮想マシン」→「VMware toolsのインストール」を選択すると、VMwaretoolsの仮想イメージがマウントされるので、これを解凍してデスクトップにでもドラッグする。
f:id:Ryo_K:20121230190925p:plain

次にターミナルから以下を入力。エンターキーを叩くだけの簡単なお仕事です。「デスクトップ」は全角カタカナなのでコマンド入力中に変換すること。

$ cd /home/(ユーザー名)/デスクトップ/vmware-tools-distrib
$ sudo ./vmware-install.pl -d
(無心でエンターキー連打)

Enjoy. の一文が出たらインストール終了。

7.必要な周辺ソフトをインストール

$ sudo apt-get install cmake cmake-curses-gui mplayer libcv-dev libhighgui-dev libcvaux-dev libgtkmm-2.4-dev libcairomm-1.0-dev libboost-dev

OpenCVとかmplayerとかcmakeとかccmakeとかそのまわりをさらっと入れる。

8.VXLをインストール

ここからダウンロードする。落としたtarボールは解凍してフォルダをホームフォルダ上に移す。ついでにわかりやすいようにフォルダ名を「vxl」にリネームする。
f:id:Ryo_K:20121230191005p:plain
こんな感じで。

$ cd /home/(ユーザー名)/vxl
$ ccmake . ←半角スペースが一つ間に入ってるのに注意

を入れると、
f:id:Ryo_K:20121230191056p:plain
こんな感じの設定画面が出る。ここで果敢に「c」を押してconfigureすると、
f:id:Ryo_K:20121230191115p:plain
ずらーっと設定が射出されてくる。
f:id:Ryo_K:20121230191128p:plain
ここでよく見ると、BUILD_SHARED_LIBSがOFFになっているので、こいつをONに変えておく。「BUILD_SHARED_LIBS」にカーソルを進めてエンター。
f:id:Ryo_K:20121230191205p:plain
で、ONになった。これが終わったら、「c」をもっかい押してconfigure、更に「g」を押してmakefileを生成し、ccmakeを出る。
後はmake。

$ make
$ sudo make install

これでVXLまでのインストールが完了する。makeが結構長いので、make installを忘れないようにね

8. OpenGazerのインストール前準備

何はともあれここから落とす。
解凍してまたまたホームフォルダへと移動。
f:id:Ryo_K:20121230191243p:plain
D&Dで移動。名前変更はお好みで。

OpenGazerのソースが一部古くなっている部分があるので、手直し&VXLの場所に合わせて事前にソースの修正を行う。
以下「opengazer-0.1.2」内のファイル。

Makefile

3行目
VXLDIR= /opt

VXLDIR= /home/(ユーザー名)/vxl
9行目
INCLUDES = $(foreach prefix,/usr/local/include $(VXLDIR)/include $(VXLDIR)/include/vxl, \

INCLUDES = $(foreach prefix,/usr/local/include $(VXLDIR), \

なんかこのへん超怪しい気がする。libまわりに書き換えるんじゃないかなーとか。

PointTracker.h

11行目
class TrackingException: public exception {};

class TrackingException: public std::exception {};

以上3点の修正が終了したら改めてmakeする。警告ビービー出されるが華麗にスルーする。

$ make

これでOpenGazerを使える状態になった。ならない。エラー1個吐かれたので原因調査中。

9.PATHを通して、追加設定を少々

UbuntuでOpenGazerを使えるように、.profileにパスを数本通しておく。

gedit ~/.profile

出てきたファイルを適当に改行して、以下の2文を追加する。

export VXLDIR=/home/(ユーザー名)/vxl:$VXLDIR
export LD_LIBRARY_PATH=$VXLDIR/lib:$LD_LIBRARY_PATH

最後に、端末を開いて以下を設定。

$ sudo addgroup $USER video

ここまで終わったら再度再起動する。

$ sudo reboot

10.macのカメラをUbuntuに接続

再起動後、VMwareFusionのUSB関連項目から、MacのiSightカメラをUbuntuに接続する。
カメラ単体で使えるかどうか確認する。以下のコマンドを入力するとmplayerに自分の顔が映るので確認可能。

$ sudo mplayer tv://0

11.Opengazerを起動

$ /home/(ユーザー名)/opengazer-0.1.2/opengazer

動けば完了。お疲れ様!

参考サイト

内容的には後半はほとんどこの記事のコピペに近い内容だったりします。
前半部分のUbuntuのセットアップをちょこちょこと書き添えた感じ。