Ubuntu 22.04をThinkPad X1 Carbon 4thに入れる

今日はガタの来ていたThinkPad X1 Carbon (4th, 2016)のOSをUbuntu 22.04 LTS (Desktop)に入れ替える遊びをしてみたので、その手順を記録しておく。

もくじ

  1. セットアップの要点
  2. OSインストール (Ubuntu 22.04)
  3. USB無線LANドングルのセットアップ
  4. CapsLock を Left Ctrl と解釈させる
  5. 日本語入力環境 (fcitx5-mozc) のセットアップ
  6. 追加の日本語入力設定(変換キーでON、無変換キーでOFF)
  7. ディスプレイスケーリングを150%にする

セットアップの要点

今回は、以下のポイントには注意してセットアップしてみた。

  1. ディスプレイスケーリングを150%にする
    • 14インチでWQHD (2560x1440) のディスプレイなので100%では目が痛く、200%は非効率すぎてつらい
    • 整数倍でないスケーリングはX.orgではイマイチっぽいのでFlavored UbuntuではなくスタンダードなUbuntuでWaylandを使う
  2. SecureBootは無効化する
    • 手持ちの無線LANアダプタTP-Link Archer T3U (Realtek RTL8812BU)を使うため
      • 壊れて認識されない内蔵無線LANデバイスの代わり
    • RTL8812BUのLinux用ドライバーソフトウェアは、GitHubでソースを入手して自分でビルドして導入する
      • fastoe社が同一チップ搭載の自社製品向けに開発したと思われるドライバプログラムがGitHubで公開されている
      • 電子署名付きドライバではないため、SecureBoot環境では導入できない(と思っている)
  3. 基本的に英語 (US English) 環境としてセットアップしつつ日本語入力も可能にする
    • ソフトウェア開発用で主にCUIで操作するため、フォルダ名やメッセージが日本語になったりするのは避けたい

OSインストール

Ubuntu 22.04 LTS (Desktop 版) を使用した: releases.ubuntu.com

  1. まずUbuntu 22.04 LTS (Desktop版) のISOイメージをダウンロード
  2. rufus でUSBメモリー(SanDisk UltraFit)にディスクイメージを書き込む
    • SSD/HDDとして認識されるタイプではなく、リムーバブルメディアとして認識されるタイプを使う
  3. ThinkPadにUSBメモリーを挿して起動
    • F12でブートメニューを表示してUSBメモリーを選択
  4. 英語でインストール作業を進める。注意したオプションは:
    • "Keyboard layout"
      • このThinkPadは物理的に日本語配列なので、素直にキーボード配列を"Japanese"に変更
    • "Updates and other softwares" では以下にチェックを入れた(ドライバー周りでの手間は最小限に抑えたかったので)
      • Download updates while installing Ubuntu
      • Install third party software for graphics and WiFi hardware and additional media formats

USB無線LANドングルのセットアップ

前述の通りfastoe社のドライバーソフトウェアをビルドしてインストールする。 それにあたって最低限のソフトウェア開発ツールが必要なので、それらのセットアップも同時に行う。 なお以下に書いてある手順は本日2022年4月24日時点で下記レポジトリのREADMEに書かれている内容そのものであり、特別な追記や変更は無い。

github.com

  1. インストール手順を決めるためuname -rを実行
    • Linuxカーネルのバージョンは5.15.0-25-generic だったので、READMEの "5.11 or later" の手順で進めることにした
  2. 後で使うことになるパッケージ群を sudo apt install -y build-essential git dkms bc を実行してインストール
  3. fastoe社のドライバーソフトウェアのソースをダウンロードし、ビルド・インストールを実行(個人的趣味で ~/src に clone した)

    git clone https://github.com/fastoe/RTL8812BU.git ~/src/RTL8812BU
    cd ~/src/RTL8812BU
    git checkout v5.8.7
    make
    sudo make install
    
  4. OSを再起動

再起動後にログインすると、タスクバー(?)にWi-Fiのアイコンが出てきた。 これをクリックし、Windowsやmacと同様にSSIDの選択とパスワードの入力を行ってセットアップを完了。

