Ubuntu Desktop 24.04.2 LTS on MacBook Pro 設定メモ
古いMacBook Proに Ubuntu Desktop を入れて最低限使えるように設定したときのメモ
他にも記事はいっぱいあるが、自分用の記録として残す。
逐次追記していく。
| 機種 | MacBook Pro 2017 |
| 型番 | A1708 |
| OS | Ubuntu 24.04.2 LTS |
ctrl2cap
好みの問題で、CapsLockキーをCtrlキーとして動かしたかったので設定する。
Windowsには ctrl2cap というプログラムがあるが、Ubuntuの場合は Tweaks というアプリで設定できる。
インストール
$ sudo apt install gnome-tweaks
キーボード > 追加のレイアウトオプション

Ctrl position > CapsLockをCtrlとして扱う or CtrlとCapsLockを入れ替える

日本語入力環境
fcitx5 の設定
最近のUbuntuは X11 から Wayland に移行しているらしく、Ubuntuデフォルトの入力フレームワークである ibus は Wayland と相性が良くないらしい。
代替の fcitx5 というフレームワークを使えば良いらしいので、とりあえずインストール
$ sudo apt install fcitx5 fcitx5-mozc
言語サポート アプリの キーボード入力に使うIMシステム で Fcitx5 を選択。


ここでリログしてみたが、どうやら fcitx5 が自動起動していなさそうだった。
アプリの自動起動設定にも Tweaks が使えるので、以下設定

リログすると、ステータスバーにキーボードアイコンが見え、自動起動に成功していた。
アイコンをクリックして、Fcitxの設定画面を起動。

現在の入力メソッド を以下のように設定。

しかしまだ入力切替が動かない。
fcitx5の診断コマンド fcitx5-diagnose を叩いてみると、関係ありそうなエラー文が出た。
$ fcitx5-diagnose
......
## Xim:
1. `${XMODIFIERS}`:
**環境変数 XMODIFIERS は、@im=fcitx ではなく @im=ibus です。いずれかのinitファイルで誤ってエクスポートしていないか確認してください。**
**お使いのディストリビューションが用意しているツールで環境変数 XMODIFIERS に '@im=fcitx' を設定するか、直接`~/.xprofile` に `export XMODIFIERS=@im=fcitx` を書き加えてください。詳しくは [入力メソッド関連の環境変数:XMODIFIERS](http://fcitx-im.org/wiki/Input_method_related_environment_variables#XMODIFIERS) を参照してください**
**`gnome>=3.6` を使っている場合、 `ibus` 以外の入力メソッドを使うためには `ibus` をアンインストールするか `ibus-daemon` を削除します。 他の解決方法の詳細は [GNOME 3.6 以降の注意](http://fcitx-im.org/wiki/Note_for_GNOME_Later_than_3.6) を参照してください。**
環境変数から取得した XIM サーバー名は ibus です。
2. ルートウィンドウでの XIM_SERVERS :
XIM サーバー名は環境変数で設定されたものと同じです。
## Qt:
1. qt4 - `${QT4_IM_MODULE}`:
**環境変数 QT_IM_MODULE は、fcitx ではなく ibus です。いずれかのinitファイルで誤ってエクスポートしていないか確認してください。**
**Fcitx を使っている プログラム qt4 で問題が発生しています。**
**お使いのディストリビューションが用意しているツールで環境変数 QT_IM_MODULE に 'fcitx' を設定するか、直接`~/.xprofile` に `export QT_IM_MODULE=fcitx` を書き加えてください。詳しくは [入力メソッド関連の環境変数:QT_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables#QT_IM_MODULE) を参照してください**
**`fcitx5-qt4-immodule-probing` は見つかりません**
......
エラー文の通り ~/.xprofile に以下記載してもう一度リログしてもまだ動かなかったので、
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
同じものを /etc/environment に記載して試すと、ようやくターミナル等で日本語入力ができるようになった。
Chromeで日本語入力
上記設定が終わっても、Chrome等のWayland環境にデフォルト応していないアプリではまだ日本語入力ができない。
Chromeの場合、 chrome://flags からいくつか設定変更する必要がある。

Preferred Ozone platform: Wayland
Wayland text-input-v3: Enabled
以上で、自分が普段使うアプリでの日本語入力環境が整った。
変換候補ポップアップの表示位置修正
日本語入力できるようにはなったが、たまに変換候補を表示するポップアップの表示位置がおかしいことがあるので、これを修正する。

GNOME Shellの拡張機能管理アプリをインストール
$ sudo apt install gnome-shell-extension-manager
アプリを起動し、探す タブから Input Method Panel を検索しインストールするだけ。

サウンド周り
イヤホンジャックに刺したスピーカーから音を出そうと思ったが、単にOSをインストールしただけだと音が出なかった。
設定アプリのサウンドセクションを見ても、出力デバイスの選択肢にHDMI接続のモニタしか表示されない。

※ 上記は解決後のスクショだが、ここに HDMI/DisplayPort しか表示されなかった
イヤホンジャックに刺したデバイスを認識させるために、以下のサウンド用カーネルドライバをインストールする。
# 必要なカーネルソースをインストール
$ wget http://security.ubuntu.com/ubuntu/pool/main/l/linux/linux-source-6.11.0_6.11.0-26.26_all.deb
$ sudo apt install ./linux-source-6.11.0_6.11.0-26.26_all.deb
# ドライバのインストール
$ git clone git@github.com:davidjo/snd_hda_macbookpro.git
$ cd snd_hda_macbookpro
$ sudo ./install.cirrus.driver.sh
再起動すると上記のスクショのように候補に アナログヘッドフォン が表示され、これを選択すると音が出た。
Bluetooth接続が不安定な問題
キーボードやマウスをBluetoothで接続していると、しばらく放置したりデバイスの電源をON/OFFしたりで接続が不安定になる。
/etc/bluetooth/input.conf 内の項目 UserspaceHID を編集し bluetooth サービスを再起動すると、安定するようになった。
# Enable HID protocol handling in userspace input profile
# Defaults to false(hidp handled in hidp kernel module)
UserspaceHID=true
Discussion