Mac: Parallels Desktop for MacでUbuntu Server LTS環境を構築する

こんにちは、hachi8833です。Mac向けのVMアプリであるParallels DesktopのLite版を試してみて、それまで使っていたVirtualBoxよりもよいと思えたので乗り換えました。以下は社内勉強会で発表した内容を元にしています。

  • Parallels Desktop Lite: バージョン1.3.3(無料)
  • Parallels Desktop for Mac Home Edition: バージョン14.1.0(有料)

Parallels内でCLIのみのLinuxを使っていると、ものによってはMacネイティブのbash環境よりも体感レベルで速いのではないかと思えるほどでした。もっとも自分のMac bash環境の.bashrcが汚れているから遅いという可能性も否定できませんので別途測定しようと思います。とはいえ、シェル環境をきれいにするよいチャンスなので、ParallelsベースのUbuntu CLI環境に移行することにしました。

Linux VMやWindows VMを使わないとしても、Internet ExplorerやEdgeブラウザのテスト用VMは無料のLite版でも即使えるので、ブラウザのテストのためだけに導入するのもよいと思います。現時点では以下のテスト用VMが使えます(今後変わる可能性があります)。

  • Edge on Windows 10
  • IE 11 on Windows 8.1
  • IE 11 on Windows 7
  • IE 10 on Windows 7
  • IE 9 on Windows 7
  • IE 8 on Windows 7

Parallels Desktop LiteとUbuntuをインストールする

まずはどのUbuntuをインストールするかですが、以下を参考にUbuntuのServer LTSをインストールすることにしました。

参考: Dockerベースイメージの特徴と比較・選び方 - Qiita

以下からUbuntu Server 18.04.1 LTSのisoイメージをダウンロードしておきます。

参考: Download Ubuntu Server | Download | Ubuntu

Parallels Desktop Liteのインストールは簡単です。App StoreでParallels Desktop Liteをインストールし、起動して後は言われたとおりにやれば完了。

インストールアシスタントの左下にある「開く…」をクリックし、先ほどダウンロードしておいたisoイメージを選択します。とりあえず試したい方は、その上にある「無料システム」から選んで実行するのが楽だと思います。

なお、ディスク容量がいっぱいになると「ネットワーク接続が失われました」という紛らわしいメッセージが出て失敗します。

参考: UbuntuのGUIを殺す

無料システムでインストールしたUbuntuからGUIを削除したい場合は以下が参考になります。今回は最初からCLIのみのUbuntuをインストールしたのでこの作業は不要でした。

参考: Ubuntu 16.04 LTS Desktop から GUI 環境を削除する - heyheytower

ssh接続を設定する

ParallelsのCLIコンソールで作業するのはiTerm2の機能を利用できず不便なので、早速sshを使えるようにします。
とりあえず、Parallels Desktopで動かすUbuntuにparaubuという名前を付けることにしました。以下この名前を用います。

paraubuのコンソールでifconfigを実行し、enp0s5というインターフェイスに表示されるIPアドレスをメモして、Mac側のetc/hostsに以下のように追加します。IPは各自異なりますのでご注意ください。

10.xxx.xx.x paraubu

ssh鍵設定

ホスト名が使えるようになったら、Mac側でscp ~/.ssh/id_rsa.pub ユーザー名@paraubu:~/.ssh/authorized_keysを実行して、Mac側に既にあるssh設定をparaubuに押し込みます。
ssh鍵がまだない場合は以下を参考にして作成してください。

参考: SSHの鍵認証設定 - Qiita

これで、Mac側でssh paraubuと打つだけでパスワード不要でログインできるようになります。

sshログインメッセージを殺す

sshログインメッセージが長ったらしくて邪魔なので、以下を参考に無効にします。

参考: How to disable ssh motd welcome message on Ubuntu Linux - nixCraft

Ubuntu Server LTS用の設定

ついでに、以下を参考にミラーサーバーを日本のミラーサーバーに設定したり、タイムゾーンやロケールを設定します。

参考: Ubuntu 18.04 LTS【サーバー版】のインストール直後にやっておきたいことまとめ | Linux Fan

Parallels Toolsをインストールする

Parallels Toolsは、Parallels上のLinuxやWindows環境と、ホスト側のMacとの間を取り持ってくれます。たとえば、MacのHomeにある自分のホームディレクトリなどをマウントできるようになります。

先の「無料システム」でインストールした場合はGUIからインストールできますが、今回はGUIがないので、以下を参考にインストールしました。

参考: Linux 用の Parallels Tools

マウントするディレクトリはホスト側のParallelsの「構成>オプション>共有」で設定します。

主な設定

