Macbook Air (2011 mid) に Ubuntu 18.04 LTS を入れてサブ機にする際の設定メモ

この記事の前提:Ubuntu 18 on Macbook Air を構築するまでの所感

 貰い物で2016年ごろまで主力PCとして使っていたMacbook Air (2011 mid, 13inch) を、ここ3〜4年ほどうまく活用できていなかった。
 2016年後半から予算がついて購入できたMacbook Pro (2015 mid 15inch) が、その後のTouch bar世代のMacbookProで起きた様々なトラブル等とも無縁のまま名機として活躍し続けてくれていることもあり、そればかり使うようになっていた。*1
 けれど、Macbook Air の利点は「物理的に軽いこと」*2 。MBP15inchが1.83kgなのに対してMBA13inchは1.35kgである。最近はWinノートで0.7kg程度のマシンもあったりするから*3 MBAの軽さも今や大した評価点にはならないのだけれど、職場の中を持ち運んでうろうろするには便利な程度の軽さだ。しかしMacOSのままではなんとも使いづらい。
 そこでUbuntuを入れてみることにした。Ubuntu〔うぶんとぅ;うぶんつ〕*4はいわゆるLinuxディストリビューションの一つで、無料で手に入る。そしてLinuxディストリビューションの中でも、デスクトップPC/ノートPC用の選択肢として、そこそこ人気がある。2020年現在の代表的なLinuxディストリビューションにはCentOS, Debian, Ubuntu, OpenSUSEなどがある。そして自分用に入れるなら、Webにも個人向けの資料が多いDebianUbuntuかなと思っていた。
 最近のUbuntuは18系列と19系列があるようで、LTS(Long Time Support)対象になっているのは18系列とのことだった。なので、18を入れることにした。*5

www.ubuntulinux.jp

 ところで、Linuxの常なのかは経験が浅くてわからないけれども、入れ終わったあとから今までの間に、3回くらいはクリーンインストールをやり直す羽目になっている。Ubuntuを入れた直後から、WinやMacの日本語デスクトップ環境なみの快適さを得ようとするまで、かなりの時間がかかるのにも関わらずだ。
 もちろん問題となる状況1つ1つはだいたいWeb上に答えがあるし、調べながらやっていくこと自体は難しくない。けれど、そういうのが10も20も連なると、次々と細かな不具合を解決している間に「何がどうなってこうなったんだっけ」と道を見失う羽目になる。そしていつか、そうした細かな調整がホコリのように溜まり、いつか自分に解決できない水準の、理解できない不具合として立ちはだかる。そうなると、このまま不具合を抱えるより一度クリーンインストールして設定からやり直すのが一番早い、という諦めの気持ちが訪れる。
 もうこんなことが起きている時点で、Ubuntu(というかLinux系PC)を端末上でせこせこいじることに対して、ある種のホビー感を見いだせない人には全然おすすめできないことがわかってきた。しかし、多少の愉快さをそこに見出しながら、実務マシンとして古いMacbook Airに新しい活躍の場を作っていくことには面白みがあるという偽らざる感想も一方である。*6
 そんな複雑な感情を抱えているうちに、先人がUbuntu 18.04 LTSをインストールした直後に行う設定 & インストールするソフト というような記事でLinuxディストリビューションの導入後の手順をまとめていた気持ちが、自分にもよくわかるようになった。要するに、導入直後に何が必要かを自分なりに手順化すれば、クリーンインストール後のカスタムで考えなくて済むし、そのたび入れたばかりのChromium上で前に試した解決法を探して右往左往する時間を費やさなくて済むわけだ。

 そういうわけで、3回目のUbuntu 18.04 LTS導入時に整理したやり方を、この下に紹介していく。
 ところで、自分はUbuntuの日本語化をほとんど信用していない。Ubuntuの導入は言語環境=英語を選択し続けることで、初めてそれなりのところまで走りきることができる、というのが自分の今の立場だ。少なくとも、旧型Macbookに対していきなり日本語環境を導入しようとするのは、それ自体が罠に近い選択だと思っている。そんなこともあって、「不慣れでも一度英語環境を前提に入れたほうが、悩みは少なくなる」という、一見日本語ユーザに優しくない前提で、以下のtipsは書かれている。

UbuntuインストールUSBディスクの作成

基本的には、公式に従うとよい。
linuxfan.info
ただし、ここでいきなり躓きやすいポイントが出てくる。「USBメモリに.isoファイルを書き込む」というところだ。ここは、基本的なコマンドラインWindowsならコマンドプロンプトMacOSならターミナルで、それぞれ実行するあの黒い窓で実行する一行命令文のこと)がわからないと、結構苦しむことになる。WinにもMacにも一応コマンドラインではなくGUIで処理可能なアプリがあるみたいだけれど、自分は色々うまく行かなかった結果、コマンドラインでこなした。Macの場合は以下の記事などが参考になる。
qiita.com

