試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Sun xVM VirtualBox 1.6系の覚え書き

バージョン1.6以上のVirtualBoxが出てからしばらく経過していて、
bugs.gentoo.org/show_bug.cgi?id=220144
にOverlayの情報があったのだが、公式のPortageツリーにもバージョン1.6.2が入った。

  1. バージョン1.6のクローズドソース版は自分で取得する必要がある?
  2. 1.5系からの変更点
  3. Linuxゲストのシームレスモードは使えない?
  4. 関連: SSHのXフォワーディングを使用する

バージョン1.6のクローズドソース版は自分で取得する必要がある?

オープンソース版(OSE)は問題ないが、公式のクローズドソース版は、開発元のInnoTek社がSun社に買収された関係か、配布ページがSunのサーバになっていて、ebuildでURLを直接指定してダウンロードすることができない。
クローズドソース版の「virtualbox-bin」をインストールしようとすると、ダウンロードするためのWebページのURLが表示されて止まるので、Webブラウザでそこを開いて.runファイルをダウンロードし、/etc/make.conf内の変数DISTDIRで指定されているディレクトリ(指定されていない場合は/usr/portage/distfiles/)に配置して、再びインストールを試みることになる。
インストールする一覧の「ebuild」のところに小文字の「f」(緑色)が表示されていればOK。赤い「F」だと失敗している。

1.5系からの変更点

仮想ハードディスクをシリアルATA接続として設定できることや、サウンド・ネットワークなどの仮想ハードウェアの種類が色々と選択できるようになっていたりと、ハードウェア関係の変更が設定ダイアログで目につくが、動作中の仮想マシンの「セッション情報」が参照できるといった変更点もある。後述のシームレスモードのGNU/Linux対応もある。
全ての変更点に関しては
www.virtualbox.org/wiki/Changelog
を参照(英語)。

Linuxゲストのシームレスモードは使えない?

バージョン1.5系で、ゲストOSのウィンドウをホストOS上のウィンドウとして使用する「シームレスモード」のゲストOSとしてGNU/Linuxが使用できるようになっている。しかし、手元の環境ではうまく動作しなかった。
ホストOSの画面上に出たゲストOSのウィンドウを移動しようとしたら、(ウィンドウがホストの画面上を移動するのではなく、ゲストOSのデスクトップ領域上を移動して)ゲストOSのデスクトップの一部が見える覗き穴のようになってしまうことがあり、うまく動かせても、突然ホストOSのXサーバを巻き込んで落ちてしまったりした。また、シームレスモードの切り替え自体、戻せないときがあったりもして、不安定な印象が強く残った。

関連: SSHのXフォワーディングを使用する

ホストOSとゲストOSが共にGNU/Linuxであれば、SSH仮想マシンにログインしてXアプリケーションを起動することでウィンドウをネットワーク経由で飛ばせるため、シームレスモードの代わりに使用するのに使える。ただし、そのままでは外観のテーマは適用されない?*1
下は作業の流れ。

  1. ホスト・ゲストの両方のOSにSSHをインストール(Gentooではパッケージ名「openssh」、Debian/Ubuntuではパッケージ名「ssh」を入れる)
  2. ホストOSの端末(X上の端末エミュレータ)で「ssh -Y [ゲストOSのユーザ名]@[ゲストOSのIPアドレス]」を実行し、パスワードを入れて認証*2
  3. ログインした端末からアプリケーションを起動

ログインした端末からgnome-panelを起動すると、パネルから色々なものが起動できる。*3Nautilusファイルマネージャ(nautilus)を起動する場合、--no-desktopオプションを付けないと、ホストOSのデスクトップを管理しようとするので注意。

使用したバージョン:

*1:「export GTK2_RC_FILES=/usr/share/themes/Human/gtk-2.0/gtkrc」のように、GTK+ 2の設定ファイルを指定すると、テーマが変更できる

*2:初回認証時には確認が出る。また、以前同じIPアドレス仮想マシンで使用したことがある場合、ホストOSの[ホームディレクトリ]/.ssh/known_hostsの該当アドレスの項目を消しておく必要があるかもしれない

*3:パネルの設定により、ホストOSのシステムトレイを取られることがある