🐥

Macでmultipassを使ってUbuntu Desktopを使う

2021/11/16に公開
9

前回、M1 Macでmultipassを使う方法について書きました。今回は、UbuntuでGUIで操作できるデスクトップを利用する方法を試してみたいと思います。

Ubuntuをインストール

前提条件として、既に、前回の手順で、multipassをセットアップ済みとします。

まず、ターミナルで以下のコマンドを実行して、Ubuntuをインストールして、Ubuntuのシェルにログインします。

# Ubuntuをダウンロード
% multipass launch --name ubuntu
# シェルにログイン
% multipass shell ubuntu

ただし、デフォルト設定だと、すぐにディスクスペースが不足してしまうかも。。。Ubuntu Desktop環境は最低でも2.5GB必要になるので。そこで、以下のようにゆとりを見て50GBでVMを作ってみると良いかも。

% multipass launch --name ubuntu \
    --cpus 6 \
    --mem 12G \
    --disk 50GB

続いて、ubuntu-desktopxrdpをインストールします。

sudo apt update
sudo apt install ubuntu-desktop xrdp

インストールできたら、Ubuntuにパスワードを設定します。

sudo passwd ubuntu

Remote Desktopをインストール

AppStoreから「Microsoft Remote Desktop」をインストールしておきます。

そして、multipassのUbuntuのIPアドレスを調べます。multipass listコマンドを実行するとIPアドレスが分かります。

% multipass list
Name                    State             IPv4             Image
ubuntu                  Running           192.168.64.4     Ubuntu 20.04 LTS

そして、Remote Desktopのメニューから「Connection > Add PC」で、上記のIPv4のアドレスを指定します。そして接続します。その際、ユーザー名とパスワードを聞かれますので、ユーザー名に「ubuntu」、パスワードを先の手順で指定したパスワードを指定します。

すると、以下のようにUbuntuのデスクトップが起動します。意外にも簡単ですね。

xrdpのサービスを有効にする

上記がうまくいったらxrdpをサービスに追加しましょう。

$ sudo systemctl enable xrdp

日本語入力をセットアップしよう

なお、multipassで構築したUbuntu Desktopを使っていて困るのが、キーボードの設定です。デフォルトでは英語キーボードの設定になっています。

そこで、「setting」アプリを開いて、「Region & Language」をクリックします。

そして、「Managed Install Languages」をクリック。「Install/Remove Languages...」でJapaneseにチェックを入れてインストールします。

その後、Input Sourcesを「Japanese(Mozc)」にします。ちなみに、ここで「Japanese (Macintosh)」を選ぶのはNG。うまく文字が入力できなくなるので注意です。これで、デスクトップ上で日本語入力もできるようになります。

あるいは、コマンドラインから以下のコマンドを実行します。こちらの方が簡単でしょうか。

$ sudo apt install ibus-mozc 
$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'jp'), ('ibus', 'mozc-jp')]"

その後、デフォルトでは、[英数キー]でMozcのオンオフができました。

キーボードがおかしい問題 (要改善)

AppleシリコンのMacで日本語キーボードが正しく設定できていない問題で、ターミナルから以下のように、setxkbmapを実行すると改善可能です。ただ、以下の設定だと、アンダーバーが打てないという致命的な問題があります。後でさらに調べてみます。

setxkbmap -layout jp -model pc105 -option ctrl:nocaps 

以下のコマンドをタイプすると現在の設定を確認できます。

setxkbmap -print -verbose 10

感想

意外と簡単にmultipassでデスクトップ環境を整えることができました! まだまだ、M1 Mac用の仮想環境ツールがあまり充実していないので、multipassでこれだけ使えるのは予想外で良い感じです。

参考

実際、使っていくといろいろ問題が出るので、以下にまとめました。

Discussion

黒田努黒田努

「期待しています!」と催促しておきながら、試すのが遅くなりました。記事通り進めて、うまく行きました。ありがとうございます。

1点だけコメントします。「日本語入力をセットアップしよう」の節で「その後、Input Sourcesを「Japanese(Mozc)」にします。」とありますが、私の環境ではその前にUbuntu Desktopを再起動する必要がありました。再起動する前は「Japanese(Mozc)」という選択肢が現れませんでした。

黒田努黒田努

もう1点、コメントします。

Ubuntuデスクトップを利用中に画面ロックがかかると復帰した時に、「Authentication is required to create a color profile/managed device」というポップアップが出現し、消せなくなります。

簡単な対処方法は、「Settings」を開いて「Power」セクションにある「Power Saaving > Blank Screen」の設定を「Never」にすることです。これで不用意に画面ロックがかからなくなります。

根本的には、xrdpでリモートデスクトップしたときの「カラープロファイルを作成するには認証が必要です」を消す に従って、45-allow-colord.pkla というファイルを作成することでこの問題は解消されます。

ただし、上記ブログ記事は sudo systemctl restart polkit.service でOKと説明していますが、Ubuntu自体の再起動が必要でした。

ちなみに、別の記事 How to fix “Authentication is required to create a color profile/managed device” on Ubuntu 20.04 / 20.10 も同じ問題を扱っていますが、この記事に書かれている方法はうまく行きませんでした。

黒田努黒田努

45-allow-colord.pkla というファイルを作成することでこの問題は解消されます。

私はこう書きましたが、このファイルを作成すると確かに画面ロックから復帰した時にポップアップが出現しなくなりますが、まれにシステムエラーを引き起こします。このファイルを作成するよりも、単に画面ロックがかからないようにしつつ、自分でも画面ロックしないように気をつける方が良さそうです。

黒田努黒田努

さらにもう1点、コメントします。

初期状態のUbuntuでは、キーボードレイアウトがUS配列になっています。日本語配列のキーボードを利用している場合は、次のURLに書いてある説明に沿って作業する必要があります。

https://qiita.com/harmegiddo/items/0daac48c0f58596a52f1

ただし、このページの「0. Keyboard layout」のセクションは説明の通りになりませんでした。sudo dpkg-reconfigure keyboard-configuration コマンドを実行しても、キーボードを設定するための「画面」が表示されませんでした。コマンドだけ実行して次に進めば、問題ないようです。

クジラ飛行机クジラ飛行机

@黒田努さま
Ubuntuを使う上でのTipsをありがとうございます!

黒田努黒田努

これから日本の人々が「M1 ubuntu」や「M1 multipass」で検索した時、このページが上位にヒットするようになるはずです。

私もこのページを参照し続けるし、同僚にも推薦します。なので、このページに関連情報を集約したいと思い、いろいろとコメントさせていただいています。

ippachiippachi

Desktop環境は最低でも25GB必要になるので。そこで、以下のようにゆとりを見て50GBでVMを作ってみると良いかも。

これですが、 sudo apt install ubuntu-desktop xrdp を実行した結果は After this operation, 2583 MB of additional disk space will be used. と表示されたので2.5GBではないでしょうか?
勘違いでしたらごめんなさい。

ippachiippachi

ありがとうございます!
素晴しい記事を感謝します 🙏