Parallels DesktopのVM設定項目はVirtualBoxよりも絞り込まれていて、マニアックさには欠ける分、悩むポイントが少ないのがありがたい点です。
共有設定を好みに合わせて変更する以外は、デフォルト設定のままでも十分いけると思います。ネットワークもデフォルトの「共有ネットワーク」で事足ります。

Parallels Desktopは独自のハイパーバイザを持っており、最近のmacOSに搭載されているハイパーバイザと切り替えることもできます。私はデフォルトの独自ハイパーバイザのままにしています(切り替えにはVMの停止が必要)。

VMのディスクファイルは自動的に容量を拡張するタイプです。そのままだとTimeMachineバックアップに時間がかかりそうなので、Ubuntu VMの「構成 > ハードウェア > ハードディスク > プロパティ」で「ディスクイメージを2GBのファイルに分割する」をオンにしてみました。

使ってみて

VirtualBoxのときは諸事もっさりしている印象でしたが、Parallelsは軽快に使える印象です。

Lite版の場合、アプリ切り替えのときにいつもParallels Desktopアプリのアイコンが表示されるのがちょっと邪魔くさいかなと思いました。

有料のHome Editionにアップグレードすると、「構成>起動と終了」で「常にバックグラウンドで待機」を選択すれば、Parallels Desktopアプリを終了してもVMが常駐してくれるので、とてもすっきりしました。

ここまで試した結果、VirtualBoxよりよいと思えたのでParallels Desktop for MacのHome Editionを購入しました。ちょうど2018年の12/09までVectorで6480円で安売りしていました。

Home Editionは、Windowsを起動できる、CPU割り当て数を変更できるなどの違いがあります。Windowsを動かさなくてよいのであれば、Lite版で十分でしょう。

ただしVagrantのホストとして使ったり、Docker for MacのDockerMachineとして使うには、上位のBusiness版またはPro版が必要です。

Parallelsに残念な点があるとすれば、Parallels製品の細かい名称がこれまでときどき変更されていて若干紛らわしいのと、ググって見つかる公式ドキュメントが新旧入り交じっていて少々わかりにくいことぐらいです。

ParallelsとAppleのHypervisorの関係については以下の記事に詳しく載っています。

参考: Parallels、High Sierraから導入されたSKELに対し「Parallels Desktop for Mac」で利用されているシステム拡張を説明。 | AAPL Ch.

おまけ: VirtualBoxのWindows VMをインポートする

これはまったく簡単で、インストールアシスタント左下の「開く」からVirtualBoxのWindows VMファイルを選択するだけで、ストンと変換&インストールできました。Parallelsがインポートにかなり力を入れているのがわかります。

Parallels Desktop上で動くWindowsは、体感レベルですが非常に軽快で、VirtualBoxのときのような鈍重さが嘘のようです。その分CPUパワーをしっかり奪っているので、バックグラウンドのWindowsを「トラベルモード」にするなどしておかないと、Mac側のChromeが目に見えて遅くなります。

Macのアプリ切り替え(⌘+Tabキー)を行うと、Windowsの中で起動しているアプリまで表示されるのにはちょっと驚きました。以下では、Windows内で起動している秀丸エディタがMacのアプリ一覧に表示されています。赤い縦線が2本表示されていることで、Parallels DesktopがサポートしているWindowsアプリであることが示されています。ChromeをWindowsにインストールすると、アプリ切り替え時にMac版とWin版の両方のアイコンが表示されるのでちょっとウザいかもしれません。

「Coherenceモード」にすると、Windowsのアプリウィンドウが、Macの1つのアプリのように扱われるようになり、⌘-Tabキーで切り替わるようになります。しかも、たとえばMacでxlsxファイルをダブルクリックするとWindows内で開かれるのですが(これだけで驚き)、それもMacのアプリであるかのように単独ウィンドウで表示されるようになります。これは見事です。

CoherenceモードだとWindowsのデスクトップが隠される形になって不便なこともあるので、設定がひととおり終わるまではオフの方がよいかもしれません。

なお、インストール後のWindows Updateの大漁節には泣かされました😢。

関連記事

HomebrewからDockerにMySQL環境を移行する

デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

hachi8833

Twitter: @hachi8833、GitHub: @hachi8833 コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。 これまでにRuby on Rails チュートリアル第2版の監修および半分程度を翻訳、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れて更新翻訳中。 かと思うと、正規表現の粋を尽くした日本語エラーチェックサービス enno.jpを運営。 実は最近Go言語が好きで、Goで書かれたRubyライクなGoby言語のメンテナーでもある。 仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。

hachi8833の書いた記事

夏のTechRachoフェア2019

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