CapsLock を Left Ctrl と解釈させる

個人的な好みに従い、CapsLock キーを Left Ctrl キーとして認識させるようにする。 これを実現する方法はいくつかあるけれど、ログインユーザーに関わらずシステムワイドに設定が有効となるように /etc/default/keyboardXKBOPTIONS を以下のように変更する方法を採用した。

$ cat /etc/default/keyboard
...
#XKBOPTIONS=""
XKBOPTIONS="ctrl:nocaps"
...

このファイルは /etc 下なので root 権限で書き換える。書き換え後、ログアウト&ログインでこの設定は有効化される。

日本語入力環境 (fcitx5-mozc) のセットアップ

Linuxをメインに使ってきていないこともあり、日本語入力システム周りの事情はあまり詳しくない。 軽く調べたところWayland環境で使うならばfcitx5(ファイティックス5)が良さそうだった。 日本語変換ソフトウェア自体は、まあソフトウェア開発機であれば使えれば良いということで、深く考えずmozcを選択。

具体的な手順は以下の通り。

  1. sudo apt install -y fcitx5-mozc で fcitx5-mozc をインストール
  2. GNOMEの設定を変更すべく、Settings アプリを起動
  3. "Language & Region" を選択し、"Manage Installed Languages" ボタンを押す
  4. "Language Support" 画面が表示された直後に "The language support is not installed completely" とメッセージが出てくるので "Install" ボタンを押す 1.インストール完了後、そのまま "Language Support" 画面で "Keyboard input method system" 欄を "Fcitx5" に変更
  5. OSを再起動(ログアウト&ログインではダメだった)
  6. 再起動後にログインすると、タスクバー上にキーボードのアイコンが表示されるので、それをクリックして "Configure" を選択
  7. "Fcitx Configuration" 画面の "Input Method" タブが表示され、 画面左側 "Current Input Method" に "Keyboard - English (US)" だけがリストアップされている状態になっていた。 日本語配列でセットアップする方針できたので、基本的に日本語配列で操作する形でセットアップする
    • まず "Select system keyboard layout" ボタンを押すと表示される "Select default layout" 画面で "Layout" 欄を "Japanese" に変更して "OK" を押す。
    • 「レイアウトの設定が整合性取れてないよ、整合性取れるようレイアウト追加する?」と警告が出るので、 Yes を押す → "Current Input Method" の一覧に "Keyboard - Japanese" が追加される
    • さらに、画面右側 "Available Input Method" から "Japanese" で絞込検索をかけて "mozc" を選択し、< ボタンを押して Current Input Method の一覧に追加する
    • 最後に、Current Input Method の一覧で "Keyboard - English (US)" を選択して > を押して削除する
    • 最終的に、"Keyboard - Japanese" と "mozc" だけが Current Input Method にリストアップされた状態になった

以上で、ごく普通のWindows環境と同様に「半角/全角」キーで日本語入力のON/OFFを切り替え可能な状態になった。

追加の日本語入力設定

ごく個人的な好みに従って、「変換」キーで日本語入力をONに、「無変換」キーで日本語入力をOFFにする設定を行う。

  1. タスクバーのキーボードアイコンから Configureを選択して "Fcitx Configuration" 画面を表示する
  2. "Global Options" タブを開いて「変換」キーと「無変換」キーを日本語入力のON/OFFに割り当てる
    • "Activate Input Method" の行にある + ボタンを押し、追加された "Empty" と書かれたボタン(?)をクリック、 キー入力待ち状態に入るので「変換」キーを押下
    • 同様に "Deactivate Input Method" のキーとして「無変換」キーを追加
  3. 他の用途で使いたいので "Trigger Input Method" から「Ctrl+Space」を削除

ディスプレイスケーリングを150%にする

  1. Settingsアプリを起動
  2. "Displays" を選択し、"Fractional Scaling" を有効化する
  3. "Scale" 欄で倍率を細かく指定できるようになっているので、150%を選択

これで、一通りセットアップできたように思える。少しの間、これで使ってみよう。