本記事は以前はてなブログに投稿していた記事の内容を加筆修正して移行したものです。
なぜThink Padを選んだのか?
前まではAsusのラップトップを使ってWinsows11とArch Linuxをデュアルブートしていましたが、11th Core i3 の2コア4スレッドのマシンでは流石に力不足を感じ、
もう少しパワーのあるラップトップのマシンが欲しくなったので、新しいマシンとしてThinkPad E14 Gen5を購入しました。
スペックですが、CPUは13th Gen Intel(R) Core(TM) i5-13500H (16) @ 4.70 GHzメモリは16GBです。
ThinkPadを選択した理由としてはLinuxを動かすならThinkPad! と言えそうなくらい情報がたくさんインターネット上にあることと、 数少ないUS配列のラップトップの候補であることの二点です。(他だとDELLかApple(mac)くらい)
このマシンはnvme SSDを二枚載せることが可能なので、デフォルトで載っている方をWindows11用にしてもう一方にはLinuxを入れてデュアルブート構成で使うことにしました。 ちなみにWindowsのライセンスは普通のHome版を選択しました、何回かpro版も考えましたが、やっぱり高いと感じたのでやめました。
Arch Linuxをインストールする
SSDを追加
このマシンでややこしいのがnvme SSDの規格が通常の2280 mmのものではなく一回り小さな2242 mmサイズであることと、スペースの問題から片面実装であるものが必要であった点です。
それっぽいのをamazonで調べるとThinkPadユーザーの方々はTransendの製品を使用しているようなので、筆者もそちらの512GBのものを購入しました。
ThinkPadは公式から保守マニュアルが用意されているので裏蓋を開けてssdを追加すること自体は特に問題なく行うことができました。
ディスクの暗号化の解除
Arch Linuxをインストールメディアから起動するためにはセキュアブートを無効化する必要があります。 しかし、いざUEFIメニューからセキュアブートを無効化してWindowsが起動しようとするとBitLockerの回復キーを求められました。
最近のWindowsマシンでは、デフォルトでBitLockerによるディスクの暗号化がされているようです。 Pro版だけだと思ってましたが、BitLockerによるディスクの暗号化はHomeでも可能なようです。
このBitLockerですが、セキュアブートが無効化されている場合は回復キーを入力しないと起動できません。 ですので、今回は無効化しました。(追記 @ 2025 12/26 現在はLinux(NixOS)側でもLuksによるディスク暗号化とセキュアブートを設定してWindows側のBitLockerは有効化しています。)
いざinstall
最近は全部自分で作業しなければならないこれまでのスタイルに加えてTUIのインストラーであるArch installが登場したみたいですが、今回もこれまで通り手動でインストールを行ないました。
デスクトップ環境はwaylandのコンポジッターであるSwayを入れてフルスタックなデスクトップ環境は(Gnome,Kde,Xfecなど)入れない構成にしました。
ハマった点
Arch Linuxのインストールもデスクトップ環境の構築も初めてではないのでメモ書きをもとに出来たのですが、オーディオ関係やpolkit周りで少しハマりました。
1: オーディオ
参考:
- pipewire: Arch Wiki
- pipewire: Gentoo Wiki
- UbuntuにPipeWireを入れて見る
- Fedora34 「音がならない!」で困ったら
- arch wiki alsa
まず、alsa-utilをインストールしました。
これまではpulsaudioを入れていましたが、今回はpipewireを入れました。
pulseaudioとの互換性からpipewire-pluseも追加でインストールしました。
しかし、音が出ませんでした!(出力先がダミーになってしまう!)
alsamixerを起動しようとすると、サウンドカードが見つからない!と出てしまいました。
そこで症状でググると以下のフォーラムを発見しました。 Archlinux cannot find my sound card.
ここでは
We’re gonna need some more info to go on, have you explicitly installed PulseAudio? If not you’re using ALSA. How do you know it can’t find your sound card, are you saying this just because there’s no audio playing or some other reason? What’s the output of lspci | grep -i audio? It maybe possible you need either (or both of) alsa-firmware or sof-firmware via this link
とあったのでalsa-firmwareとsof-firmwareを一個づつインストールして試したら、sof-firmwareを入れたことでサウンドカードが認識されてちゃんと音が出ました。
無事音が出るようになったので以下を~/.config/sway/configに以下を書き込んでF1でミュート/ミュート解除,F2で音量downF3で音量upできるようにしました。
|
|
2: Polkit
インストール中というよりもしばらく使ってからですが…
polkitは、Dropboxのような権限管理の必要なアプリケーションを運用するために必要です。
しかし、Arch WikiのPolkitの記事を読むと、KDE,GNOMEのようなフルスタックなデスクトップ環境をインストールする場合は適切に設定されていることがほとんどですが、Swayの場合は自分で設定することが必要です。
具体的には以下のような記述があります。
グラフィカル環境を使っている場合、グラフィカルな認証エージェントをインストールし、(xinitrc を使うなどして) ログイン時に自動で実行されるようにしてください。 Cinnamon、Deepin、GNOME、GNOME Flashback、KDE、LXDE、LXQt、MATE、theShell、Xfce には初めから認証エージェントが入っています。 他のデスクトップ環境を使っているときは、以下の実装からどれか一つを選ぶ必要があります:
今回は、polkit-gnomeを選択し、自動で起動するように~/.config/sway/configに
|
|
を書いて自動で起動するようにする設定しました。
この設定でDropboxのクライアントは普通に動いたのですが、root権が必要なGUIアプリの場合、polkit-gnomeを入れてSwayのコンフィグから自動起動するようにしてもパスワードを入力するwindowは出ても起動には失敗して起動できませんでした。
まず、以下を実行して調査してみると、polkit,polkit-gnomeは共に確かに起動してることは確認できました。
|
|
CLIでpasswordを要するコマンド例えばdockerのデーモンを起動する
|
|
では、パスワード用のwindowが出てパスワード入力 -> 無事デーモンが起動するのですが…
症状でググった結果同じような症状を発見しました。
結論としてはxorg-xhostが必要とのことです。というのもpolkitが入っていてもwayland自体は対応しないためです。
|
|
これで解決です。
3: ポインティングデバイスの設定
特にハマったりはしませんでしたが、毎回似たような設定のやり方を忘れたので備忘録として書いて置きます。
~/.config/sway/configに以下のように設定すればトラックパッドでクリックができます。
|
|
さらに、ThinkPad特有の赤色のトラックポイントはデフォルトでは加速度が考慮されて使いにくく感じたので
|
|
と設定して加速度が考慮されないようにしました。
まあトラックポイントはあんま使っていないのですが…
インストールしたツール
ここではインストールしているツールについて軽く紹介します。
1: ログインマネージャー
これまではコンソールから手動でSwayを起動していましたが、現在はRust製のTUIのログインマネージャlemursを使っています。 シンプルかつ軽量で気に入っています。
2: バッテリー管理
まずtlpをインストールしてデーモンを設定します。
|
|
電源に繋がっていない場合にCPUのクロックの制限をかけたりすれば、バッテリー持ちを良くすることが可能です。 一時期前のAsusのラップトップでは設定していましたが今は設定してないです。
ThinkPad E14 Gen5の場合ではtpacpi-batをインストールすることでバッテリーの充電のしきい値を設定できます。
設定はArch Wikiの記事を参考にしました。
|
|
以下のコマンドで現在のしきい値を見ることができます。
|
|
ここでは充電を80%で終了し、70%以下にまで減った場合に充電を開始するように設定しました。
|
|
3: ディスプレイのlock
参考:
swaylockのフォークのswaylock-effectsを使っています。
|
|
インストールをしたあとで.bashrcに適当なエイリアスを設定すればOKです。
|
|
4: WiFi接続
これまでは、netctlを使っていたのですが、iwctlを試しに使ってみたらこっちの方が便利に感じたのでこっちに変えました。
5: ファイルマネージャ
thunarを使っています。というのもXfce環境を長いことを使っていて使い慣れているからです。
シンプルかつ必要十分という印象です。
6: 日本語入力
自分は設定言語は英語にして、そこに日本語入力を追加する形で運用しています。
日本語入力にはfcitx5-mozcを使っています。
特に強いこだわりがあるわけではないので初めてArch Linuxをインストールしたときと同じものを使っています。
7: ターミナルエミュレータ
Xfce terminalを使っています。これもXfceデスクトップを長いこと使って使い慣れているためです。
一回Weztermも試したのですが、設定をLuaで書いていくスタイルは気に入ったのですが、日本語入力関係の設定の不具合を直せず結局Xfce terminalに戻ってきました。
8: エディタ
普段はエディタはNeovimを使っています。LSPやファイラーも設定して快適な環境です
。
しかし、Gitのブランチの様子を見るのにはVsCodeの拡張が便利だったりするのでVsCodeも入れていいます。
9: バー
- 参考
waybarを使っていいます。バッテリー残量、Wifi,インプットメソッド等が見れて便利です。
|
|
まずデフォルトの設定は/etc/xdg/waybarにあるので~/.config/にコピーします。
|
|
このままではデフォルトのsway-barが表示されたままで、waybarは表示されないので~/.config/sway/configの項目barを以下のように編集しました。
|
|
ここで重要なのはstatud_command,position topをコメントアウトして、swaybar_command waybarを追加することです。
この設定を終えた後で,Super + Shift + C(デフォルトの設定)で~/.config/sway/configを再読込すると上部にbarが表示されます。
しかし、私の環境では絵文字が文字化けしてしまいました。
これは、awesome-fontを入れることで解決できました。
|
|
デフォルトではたくさん表示されてごちゃごちゃしているので、設定ファイル~/.config/waybar/configのを編集して必要なものみを表示するように変更しました。
今回は"height",“width”,“modules-left”,“modules-center”,“modules-right"のみを以下のように編集しました。
|
|
デフォルトの配色は自分好みではないので~/.config/waybar/style.cssを編集して好みの色になるようにしました。
10: ランチャー
rofi-lbon-wayland-onlyを使っています。
これはrofiのwayland対応版です。
元々はXfceのランチャーを使っていて、流石に変えたいなと思っていたので rofi-lbon-waylandを使っていたのですが途中で挙動がおかしくなったので rofi-lbon-wayland-onlyに変えました。
|
|
まず、デフォルトの設定ファイルを生成するために以下のコマンドを実行します。
|
|
設定箇所はたくさんありますが、今回はconfiguration {}のうち以下の部分を設定しました。
|
|
また、ショートカットキーで起動するようにするため~/.config/sway/configに以下を書き足しました。
|
|