Mac Linux

Mac mini (2012) にUbuntu18.04をインストールしてみた

今年のアップデートにより、ついに旧型となってしまったMac mini(2012年モデル)。私の自宅にも箱に収められたままひっそりと眠るMac miniがありました。

約6年前のモデルと言うことで、最近のマシンから見ればスペック的に見劣りするPCになってしまいましたが、Linux機として運用するならまだまだ輝けるはず!

ということで、今回はMac miniをUbuntu専用マシンとして復活させてみたので、その備忘録です。

用意するもの

用意するものは以下の通りです。インストールDVDは事前にUbuntuのイメージをダウンロードして焼いておきましょう。インストール中は有線機器しか使えないので、純正のキーボードやトラックパッドとは別に、マウスやキーボードを用意する必要があります。

  • Ubuntu18.04のインストールDVD
  • 外付けDVDドライブ
  • 有線マウス
  • 有線キーボード
  • 有線LAN環境

Ubuntuのインストール

Ubuntuのインストール自体は簡単です。インストールDVDを入れた外付けドライブを繋いだ状態で、キーボードの「c」を押したまま再起動します。

しばらくするとUbuntuの画面が現れるので、あとは指示に従ってインストールしていきましょう。Ubuntu専用機として生まれ変わらせるので、MacOSは消してクリーンインストールを選択します。私は余計なパッケージを入れたくなかったので、インストールの種類は最小インストールとしました。(ここはお好みで大丈夫です)

インストール後のセットアップ

ここからは追加のセットアップです。今回はリモート接続で操作できるようにしたいので、それに必要な作業を中心に進めます。

内蔵無線LANの有効化

インストール直後では内蔵無線LANが使えません。そこで、以下のコマンドでドライバをインストールします。再起動後、無線LANが使えるようになるので、ここから先は有線LANが不要になります。

# ドライバのインストール
$ sudo apt install firmware-b43-installer

# 再起動
$ sudo reboot

SSHサーバーのインストール

コンソールからのリモート接続の手段として、SSH接続を受け付けられるようにします。以下のコマンド1つで完了です。

$ sudo apt install openssh-server

XRDPのインストールと設定

SSH接続以外にも、GUIのリモートデスクトップでアクセスした方が便利な場合もあります。そこで、RDPのインストールと設定を行います。まずは以下のコマンドでxrdpをインストールします。

$ sudo apt install xrdp

インストール直後では証明書へのアクセス権まわりでエラーが出るので、xrdpから証明書にアクセスできるようにします。

$ sudo adduser xrdp ssl-cert

続いて、表示周りの設定です。まずはカーソルの描画に関する設定として、xrdpの設定ファイルを書き換えます。

$ sudo sed -e 's/^new_cursors=true/new_cursors=false/g' -i /etc/xrdp/xrdp.ini
$ sudo systemctl restart xrdp

次に、必要な環境変数を設定しておくために、~/.xsessionrcというファイルを作成しておきます。

$ D=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop
$ cat <<EOF > ~/.xsessionrc
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_DATA_DIRS=${D}
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
EOF

最後に、リモートアクセス時のカラープロファイル周りの認証確認を回避するために、policykitの設定ファイルを作成しておきます。

$ sudo vi /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla

ファイルの中身は以下の通りに記述しておきます。

[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes

ファイルが作成できたら、polkitを再起動させておきましょう。

$ sudo systemctl restart polkit

以上で設定は完了です。あとはWindowsのリモートデスクトップからIPアドレスを指定して接続できればOKです。

おまけの作業

リモート接続によるGUI操作もできるようになりましたが、表示された画面にはDockがありません。その上、謎のthinclient_drivesというドライブがマウントされています(´・ω・)

Dockはやはり表示したいところです。謎のドライブについては実害はないですが、気になるので対策しておきます。

Dockを復活させる

Dockを復活させるには、GNOMEのカスタマイズツールであるgnome-tweak-toolをインストールします。

$ sudo apt install gnome-tweak-tool

インストール後、Extensionの設定でUbuntu Dockを有効化すればOKです。

thinclient_drivesを見えなくする

続いてthinclient_drivesですが、これはxrdpにより自動的に作られるものだそうです。今回は隠しフォルダとして作成することで、表から見えなくすることにします。それには、xrdpの設定ファイルを書き換えます。

$ sudo vi /etc/xrdp/sesman.ini

このうち、FuseMountName=thinclient_drivesの1行をFuseMountName=.thinclient_drivesに書き換えて保存すればOKです。

以上の設定を終えた結果が以下の通り。ちゃんとDockも見えるようになりました(・∀・)

ということで、無事にMac miniをLinux機として復活させることができました。もちろん、Appleのサポート対象外の作業なので、試す際にはあくまでも自己責任でお願いします。

もし、自宅で古いMac miniを持て余している方で、手軽なLinux機が欲しい方は試してみてはいかがでしょうか?

ではでは

関連記事

C言語 自作物 Linux プログラミング

wordleもどきのCUIアプリをつくってみた

最近、wordleという英単語当てゲームで遊んでいます。シンプルなゲームながら、通勤時間の暇つぶしや友人とのスコア比べなど意外と中毒性があり面白いです。 普通に英単語の勉強にもなるので、もっとたくさん ...

RaspberryPi Linux

Raspberry Pi4+Ubuntu ServerでGitLabを動かしてみる

お仕事でGitLabに触れる機会があったので、学習用に自宅にもGitLabが欲しくなりました。 手元にあるRaspberry Pi4+Dockerならお手軽に立ち上げられるはずと着手したものの、意外と ...

Flutter プログラミング

【Flutter】アプリ内の設定値を実装する方法

アプリ内で独自の設定を作る場合、そのデータを保持する方法を考える必要があります。 SQL、テキストファイルなど選択肢は多々ありますが、shared_preferencesというパッケージを使えば簡単に ...

RaspberryPi Linux

YoctoでRaspberryPi4のイメージをビルドしてみた

昨今、様々なデバイスでLinuxが動くようになっている中、組み込みLinuxのデファクトスタンダードとなりつつあるのが「Yocto」と呼ばれるビルドシステムです。 組み込みの現場ではその名前を聞くこと ...

C++ 自作物

言語処理系をつくろう(第7回):比較演算子を実装する

自作の言語処理系開発日記の第7回です。前回までで変数の実装が終わったので、ここからはいよいよ制御構文を実装…と思ったのですが、制御のためには比較演算子を実装する必要がありました。 ということで、今回は ...

Ryo Yoneyama

とある会社でソフトウェアエンジニアをしています。技術的な備忘録を中心にまとめてます。ネタがあれば日記も書きます。

    -Mac, Linux