MacOS上のUTMで快適Ubuntu環境構築

# Apple siliconで快適Linux
長らくM1MBPを使用していたものの、M4MBPにアップグレードしたので再度綺麗に環境を作り直すことにした時の記録のまとめ。  
　いつもLinuxではvirtualboxを使用しているものの、Apple Siliconではvirtualbox ARM版がないので、utmを選択。  
　vmwareも導入したので、それはまたの機会に…。

## 使用環境
- M4 MacbookPro 32GB-Mem 1TB-SSD
- Sequoia 15.5
- Homebrew導入済み

## utmでの構築作業

以下実際の手順
- [utm公式](https://mac.getutm.app/)
    - ここからダウンロードしてインストールするだけで、完了
    - Macの普通の操作で問題なし

- 仮想マシンの作成
    - 仮想マシンを知らない人は理解しにくいかもしれないが、virtualboxやvmwareと同種
    - 自分が作成する時にキャプチャが面倒だったので、探してみたら、導入手順のかかれたサイトを発見 
        - 「[UTMでAppleシリコンのMacに仮想マシンを立ててみた](https://dev.classmethod.jp/articles/utmxlinux/)」

- utm設定内容
    - 先ほどの仮想マシン立ててみたのサイトの手順でほぼOK
        - メモリ4GB
        - CPU 2で充分
        - 仮想ディスプレイカード「virtio-ramfb」を選択
            - 「GPU Supported」以外ならOKそう。GPUをONにすると、visual StudioやchromiumでWindowが真っ黒になる事象が発生するので、ここは重要！
        - 共有でディレクトリ共有モード「VirtFS」を選択
            - Mac側の共有したいフォルダを選択
        - その他はデフォルト設定でOK

- ubuntuのダウンロード
    - arm用はserver版しかないので、これを公式からisoをダウンロード
    [ubuntu server for ARM](https://ubuntu.com/download/server/arm)
    - ubuntuやLinuxを知らない人は、server版？と思うかもしれないが、Desktop版と入っているソフトが異なるだけで、違いはない。後ほどDesktop環境を入れる

- ubuntuのisoをセットし起動
    - DVDイメージから起動し、通常通りインストール
    - Server版なので、GUIなしでも問題なく選択できるはず

## Ubuntuの起動後の設定
- 起動時に以下の画面になるが、慌てず待つ  
（通常よりやや起動時間が長いような気もする…）
![Ubuntu2404.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154808/6092b39d-445d-4235-865a-9809d71a8848.png)


- 起動したら、Desktop環境を構築

```bash
$ sudo apt install ubuntu-desktop
```
ダウンロード量が多いが、しばらくまてば完了するので、再起動すればGUIで起動する

### キーボードと、日本語関係の設定を行う

- settings → System → Region & Language → System[Manage Installed Languages]を選択
    - Install / Remove Languages を選択
    - Japaneseにレ点 →　apply
    - Language for menus and windows: で日本語を上にする  
    （Englishより下のものを無視するというルールなので）
![Ubuntu2404-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154808/55206378-6e77-493e-99c1-ec0cd8f2e289.png)
    - Your Accountで以下に設定
        - Lnguage → Japanese
        - Formats →　Japan
    - 上部に「LogOut」と表示されるので、一旦ログアウトして入り直すと日本語になる

- Mozcのキー割当て変更
    - Windows用のキーボードを使用している場合は問題ないと思うが、Macの場合「変換」「無変換」「半角/全角」キーがないので、カスタマイズしないとイラっとする
    - かな（変換）、英数（無変換）キーを図のように最低限設定すれば、使い勝手はOK
        - 「かな」でMozcがON、「英数」でMozcがOFFになるよう設定した
        - 重複する設定や、同じキーで異なる動作が残っていると、思い通りの動作をしないので注意
    ![Ubuntu2404-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154808/2f52bcba-babe-4f36-ad6c-8062821b2138.png)
    - 面倒だという人は、githubに上げておいたので、そこから落としてインポートすればOK
      https://github.com/banikojp/mozc_keymap

### フォルダ共有
- utmの設定で、共有フォルダに設定したフォルダをUbuntu側でマウントする必要がある
    - Virtualboxだと、マウント先も指定できるのだけれど、utmでは共有するフォルダの設定のみで、マウント先は自分で処理する必要がある
- PATHの通ったディレクトリに以下の内容で保存。【utmmount.sh】
    - ここでは、/mnt/shareにマウントするよう設定した

```bash
#!/usr/bin/bash

sudo mkdir -p /mnt/shared
sudo chown -R $(whoami):$(whoami) /mnt/shared
sudo mount -t 9p -w -o trans=virtio share /mnt/shared -oversion=9p2000.L
```
- いちいち、/mnt/shareを見に行くのが面倒な人は、以下の処理をhomeディレクトリで行っておく

```shell-session
~$ ln -s /mnt/share ./
```
これで、homeディレクトリのshareを見に行けば、host（mac）上のフォルダが読み書き可能

## 使用した上で気になる点（未解決）
- utmのWindowがアクティブになって、マウスがUbuntu側にキャプチャされる（取られる）と、Windowから出られなくなるので、ctrl+optionでMac側に戻る
（アクティブでもマウスがキャプチャされないこともあり原因不明）
- デスクトップの切り替えで、UbuntuしかWindowが存在しない場合に、マウスが勝手にキャプチャされる
（今のところ回避できず）
- ubuntuをフルスクリーンで実行していても、タッチパネルのデスクトップ切り替えがMac側で反応
（ubuntuのデスクトップを切り替える場合は、option+command+左右の矢印しか手がない）

こんなところでしょうか…。
解決する設定を知っていたら教えてください。

**幸せなLinuxライフが送れますように！**