以前の記事で紹介した、macOSで動作する仮想マシン環境ソフトUTMをM1 iMacで本格的に使おうと思い、その前にいくつか不満点を解消しました。
以下は不満だった点のリストです。これら全て一応解消できました。
- ホストに物理接続している日本語キーボードがASCII配列と認識されてしまい、記号文字の入力が困難。
- 下線が入力できない。
- 解像度があっていないのか、ぼやっと表示される。
- 突然インターネット接続が切れて繋がらなくなった。
- Google Chromeの表示が乱れて使えない。
これだけ不満があれば全部直すよりも、ちゃんと動く仮想環境を探しますよね。実際にvmware, parallels, virtualboxなど調べてみたのですが、要件に合う仮想マシン環境が見つからず結局UTMの整備をやってみることにしました。
まずキーボード問題なのですが、この界隈では有名らしい無償ソフトでKarabiner-Elementsというものがあります。キーボードのキーに別のキーを割り当てるためのソフトです。またキーボードイベントを細かくみることができます。
このソフトをゲスト側で使うことで、ゲスト側macOS付属の「キーボード設定アシスタント」というソフトを起動することができ、その中で無事に日本語キーボードとして認識させることができました(詳細が知りたい方がいれば別記事にします)。
ところがこれだけでは「下線」文字_が入力できませんでした。理由は不明ですが右側シフトの左にあるキー(本来は_が入力される)を押してもキーボードイベントが発生しません。この問題は、Karabiner-Elementsのキー置き換え機能を使って認識されているキーに下線文字を割り当てることで解決しました。
UTMを使い始めてずっと「表示がぼやっとしている」と感じてました。ちょっと調べてみると理由は簡単でホストのM1 iMac がRetina Displayなのにそれを設定で指定していなかったからでした。
管理画面でVMを選択して、右上の設定アイコンをクリックしVMの設定画面を出します。Displayを選択するとHiDPI (Retina)というチェックボックスがあります。これをチェックすると綺麗に表示されるようになりました。
ある時から突然ネットワークが繋がらなくなったことがありました。これはホスト側で使っているネットワークインタフェースとVM設定画面の中のNetworkで指定してあるネットワークインターフェースがずれてしまうと発生します。私の場合はホスト側のネットワーク接続環境をWiFiからUSB-C経由の有線ネットワーク接続に変えたところen6というインタフェースが作られたのですが、この時にズレた状態になりました。今はen6を指定してちゃんと動作しています。
最後に、ゲスト側にGoogle Chromeブラウザをインストールしたところページの表示が大きく崩れてしまい使えませんでした。これがないと各種クラウドサービスが利用できず不便です。調べたところGoogle Chromeがハードウェアアクセラレーションを使っていると表示が大きく崩れることがあるようです。
Google Chromeの環境設定を開いて詳細設定の中の「システム」タブを選ぶと以下の画面になります。この最初のトグルスイッチをオフにすればどんなWebページも正しく表示されました。
ただ1つの問題点は、ゲスト側のGoogle Chromeはインストール時にこの設定がオンになっており、最初から表示が崩れています。それを上記の画面まで辿り着き、オフにすることはとても難しかったです。またその後ブラウザを再起動する必要がありオフにしたボタンの横に再起動ボタンが表示されるのですが、画面が崩れているとよくわからず、、、とても大変でした。