インフラ

【M1 Macbook AirでUbuntu】リモートデスクトップ経由で接続

reisuta

Webエンジニア | 20代中盤 | 大学時代はGmailすら知らないIT音痴でプログラミングとは無縁の生活を送る → 独学でプログラミングを学ぶ → Web系受託開発企業にエンジニアとして就職 → Web系自社サービス企業に転職 | 実務未経験の頃からVimを愛好しており、仕事でもプライベートでも開発はVimとTmuxを使っているので、VSCodeに疎いのが最近の悩み。何だかんだでやっぱりRubyが好き。

皆さんは、M1Macとかで、
LinuxtのGUIを開いてみたいと思ったことはないでしょうか?

M1だと、以前のintel製Macのように、
気軽にデュアルブートでLinuxを入れるなんていうことができなくなってしまったので、
悲しみにくれている人も多いのではないでしょうか?(わたしです)

そこで、本記事では、M1でUbuntuデスクトップを開くために、
Dockerコンテナとリモートデスクトップを使って、
検証してみようと思います。

どちらかというと、
お遊びの検証なので、
一ミリも実践的じゃないので、
ご了承ください。

ちなみに、記事の内容上、
動画の方がわかりやすいかもしれないので、
同内容の動画を貼っておきます。

 

M1での前準備

さて、早速取り掛かっていきたいのですが、
本記事ではDockerを使うので、
Dockerの基礎知識や環境構築を済ませていない方は、
先にこちらの記事を読んでからのほうが、
理解しやすいかと思います。

参考Dockerとは何か?概要を完全解説 簡単なWebサーバー構築で基礎を学ぶ

Dockerとは? Dockerは、コンテナ型仮想環境を作成するソフトウェアの一種で、隔離された実行環境を用意することが特徴です。 https://aws.amazon.com/jp/docker/ ...

続きを見る

以下、Dockerの環境がある前提で
進めていきます。

Ubuntuコンテナを立てる

公式のubuntuのイメージを取得し、
コンテナを立ち上げます。

docker pull ubuntu
docker run -itd --privileged -p 13389:3389 --name ubuntu-desktop ubuntu

コンテナに入ります。

docker exec -it ubuntu-desktop /bin/bash

コンテナに入ったら、
色々インストールしていきます。

必要なライブラリ等インストール

色々必要なやつをインストールしていきます。

今回は、xrdpとubuntu-desktopを
apt経由でインストールします。

xrdpとは、リモートデスクトップを実現するために必要なプロトコルである、
RDPの機能を提供するOSSです。

ubuntu-desktopは、その名の通り、
ubuntuのデスクトップ環境ですね。

そのためxrdpとデスクトップ環境である、
ubuntu-desktopを入れないと始まらないので、
以下コマンドでインストールします。

apt -y update
apt install -y init
apt install systemd
apt -y install xrdp
apt -y install ubuntu-desktop

入れ終わったら、
一旦コンテナからexitします。

コンテナを停止しないと、
Bind for 0.0.0.0:13389 failed: port is already allocated.
のようにすでにポートが埋まっているというエラー にこの先出くわすので、
一旦止めます。

docker stop ubuntu-desktop
Screenshot 2022-12-24 at 15.07.32.png

イメージを保存する

今色々インストールしたコンテナをイメージとしてコミットし、
そのイメージ経由で立ち上げてみます。

docker commit  6a77e56ccb22 ubuntu-desktop:ubuntu
docker run -itd --privileged -p 13389:3389 --name ubuntu-test ubuntu-desktop:ubuntu /sbin/init
docker exec -it ubuntu-test /bin/bash

あとは、デフォルトだとrootユーザのパスワードはないようなので、
passwdコマンドで設定します。

passwd
Screenshot 2022-12-24 at 15.14.18.png

さてこれで準備完了です。

リモートデスクトップでUbuntuに接続

次に、リモートデスクトップが必要なので、
インストールしておきましょう。

app storeとかで、
Microsoftリモートデスクトップって検索すれば、
出てくると思うので、インストールします。
(他のリモートデスクトップでも行けると思いますが、
本記事では、Microsoftリモートデスクトップを使用します。)

Microsortリモートデスクトップで、
localhost:13389にアクセスします。

Screenshot 2022-12-24 at 15.15.14.png

ユーザ名:rootで、
パスワード:設定したもので接続します。

Screenshot 2022-12-24 at 15.15.32.png

いけたっぽいです。

Screenshot 2022-12-24 at 15.15.54.png

最初の状態だと、なぜかfirefoxが入っていないので、
リモートデスクトップ先でインストールしてみます。

Screenshot 2022-12-24 at 15.18.18.png

私の環境では結構時間かかりましたが、
インストールできました。

やってみた感想

正直体感としては、やや重くて
実用に堪えるものではない気がしました。

Ubuntuを使いたいならおとなしく、
PCにそのまんまインストールしたほうがいいかもしれないですね。

そうなると、やはりMacではなくWindowsという
例の宗教戦争に突入するので、
ここではこれ以上踏み込みません。

なお、ここまでやっておいてあれですが、、
こういうやつもあるので、
こっちのほうがサクッと作れるかもしれないので、
興味がある方は、ご参考ください。

https://github.com/uphy/ubuntu-desktop-jp

  • この記事を書いた人
  • 最新記事

reisuta

Webエンジニア | 20代中盤 | 大学時代はGmailすら知らないIT音痴でプログラミングとは無縁の生活を送る → 独学でプログラミングを学ぶ → Web系受託開発企業にエンジニアとして就職 → Web系自社サービス企業に転職 | 実務未経験の頃からVimを愛好しており、仕事でもプライベートでも開発はVimとTmuxを使っているので、VSCodeに疎いのが最近の悩み。何だかんだでやっぱりRubyが好き。

おすすめ記事はこちら

Vim/Neovimプラグイン 1

プラグインをどれだけ入れるかは、その人の思想なども関係するので、一概にこれがいいというのはないかもしれません。 プラグインを全く入れない人もいれば、100個以上入れる人もいます。 ただそれでも、これだ ...

VimとNeovimの比較 2

本記事では、VimとNeovimの違いについて、解説します。 VimとNeovimの違いについては、普段頻繁にVimなどを使う方でなければ、正直、あまり気にしなくてもいいかなと思います。 ただ、Vim ...

Ruby変数やすべてがオブジェクトについて 3

本記事は、Rubyの基礎文法である、変数や真偽値、論理演算子に触れると同時に、「すべてがオブジェクト」というRubyの特徴的な思想についても解説します。 この思想は、Rubyの文法の根幹になっているの ...

4

エンジニアにおすすめの技術書 書籍学習は、エンジニアの嗜みみたいなところがありますが、 良書というものは、意外とそこまで多くもありません。 そこで本記事では「技術書マニアの筆者が厳選した技術書20選」 ...

5

エンジニアになるには? プログラミングは、専門性が高く自分一人で勉強するのが大変に感じることも多いですよね。 そこで本記事では「おすすめのプログラミングスクール5選」を特徴と、現役エンジニア目線で優れ ...

-インフラ