UbuntuMacbook Airへのインストール

 Macbook Airに準備したブートディスク用のUSBメモリを挿し、optionキーを押しながら電源ボタンを押す。するとUEFI系の起動画面が出て、MacOS以外も選べるようになる。USBメモリを指す黄色いアイコンをクリックすればUbuntuの起動画面になる(2つある場合、どちらを選んでも同じようなので、安心してほしい)。
 あとは先ほど紹介した公式の通りに進めればよいが、注意点がある。Macbook Airで「日本語」を言語に設定すると、インストール先のHDDを選択する途中で必ず詰まることになる。理由は以下の記事にある通り、インストール続行にあたって最も重要なボタンが画面から完全に見切れてしまうからだ。
magidropack.hatenablog.com

以下は当時の怒りというか愚痴。

 英語でUbuntuをインストールすれば、とりあえずこの馬鹿の極みのような状況は起こり得ないことが確認できている。
 もちろん、別途モニタが接続できる環境や、もともとデスクトップにUbuntuを入れる場合は問題ないだろう。しかし、Macbook Airのような小さめのマシンに入れる際はこういう致命的な不幸に遭遇するということ、そうしたことは日本語環境を最初から選ばない限り起こらないということは、言っておきたい。

IMEの日本語化:Mozcの導入

 UbuntuにおけるGoogle日本語入力に相当するのがMozc(もずく)である。最初にこれを導入する。基本的には以下の記事に従う。

www.hiroom2.com

ターミナルを起動して最初に打つコマンドラインは以下:

$ sudo apt install -y ibus-mozc
$ sudo reboot

再起動がうまくいかない場合は普通に電源を入れる。その後、以下の手順を実行する。

  • Setting>"Region & Language"の"Input Sources"で"+"をクリック
  • Japanese を選択;"Japanese (Mozc)"を選択して"Add"をクリック
  • "Japanese (Mozc)"が一番上になるようにリスト上をドラッグ&ドロップ

このときの注意は、「Mozcを入れたのだから、特に変換ができないJapaneseは消していいや」とは考えないこと。なぜなら、これを消してしまうと、国内Macbook標準のJISキーボードではなく、英語圏のキーボード配列が参照されるようになってしまうためだ。必ず残しておくこと。*7
 もちろん、もともと英字キーボード配列のMacbookを使っているなら、Japaneseは消してしまっても構わないだろう。

ハードウェアに応じたキーボード配列を設定する

以下の記事に従う。
takacity.blog.fc2.com

$ sudo dpkg-reconfigure keyboard-configuration

とターミナルで入力して、その後は記事の通りの判断に従えばよい。

ControlとCommandの入れ替え(あるいはCommandのControl再割当)*8

  • Gnome tweaksというツールをUbuntu Softwareからインストールし、実行する。
  • Overview shortcut を Left Super から Right Super へ変更する(左側のCommandキーがオーバービューショートカットとして起動するのを防ぐため)
  • 設定項目からタイピングを選択し、2つの変更を仕掛ける。MacOSそのままのCommand機能にはならないが、2つのキー配置の組み合わせでそこそこ使いやすくなるはずだ。
    • Left Alt/Win key Behavior について:Left Alt is Swapped with Left Win にチェックをつける【これでCommand+Tabでアプリ切り替えができる】
    • Caps Lock Behavior について:Caps Lock is also a Ctrl にチェックをつける【これで左下端のCapslockがCommandキーのように使えるようになる)

こちらも参考に。
qiita.com

Fnキー関連の挙動を逆転させる

 これはF10などでかな→ローマ字変換をよく使う人にとっては必須になるカスタマイズである。初期状態のままだと、Fnキーが音量ミュートのボタンになっており、文字入力に使うことができない。毎回Fnキーを押しながらF10を押すのが億劫なので、この調整はやっておきたい。
 なお、Ubuntu 18以前の2014年頃の記事では、よくrc.localというファイルに追記しろという指示がある。しかしそれはUbuntu 18系では通用しない。正しくは、以下の記事にちょこっと書かれた方法が役に立つ。

inazuma110.hatenablog.com

ただし、ここに書かれた情報だけだと、パーミッションエラーが出ることがある。そこで、shコマンドを利用して*9以下のように一行で書けば、パーミッションを無視して、適切な設定ファイルがしかるべきところに生成される。

$ sudo sh -c  "echo options hid_apple fnmode=2 > /etc/modprobe.d/hid_apple.conf"

