MacBook Air early 2015にUbuntuを入れた話
長年使ってきたMacBook Air early 2015にUbuntu24.04を入れました。インストールはすんなりと終わったものの、これまで使ってきたmacの環境同様に使えるようになるまで色々と苦労した点があったため、備忘録的に環境設定が完了するまでにしたことを書きました。
Ubuntuを入れた背景
Ubuntuを入れようと思ったきっかけは大きく2つあります。
1つ目に、mac osのサポートが切れてしまったこと。これが一番の理由です。おおよそ10年も前のマシンということもあり、osのサポートはmac os 12 Montereyで打ち切りになっています。osのサポートが切れたとはいえ、セキュリティーパッチはまだ配布されています。したがって普段遣いしている分には問題はありませんでした。しかし、mac os 12がHomebrewのサポート対象外となり、brew upgradeをかける際にエラーが起き、使っているビルドソフトが更新されないという問題が起きました。開発等で今後このマシンを使っていくと考えた際に、このosを引き続き使っていくのはできないなと思いました。
2つ目のきっかけは、単純に動作の引っかかりに不満をもっていたからです。これは、少し我慢をすれば問題のないことなのですが、文字入力している際にワンテンポ遅れたり、スクロールしているときに動作がカクついたりと日常的な所作がワンテンポ遅れてしまいます。小さなことなのですが、長時間使っていると結構ストレスを感じます。
ということで、長期的な視座で考えた際にmac osからUbuntuにのりかえたほうがいいという判断に至りました。Ubuntu自体はすんなりとインストールでき、すぐにセットアップし、使える状態になりました。しかし、キーボード設定やスクロールでUX的に困った点があり、快適に使えるようになるまで結構苦労したのでそれらを解決するためにしたことを紹介します。
Ubuntuを入れた際に苦労した点
キーボードの設定
MacbookにUbuntuをいれて最初にUX的に困ったのが、「かな」と「英数」キーでIMEを切り替えられないところです。
Linuxの環境では日本語入力のIMEにmozcが使われます。一般的にはmozcの設定をいじるmozc-utils-guiというパッケージをインストールして、それでキーマッピングを設定することで、簡単に任意のキーを英数/かなの切り替えにマッピングすることができます。
おおまかな流れは、https://yaruki-strong-zero.hatenablog.jp/entry/ubuntu_switching_ja_imeに書いてあることを参考にしました。
まず、衝突した問題がmacの英数キーとかなキーをマッピングすることでした。mozcの設定ツールでマッピングを変更しようとしたところ、「英数」「かな」キーを押したところで、キーが認識されないのです。色々と調べたところ、この問題は、「英数」「かな」キーがキーコード上でKEY_HAGUEL、KEY_HANJAとして認識されていることに起因していました。
そこで、上のキーを「無変換」「ひらがな」として再マッピングすることでこの問題を対処しました。これを対処する方法はいくつかあるのですが、個人的におすすめなのが、xremapを使った方法です。xmodmapを使った方法が多く紹介されていますが、ubuntuが入力システムをxinputからwaylandへと移行したためか、xinputに依存しているxmodmapでは切り替えが時々認識されなかったりと動作が不安定でした。
xremapのインストール方法は以下を参照。
https://github.com/xremap/xremap
xremapのconfigファイルとかをどう設定するかは以下を参照。
https://qiita.com/jidaikobo-shibata/items/be318ca855cd0bab8652
この記事を参考にすることで起動時にマッピングを自動的に適応させることができます。
xremap用のconfig.yaml
modmap:
- name: Global
remap:
KEY_HANGEUL: KEY_HIRAGANA
KEY_HANJA: KEY_MUHENKAN
これで、mozcの設定ツールを開いてIME有効化・無効化のキーマッピングを設定すると従来のmac同様にIMEを切り替えられるようになると思います。
スクロール速度の設定
次に使いづらかったのが、スクロール速度です。デフォルトではスクロール速度が速すぎてかなり使いづらいです。そこで、スクロール速度を変えようと思ったのですが、ubuntuのトラックパッド設定にはスクロール速度を変更するところがありません。
ググるとスクロール速度をlinuxで変更する方法が色々と列挙されていますが、どれもうまくいきませんでした。まず、多く見られるのが、mywheelというソフトを入れてスクロール速度を変更する方法ですが、これは1スクロール時にスクロールする倍率を整数倍のみで変えられるようになっています。つまり、スクロール速度を上げるためには有効なのですが、スクロール速度を遅くするには意味がありません。xinputにスクロール速度を変更する設定があるそうなのですが、現行のubuntuではwaylandでユーザー入力が一括で管理されているので、この方法も使えませんでした。
色々と試行錯誤した上で唯一スクロール速度を変更できたのが、libinput-configというソフトを使った方法です。
インストール方法とかは以下のgitlabリポにまとめられています。
https://gitlab.com/warningnonpotablewater/libinput-config
リポジトリのreadmeに書いているように/etc/にlibinput.confというファイルを用意し、以下を追加します。
scroll-factor=0.25
そして必要な依存関係をインストールします。
sudo apt install libinput-dev
sudo apt install meson ninja-build
このあとに、libinput-configをビルドし、再起動をかけると設定したスクロール速度になると思います。
最後に
以上を行うことで、ようやくmacと同じような快適さでubuntuを使えるようになりました。しかし、まだこういった細かい使用時の問題は残っています。それは、タイピング時のパームリジェクションです。タイピングしているときに、タップが認識されてしまって、誤ってカーソルの位置へとタイピングしている位置が飛んでしまいます。これは設定でtap to clickを切ることで解決できますが、タップ操作は多用するので不便です。