最強のLinuxノートを作る
この記事は、TUT Advent Calendar 2024 11日目の記事です。 昨日の記事は、 い。さんの「専門外への就職、そして」でした。
はじめに
B3 3系のDDliaと申します。一昨年、昨年に引き続き第二水曜日に投稿します。わたしについてはAboutをご覧ください。 今回は最強のLinuxノートを作ります。
きっかけ
同じコンピュータクラブ、音楽技術部、総合文化部喫茶部門に所属しているExflikt先輩のArch Linux + Hyprland を積んだノートPCを見て前からいいな〜と思っていました。改めて考えてみると音楽技術部の本番環境がKubernetes上で動いていたり、自宅にKubernetesクラスタが生えたりとここ最近コンテナの開発をすることが多く、本格的にLinuxを積んだノートPCが欲しくなってきました。WindowsだとWSL2、MacだとQEMU上でLinuxを動作させてコンテナを動作させますが、Linuxであればネイティブに動作させることができます。
マシンの選定
Exflikt先輩のThinkPad x240を見て前からいいな〜と思っていたので、ThinkPadは確定です。ノートPCを買うなら小さい子が良いので12.5インチ/13.3インチなxシリーズへ自動的に決まります。魔改造(後述)したかったのでメモリやSSD等の交換が可能なx270を中古で調達することにしました。メルカリで13000円。
パーツ・周辺機器の購入
全部で27000円弱でした。本体合わせて40000円弱。
メモリ
初期搭載メモリは4GBです。絶対に足りないので32GBに増やします。Kingston製のDDR4メモリ、8438円。大容量メモリもだいぶ安くなりましたね。
SSD
初期搭載はHDD500GBです。SSDに載せ替えます。キオクシア製のSATA SSD、4980円。
キーボード
JISキーボードをUSキーボードに載せ替えます。AliExpressで14.66ドル。
バッテリー
ThinkPad x240 ~ x270は内蔵型バッテリーと着脱可能バッテリーの2種類が搭載されており、PCを稼働させながらのバッテリー交換ができます(ホットスワップ)。標準では3セルの着脱可能バッテリーが搭載されていますが、講義室で電池が切れかけたとき用に互換品の6セルの着脱バッテリーを追加購入しました。4790円。
ThinkPad Pro Dock
ThinkPad自体拡張端子が豊富なのであまり困ることはないのですが、VGAやDisplayPortを扱いたい場合があるので買いました。Amazonで3010円。 DisplayLinkという面白そうな機能も付いているので気が向いたときに遊びます。
ThinkPad PD 変換アダプタ
USB PDからNEC/Lenovo用の電源プラグに変換してくれるアダプタです。x270はUSB PDによる電源供給にも対応していますが、1ポートしかないUSB-Cポートを消費してしまうのは勿体ないので電源コネクタも使えるようにしておきます。
ThinkPad 12インチ スリーブケース
ThinkPad純正のスリーブケースです。学割が適用されて1760円でした(Lenovo直販)。
魔改造
ThinkPad T430も持っていて、これは簡単にあらゆるパーツを交換できた記憶があるのですが、x240以降は意外と大変でした。キーボードの交換をする場合はマザーボードまで一度取り外す必要があります。
中を開けるとこんな感じ
メモリとHDDとキーボードを載せ替えます。キーボードが一番大変だった。
ついでにCPUグリスも塗り直しておきます。
ソフトウェアの選定
Exflikt先輩がHyprlandを使っていてタイル型ウィンドウマネージャをいいなーって思っていました。最初はDebianをベースにいろいろ突っ込んでいこうかと思いましたが、Exflikt先輩に相談したところFedora良いんじゃない?という助言を頂けたのでFedoraを使うことにしました。確かに自宅のサーバーはほぼRHELかRHELクローンで動作しているのでRHELのアップストリームであるFedoraはぴったりです。
嬉しいことにFedoraにはFedora Sway Spinというものが用意されているのでそれを使います。
OSのインストール
https://fedoraproject.org/spins/sway からOSイメージをダウンロードしてDVDやUSBに焼きます。 USBに焼くときはRufusなりEtcherなりを使うと焼けます。 USBを挿してからThinkPadの電源を投入し、Enterを押した後にF12を押してUSBからブートします。ネットワークやディスク、ユーザの設定をしてインストールします。
つかいかた
- Windowsキー + d でランチャーの起動
- Windowsキー + 数字 で仮想デスクトップの切り替え
- Winsowsキー + Shift + 数字 でウィンドウを別の仮想デスクトップに
- Windowsキー + 矢印 でウィンドウの切り替え
- Windowsキー + Shift + 矢印 でウィンドウの移動
- Windowsキー + Enter でターミナルの起動
各種設定
ネットワーク
まず、インターネットに接続できないとアプリケーションのインストールも何もできないのでネットワークの設定を行います。 右上からwifiのアイコンを右クリックし、tutwifiに接続します。 tutwifiに接続する際は、以下のように設定した上で情報メディア基盤センターのアカウントを入力すれば接続できるはずです。
- Security: WPA/WPA2 Enterprise
- Authentication: Tunneled TLS
- No CA Certificate is requiredにチェックを入れる
- Inner Authentication: MSCHAPv2(no EAP)
アップデート
1
$ sudo dnf update
dnfを使います。RHELと基本的には同じなので助かります。
Vim・Gitのインストール
1
$ sudo dnf install vim git
日本語入力関連
fcitx5をインストールします。
1
$ sudo dnf install fcitx5 fcitx5-configtool fcitx5-mozc
Google Chromeのインストール
1
$ sudo dnf install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
Chromeをインストールしたら、Waylandで動作するように設定します。chrome://flags
を開いてPreferred Ozone platform
をWayland
に、Wayland text-input-v3
をEnabled
にします。
ターミナルのインストール
デフォルトでFoot
がインストールされていますが、私はKonsole
を使いたいのでインストールします。
1
$ sudo dnf install konsole
Swayの設定
/etc/sway/config
を~/.config/sway/config
にコピーして編集します。
1
2
3
$ mkdir -p ~/.config/sway
$ cp /etc/sway/config ~/.config/sway/config
$ vim ~/.config/sway/config
ThinkPadのトラックパッドとトラックポイントの設定をします。以下を追記します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
input type:touchpad {
dwt enabled
tap enabled
natural_scroll enabled
accel_profile adaptive
pointer_accel 0
scroll_factor 0.3
click_method none
}
input type:pointer {
accel_profile flat
pointer_accel 0.3
scroll_factor 0.5
}
fcitx5を自動起動させるために、以下も追記します。
1
exec fcitx5 -dr
Visual Studio Codeのインストール
1
2
3
4
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null
$ dnf check-update
$ sudo dnf install code
Podmanのインストール
コンテナといえばDockerが有名ですが、最近のRHELではPodmanが推奨されているのでPodmanを使います。
1
$ sudo dnf install podman podman-compose podman-docker
podman-docker
はDockerのエイリアスを提供します。
C/C++のインストール
実験でC/C++を使うのでインストールしておきます。
1
$ sudo dnf install gcc gcc-c++ g++
Javaのインストール
音楽技術部でJavaを使うことがあるのでインストールします。
1
$ sudo dnf install java-latest-openjdk
Q Light Controller Plusのインストール
音楽技術部の照明制御に使うのでインストールしておきます。
1
2
$ sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:mcallegari79/Fedora_40/home:mcallegari79.repo
$ sudo dnf install qlcplus-qt5
Cloudflare Zero Trust・cloudflaredのインストール
自宅のサーバーにアクセスする際に使います。
1
2
3
$ curl -fsSl https://pkg.cloudflareclient.com/cloudflare-warp-ascii.repo | sudo tee /etc/yum.repos.d/cloudflare-warp.repo
$ curl -fsSl https://pkg.cloudflare.com/cloudflared-ascii.repo | sudo tee /etc/yum.repos.d/cloudflared.repo
$ sudo dnf install cloudflare-warp cloudflared
できたもの
おわりに
いかがでしたでしょうか。最強のLinuxノートを作ることができました。Linuxを普段使いすることによって、より一層自宅サーバの運用やコンテナの開発が捗るようになりました。音楽技術部の裏側もほとんどがLinuxで動いているので、検証もしやすくなりました。今後もこのノートPCを使っていろいろと開発していきたいと思っています。
最後に、Exflikt先輩にはコンピュータクラブの部会や喫茶部門の活動日にLinuxデスクトップ環境についていろいろと教えていただきました。ありがとうございました。