これで記入がうまく行ったかどうかをみるなら、以下のコマンドで設定ファイルの文字列を確認すること。

$ gedit /etc/modprobe.d/hid_apple.conf


再起動後に設定が消えてもよいなら、以下の方法もある。
kotaeta.com

$ echo 0 | sudo tee /sys/module/hid_apple/parameters/fnmode

ただしこの方法だと、再起動するとまたFnキーの挙動がもとに戻ってしまう。再起動後も持続させたいなら、最初に紹介した方法を試すこと。

スクリーンショットの撮り方

MacbookにPrtScreenキーがないため、いくつか工夫する必要がある。
もっとも単純なやり方は、環境設定>キーボード>キーボード・ショートカット のところにある以下の3つを、選択後好きなボタンの組み合わせで押下することだ。自分の場合は以下のように設定している。

  • Save a screenshot of a window to Pictures: Shift+F11
  • Save a screenshot of an area to Pictures: Shift+12
  • Save a screenshot to Pictures: Shift+10

また、アプリ単体の窓をきれいに取りたいときは、スクショ系のアプリ "gnome-screenshot" から始まるコマンドラインを利用する。以下の記事に詳しい。
https://qiita.com/yas-nyan/items/80f2db8c4bdf4c8e87b8

たとえばディレイで5秒後に特定のウインドウを取得する場合は以下の通り。

 gnome-screenshot --window --delay=5

これらの対応をすることで、PrintScreenボタンのないMacbookAirでもUbuntu上でスクショを扱えるようになる。撮影のタイミングを変えたければ、"5"の数字を"3"などより小さい数字に置き換えるとよい。

Chromium, Simplenote, LibreOffice などを入れる

このあたりでようやくアプリの導入に思考を割くことができるようになる。
入れたら、Firefox, Chromium, Simplenote のアカウントにログインしておく。ちなみにLinuxでは、ChromiumGoogle Chrome相当のブラウザである。(ChromiumChromeOSS=OpenSource Software版)

Anki(暗記カードアプリ)のインストール

