DEXCS2014 for OpenFOAM(R)プロトタイプ版(第33回オープンCAE勉強会@岐阜で使用予定のもの) を、VirtuaBoxで使用する際の手順や、注意点をここに取りまとめておきます。
なお、使用したVirtuaBoxのヴァージョンは、4.3.14.r95030で、Linux版でやっていますが、Windows版でもほとんど同じ(はず)です。
新規マシンの作成
上の「新規」ボタンを押し、以下のウィザードに従って順番に設定していきます。
ウィザードによる設定
名前は自由につけて良いですが、タイプとバージョンはこの通りにしておいて下さい。
「必要なメモリーサイズは512MB」と書いてありますが、それでは起動できるというだけで、全く使い物になりません。
今回の講習の中では、6GB以上(注1)必要な特別例題が含まれており、上の例では、ベースマシンの搭載メモリ量(32768MB)に余裕があるので、12751MBとしています。搭載メモリが4GB以下であるようなマシンではこの特別例題の実行は諦めてもうらうしかありませんが、その他の例題の実行には最低2GB以上の割当があればいけると思います。
(注1)正確な数字は判りませんが、5GBでは実行不能でした。
以上のことから、搭載メモリ量が10GB以下であるようなマシンでは、ホストOSが動作する1GB程度を引いた残り全部を割り当てることを推奨します。例えばPCに4GBあれば仮想マシンには3GBを設定するということです。
「次へ」のボタンを押した後は、ほとんど(最終画面以外は)デフォルの設定で問題ないと思います(デフォルト以外での動作は確認しておりません)。
ここ(ウイザードの最終画面)はデフォルトは8GBになっており、ライブモードで動かすのであればそれでも構いませんが、インストールして使うには、最低でも30GBは必要です。実際には使った分しか消費しませんので、なるべく大きい方が良いです。
以上で、ウィザードによる設定はおしまいですが、もう少し詳細な設定もやっておきます。
仮想マシンの詳細設定
設定ボタンを押すと、以下の設定メニューが使えるようになります。
ホストマシンと仮想マシンとの間で、クリップボードの共有やファイルのドラッグ&ドロップを可能にしておきたいところです(デフォルトでは無効になっています)。
プロセッサー数もデフォルトでは「1」になっているので、ベースマシンのスペックと用途に応じて変更します。
2つ前のステップでファイルのドラッグ&ドロップが出来るようにしましたが、実用上、うまく機能しないことが多いようなので、ホストマシンとの間は、この「ファイル共有」の機能を使うのが現実的な選択です。右上のアイコンをクリックすると設定メニューが開きます。
フォルダのパスを選択しますが、ホスト側で共有設定されているフォルダーを選択します。
これで登録完了です(登録が完了したというだけで、仮想マシンで直ぐに使えるというものではありません)。
以上で、詳細設定はおしまいです。
仮想マシンの起動
「起動ボタン」を押せば仮想マシンが立ち上がり、最初にBootメニューが現れます。
何もしなければ、10秒後に一番上のライブ(live)モードで起動されることになります。まずはこのライブモードで動作するかどうかを確認しましょう。入手したisoイメージが不完全だったり、コピーに失敗していたりすることがよくあるからです。また、利用しているホストマシンとの間のハードウェア(たとえばグラフィックカード)問題によって起動できない場合もあるからです。
isoイメージが正常で、ホストマシンに問題がなければ、以下のような画面になるはずです(DEXCS2013以前では、この前にログイン画面が現れましたが、DEXCS2014ではその部分はスキップされています)。
デスクトップ上の「setupDEXCS.sh」というファイルをダブルクリックします。
実行するか、表示するかを問い合わせるダイヤログが開くので、「実行する」を押します。一番左側の「端末内で実行する」でも構いません。
ボタンを押すと暗転して、しばらくすると、以下のログイン画面が出てきます。
ここでは、
ユーザー名:custom
パスワード:(無し)Enterキーを押す
を入力します。
「setupDEXCS.sh」がなくなって、DEXCSランチャーのアイコンが出来ています。これで、DEXCSランチャーを始め、TreeFoamなどの動作を確認していただくことが可能になりますが、このライブモードでは、画面サイズ(解像度)制御や、ファイルのドラッグ&ドロップなどは出来ません(VMwarePlayerの場合は出来ますが)。
画面サイズ制御について
上の画面は、自分のマシンのデスクトップ全体をキャプチャーしたものです。仮想マシンを表示した画面の右下部分をマウスでつかんでドラッグすると、ウィンドウ自体のサイズは変更できます。
たとえば、拡大すると以下のようになり、
縮小すると、下のようになる、という具合です。
仮想マシンのデスクトップそのものは、何も変化していないということです。これがVMwarePlayerの場合は、ウィンドウのサイズに応じて、仮想マシンのピクセルサイズも自在に変化してくれるのですがね。
ちなみに、仮想マシンのデスクトップ解像度は次のようにして確認できます。
「システム設定」⇒「ディスプレイ」です。
ここで、解像度の部分をクリックすると、
1024 x 768
800 x 600
という2つの水準しかないということが判ります。
VMwarePlayerの場合はこれがたくさんあって、ウィンドウサイズに応じて自在に対応できるようになっているわけです。
以上、画面サイズ制御について例示してきましたが、他にもファイルのドラッグ&ドロップや、クリップボードの共有など、「仮想マシンの詳細設定」で出来るように指定したのに拘らず、この段階では、有名無実です。
一方、これらのことは、VMwarePlayerでは最初から出来るようになっています。というのは、DEXCS for OpenFOAM(R)は、VMwarePlayer上の仮想マシンで製作しており、その製作の段階で、VMwareToolsという、これら機能を実現するツールをインストール済であったからです。
VirtualBoxでは、これとほぼ同等の機能を実現するのに、Guest Additions というツールをインストールする必要があります。
基本は、以下の「デバイス」⇒「Guest AdditionsのCDイメージ挿入」
なんですが、以下のようなメッセージが出てしまいます。
つまり、ライブ動作用に、isoイメージがマウント済なので、これを取り外してもよいか?と聞いている訳です。
残念ながら、ここで「強制マウント解除」を選んでしまうと、システムそのものが起動できなくなり、これ以上先に進めません。
もちろん、上のメッセージ(isoイメージの存在場所)を手懸りにして、 「仮想マシンの詳細設定」において、このisoイメージを最初からマウントしておけば、出来ないことはありません。しかし、これが出来たとして、インストールするのにまた時間がかかるし、そもそもライブモードで動作確認するだけの用途に、そこまでやりますかねぇ?・・・となりますので、これはライブモードでなく、仮想マシンを構築した後の解説に回すこととします。
ライブモードを一旦シャットダウンします。
シャットダウンした後、たまに、以下のような画面で止まってしまう場合があります。
そういう場合は、右上の「X」ボタンをクリックするか、「仮想マシン」⇒「閉じる」から、以下のダイヤログで「OK」ボタンを押して終了することが出来ます。
仮想マシンへのインストール
VirtualBoxマネージャから、「起動ボタン」を押して仮想マシンを起動させ、Bootメニューが表示されている10秒間の間に、何かキーを押すとカウントダウンが止まります。
ここで起動メニューを上から3番目の「install」に切り替え、Enterキーを押します。すると、以下のように、ubuntuのインストールが開始されます。
言語の選択です。
ここで、21.5GB以上必要だとあります。最初の「ウィザード設定」でHDDの容量がこれ以下だと、次のステップへは進めません。
あとしばらくは、「続ける」ボタンを押していくだけです。
ここで、ユーザー名やパスワードを入力しますが、ユーザー名には、日本語や特殊文字を使用しないで下さい。
「続ける」ボタンを押すと、いよいよファイルコピーから始まってインストールが実行され、しばらく時間がかかりますが、終了すると以下のようになります。
「今すぐ再起動する」を押すと、以下のログイン画面になります。
ここでユーザー名は、少し前に登録したユーザー名になっているので、登録したパスワードを入力します。
画面が暗転した後、以下の表示になります。ライブモードで実行した時に比べて、画面のサイズが小さくなっています。
ライブモードでやった時と同じように、DEXCSセットアップ(setupDEXCS.shをダブルクリック)していきます。
「端末内で実行する」または「実行する」ボタンを押せば、再度ログイン画面が表示され、パスワード入力すると、以下の画面になってDEXCSセットアップは完了です。
ここで仮想マシンの解像度を確認します。
640 x 480 と、いわゆるVGAモードですね。今時これでは使えません。マウスで画面サイズを大きく変更しても、余白部分が拡がるだけです。
ここで、Guest Additions を使います。
ここでインストールする際に登録したパスワードを入力します。
インストールには、1〜数分かかりますが、上のような状態になったら、Enterキーを押して完了です。但し、一旦ログアウトしないと、効果が現れません。
ログインし直せば、ウィンドウサイズ(解像度)を自由にサイズ変更できるようになると思います。
但し、画面が暗転して、しばらく(数秒)応答のなかった後、
上のようなメッセージが出ることがありますが、実害はないと思われます。「続行」ボタンを押して、そのまま作業は継続できます。
引き続き、解像度を確認してみます。
標準的な2つのモード(1024 x 768, 800 x 600)と、現在の状態の3つのモード(上の例では、910 x 675)があることになりますが、現在の状態の値は、画面サイズを変更する都度、異なる値になります。
その他、ベースマシンとの間でのファイルのドラッグ&ドロップや、クリップボードの共有も、この時点で出来るようになっているはずなので、確認してみて下さい。但し、ファイルのドラッグ&ドロップは、成功したり、しなかったりがあるようです。
共有フォルダの設定
ファイルマネージャで、共有フォルダを確認します。
VirtualBoxでは、共有フォルダは、 /media/sf_*** (***部はベースマシンのフォルダ名)に割り当てられます。
しかし、Guest Additions をインストールしただけでは、存在がわかるようになるだけで、アクセスすることは出来ません。
アクセス出来るようにするには、もう一手間必要で、「端末」を起動します。
赤線部は、
sudo gpasswd -a dexcs vboxsf
となっていますが、dexcsの部分は、登録したユーザー名に置き換えて入力して下さい。その下のパスワードも同じく、登録したものを入力します。
これで、共有フォルダの中味を確認できるようになったら、たとえば以下のように、
シンボリックリンクを作成して、デスクトップ上から容易にアクセスできるようにしておくというのも、一つのアイデアです。
Hostキーについて
先の記事(DEXCS for OpenFOAM(R) on VirtualBox その1)で、画面をスケールモードに切り換える事が出来る(「ビュー」⇒「スケールモードに切り換える」)
と記しましたが、切り替えた後には、このメニューが見えなくなってしまい、戻したい場合にどうしたらよいのかわからなくなってしまいます。
たとえば、上のキャプチャー図は、スケールモードでサイズを小さく表示させたものです。「仮想マシン」「ビュー」、、、といったメニューが表示されていません。
ここで、コマンド操作に慣れた人であれば、「Host+C」(「Host」キーを押しながら「C」キーを押す)で代替できるんだなと推察できるんですが、じゃあ「Host」キーって何だ?ということになります。
そういえば、VirtualBoxを立ち上げたばかりの時には、あれこれメッセージウィンドウが立ち上がって、「Host」キーが何たらかんたら・・・」もあったような記憶もありますが覚えてられません。あれこれ調べたところ、ここにありました(「ファイル」⇒「環境設定」)。
仮想マシンの画面でなく、VirtualBoxマネージャの画面です。以下の画面が出てきます。しかし、まだ判らない・・・
ちなみに、ベースOSがWindowsの場合は、少し違っていて以下の画面。
名前「ホストキーの組み合わせ」がショートカット「右Contrl」(Linuxマシン)または、Right Control」(Windowマシン) …何のこっちゃ? ですねぇ。
要は、「Host」キーには、「右Contrl」または、「Right Control」が割り当てられているということなんでしょうけど。
そこが判ったとしても、「右Contrl」 または、「Right Control」って何? でした。これもキーボード使いの達人ならすぐ判ったのかもしれませんが、キーボードには「Ctrl」キーが2箇所あって、右側の「Ctrl」キーの意味でした(これを調べるのにもずいぶん手間を掛けました(-_-;))。
最後に
これまで、VirtualBoxをあまり使ったことがなかったし、たまたまDEXCS2013 for OpenFOAM(R)では、ベースOSがLinux mintであったからか、何故かGuest Additions がインストール済であったので、これまでVirtualBoxでの使い勝手をさほど問題視しておりませんでした。
しかし、今のところDEXCS2014では、ここに記したような面倒な手順を踏まないことには、VMwarePlayerのほどには使い勝手が良くなりません。
今回、モバイル使用のノートパソコン限定ですが、VirtulBoxで使うこととしました。実際使ってみたところ、この手順の部分は除外してVMwarePlayerと比較すると、一長一短のレベルで使い物になりそうな事も判ったし、VMwarePlayerだとライセンスの問題やらMacユーザー対応もややこしくなるなどの点を勘案すると、VirtualBoxで使うことを前提として考えたほうが良いかもしれない、と思うようになりました。
その為には、この面倒な手順を何とかせねば、、、ですが、早い話、Guest Additions を最初から組み込んでおけば良いだけの事で、正式版の公開までには方策を考えたいと思っています。