公式からLinux用のパッケージをダウンロードしたあと、以下の4行のコマンドラインを順に実行する(以下のコマンドラインは、それぞれ{makeコマンドの導入;Anki圧縮ファイルの解凍;ディレクトリの指定;インストール実行}を表している。手持ちのUbuntuにmakeがすでに導入されているなら、1行目を行う必要はない(開発ツール導入用のコマンドライン ”$ sudo apt install build-essential” などを実行したことがあれば、その中にmakeが入っている)

$ sudo apt install make
$ tar xjf Downloads/anki-2.1.19-amd64.tar.bz2
$ cd anki-2.1.19-linux-amd64
$ sudo make install

Atom(高機能テキストエディタ)の導入

記事としては色々あるが、公開鍵がどうこうと書かれている記事は基本的にうまくいかなかった。
以下の記事が、うまくインストールできた記事として推奨できる。
www.leo-leo.uno

$ wget -O atom-amd64.deb https://atom.io/download/deb
$ sudo apt install gdebi-core -y
$ sudo gdebi atom-amd64.deb
$ atom

元記事は3行目に -y オプションが付加されていたが、No such option と言われ弾かれるため除いたら問題なく動いた(2020-01-23現在)。また、その後紹介されていたエラー窓も特に表示されなかった。

Atomそれ自体の日本語化などは、余裕があるときにいつでもできるため、ここでは扱わない。

トップバーの日付表示を変更する

初期状態だと、日付が「1月 23」などとシンプルなままで、時刻が表示されていない。時刻も表示させる場合は、以下の記事に従う。
hnakamur.github.io

$ gsettings set org.gnome.desktop.interface clock-show-seconds true

不具合防止のためにLinuxカーネルのみupdateする(ukuuを導入する)

Ubuntuの不具合の一部は、見た目や使い勝手以前のLinuxの核となるプログラム(カーネル)の不具合によってもたらされることもある。そのため、先取りしてカーネルを安定したバージョンにアップデートしておくことは重要な作業となる。*10
基本的には、ukuuというGUIで使えるプログラムを使った手順が便利だ。
https://www.virment.com/how-to-update-kernel-ubuntu-using-ukuu/www.virment.com

まず以下のコマンドで、現在のLinuxカーネルのバージョンを確認する。LinuxカーネルのバージョンはUbuntuのバージョンとはまた異なるものなので、改めて調べておく必要がある。

$ uname -r

自分の場合は”5.3.0-26-generic”と表示された。

次に、以下のコマンドを順に打ち込む。

$ sudo add-apt-repository ppa:teejee2008/ppa
$ sudo apt install ukuu

途中、y/nを尋ねられるのでyと答えておく。
その後、ukuuがアクティビティから検索できるようになるので、実行する。
窓が開いて情報の更新が終わったら、最新のLinuxカーネルのバージョンを選択して、インストールを実行する。自分が2020-01-24に調べたときは、5.4.14が最新バージョンだった。
"Installation completed. A reboot is required to use the new kernel."
"Close window to exit..."
という表示が出たら、成功したことになる。その後、再起動を行う。
(with error などと表示されていたら失敗。はじめからやり直すこと。)

成功していた場合、再度 ”$ uame -r”とコマンドラインを打つと、"5.4.14-050414-generic”などと新しい方のLinuxカーネルのバージョンが表示されるようになっているはずだ。

MacOS風のテーマ/Spotlight/Dock/Launchpadを導入する

この項目は好みの話になるが、少なくともSpotlightライクなUbuntu用アプリ ”Albert" は、MacOSに慣れているユーザなら導入する価値があると思われる。

基本的には以下の記事の手順に従えば一通り導入できる。

https://hermemo.com/218/hermemo.com

ただしリンク先の著者が判断している通り、最後のAppleフォントはまったくMacOSらしくない。本当にMacOS風のインタフェースを目指すなら別の手を考えたほうがよいだろう。

*1:また、これは完全に別件だが、Macbook Air用の純正バッテリが摩耗してほとんど使えなくなったため、サードパーティのバッテリを取り替えるための特殊ドライバと合わせて購入するなど、結構重ための対処をしたこともあった。今はその交換したバッテリもヘタレ気味だが、充電ケーブルさえあればそこそこ使えるので問題は起きていない。

*2:純正MacOSのバージョンをアップデートし続けると、動作はどんどん重くなっていったけれど。当初はSnow-Leopardだった2011モデルのOSは、High-Sierraあたりにアップグレードすると、だいぶもっさりとした動作になってしまった。

*3:[asin:B07V6DRKD9:detail]

*4:[asin:4839964866:detail]

*5:ちなみに昨年12月にクリスマスプレゼントとして貰ったLaspberry Pi4にはUbuntu MATEを入れた。MATEのデスクトップもなかなか使いやすい。[asin:B07WR76PSR:detail] Ubuntu MATEとは? デスクトップ版18.04 LTSをインストールしよう! | 侍エンジニアブログ

*6:Linuxコマンドラインの入門書としては以下の本にお世話になった。[asin:B01M3RBWH8:detail] [asin:4797380942:detail] [asin:B00TQMFOCW:detail]

*7:最悪、Japanese(Macintosh) などを入れてそれ以外消そうものなら最悪だ。Japanese(Macintosh)はかな入力しか想定していない配列であり、ログイン時のパスワードがどうあがいても入力できなくなってしまう。自分はこれにハマってクリーニンストールをせざるを得なくなった。それほどRegion & LanguageのInput Sourcesの選択は致命的な分岐点になる、ということを覚えておいてほしい。

*8:この節で書かれるキーの変更は、必ずしも最適ではない。特にMacOSに慣れている人は、Command+Tabによるアプリ切り替えと、Command+Cによる文字列コピーとを同時にできるのが嬉しいはずだ。ところがこれをWindowsLinuxに置き換えようとすると、どうしてもうまくいかない。なぜならアプリ切り替えはAlt+Tabでやるのが標準であり、コピーはCtrl+Cでやるのが標準だからだ。これを同時に実行するためのキーの変更は、なかなか難しい。そこで、Macbookユーザ向けに次善の手段として提案するのが、「キーボードの左下隅にあるCapslockキーをCtrlとして利用する」という解決策だ。「左下隅」をctrlにするというハックは、キーボードにこだわりのある一部の人に好まれる配置である。”109 キーボード”などで検索してみるといろいろ出てくる。LinuxマシンとしてMacbookを使う時にはこの配列でCTRLを済ませることにして、Command+Tabの動作をUbuntuで残しておくことで、そこそこの快適さを得ようとするのが、本文で紹介する修正案である。

*9: ユーザー権限で書けないファイルに対してリダイレクトで書き込みたい - Qiita

*10:自分が経験した二度目の致命的な不具合が、このカーネル由来の不具合だった。Linuxのバージョンによって、再起動 or サスペンド後にノートPCやMacbookのキーボードがまったく反応しなくなってしまうという不具合が残っている。そして、その不具合が発生したあとにこれを解決する決定的な解決策は、まだ見つかっていない。似たような不具合を報告しているUbuntuフォーラムのスレッドを紹介しておく。Ubuntu日本語フォーラム / サスペンドから復帰後キーボードが認識されません