アップルをはじめとして、最近スペックがそこそこ良いPCがわけわからないくらい高くなり、誰でも使える個人用のコンピュータというPersnal Computerの趣旨と乖離しています。独断と偏見ですが、せっかく数十万円でPCを購入したのにもかかわらず、

  • パーツ交換不可なので、数年後は電子ゴミになり、自然環境に優しくない
  • 不要なソフトウェア・サービスが多い(たとえば、2022年なのに、バージョン管理非対応のクラウドサービスiCloudが大きなシェアを占めているっていう皮肉)
  • なんとかStoreの通知がうるさい。利用するのにアカウント(個人情報)が必要
  • プライバシー侵害問題
  • …

https://www.theguardian.com/world/2021/oct/15/apple-plan-scan-child-abuse-images-tears-heart-of-privacy

別にゲーマーではないですが、数十万払ったのに自由が奪われる感じがどうしても気に入らないので、自作PCからLinuxの開発環境を構築することにしました。

ハードウェア

秋葉原まで行く元気がなかったので、すべてのパーツはAmazonやメルカリから購入することにしました。また、PCパーツの価格変動が激しいのでkeepaのメール通知機能を活用すると簡単に低価格でお気に入りのパーツ狙えます。 https://keepa.com/

最終的に以下のパーツを買いました。

ModelPrice
MotherboardASUS Intel B560M-A¥10,563
CPUIntel Core i5 10400¥18,943
GPUASUS GTX 1650-4G DUAL¥21,500
Power玄人志向 KRPW-BK 80PLUS Bronze 750W¥5,535
MemoryKLEVV DDR4 2666 PC4-21300 8GB*2¥7,002
StorageCrucial SSD 500GB MX500¥5,980
CPU CoolerCPUクーラー 虎徹 Mark II¥3,400
CaseSAMA JAX-03W (second hand)¥4,480
LAN cable¥945
Total¥78,348

あくまで筆者の例ですが、他のパーツに替えても全然問題がありません。パーツ間の互換性と電源容量だけ気をつけてください

完成!!! パーツをマザーボードに突っ込むだけの作業なので、そこまで難しくはないです。

ハードウェアの環境構築を完了したので、これからソフトウェアの環境構築に入ります。

OS: Ubuntu 22.04

なぜ22.04

最近の暗黙的なルールだと偶数年4月(22.04, 20.04.4, 18.04.6)以外のバージョンはLTSではないので、特別な理由がない限り使うのをおすすめしません。せっかくなので最新LTS 22.04 Jammy Jellyfishをインストールします。今度はArch Linux系も挑戦してみたいですね 余談ですが、今年1月まで使っていた21.04のサポートが切れたので、21.10にアップグレードしようとしたら、OS自体が崩壊しました()

https://wiki.ubuntu.com/Releases

Bootable USBを作成

  1. 公式からUbuntu 22.04 LTSをダウンロードします。

https://releases.ubuntu.com/

  1. USBを他のPCに挿し込んで、デバイス名(例えば/dev/sdd)を確認します。
sudo fdisk -l
  1. ddコマンドを実行します。
sudo dd if={YOUR_ISO_NAME} of={YOUR_DEVICE_NAME} bs=1M status=progress

なお、bs=1Mというのは一度に読み書きするサイズを1MBにするという意味です。

  1. USBに組み立てたデスクトップPCに挿し込んで、ガイダンスにしたがって20分前後インストールが完了します。

まずBIOSの設定で、USBから起動するように設定しておきましょう。 その後、インストールの際には、Minimal InstallとNormal Installの2つのオプションがありますが、 筆者自身は余計なソフトウェア一切いらないので、Minimal Installを選んでOSをインストールしました。

必要最小限の設定

開発環境を構築する前に、必要最小限なソフトウェアを入れておきましょう。

システムアップデート

sudo apt update
sudo apt upgrade

Wifiドライバー

2024/04/26追記: sudo apt upgradeを実行するとTP-Link Archer T3U系のドライバがインストールされるようになりました。もし、インストールされていない場合は、下記の手順を実行してください。

デスクトップから自宅のルーターの距離が遠いので、USB無線LAN子機を購入しました。しかし、デフォルトのドライバーは想定通りにLinux非対応です。 GitHubでLinux Driver for USB WiFi Adaptersで検索してみたら、下記のLinux用ドライバーを見つけました。しかも最近もバリバリ開発されているようなので、早速入れることにしました。USB無線LAN子機によっては、下記のドライバーが使えない場合もあるので、その場合は別のドライバーを探してください。

RTL8812BU and RTL8822BU Chipsets

https://github.com/morrownr/88x2bu-20210702

README.mdにしたがって、スクリプトでインストールします。

sudo apt install -y dkms git build-essential
git clone https://github.com/morrownr/88x2bu-20210702.git
cd 88x2bu-20210702/
sudo ./install-driver.sh

TP-Link Archer T3U系の場合は、下記のリポジトリを使います。

Clone the repository

sudo apt install git dkms rsync build-essential bc
git clone https://github.com/cilynx/rtl88x2bu.git
cd rtl88x2bu

Install

VER=$(sed -n 's/\PACKAGE_VERSION="\(.*\)"/\1/p' dkms.conf)
sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}
sudo dkms add -m rtl88x2bu -v ${VER}
sudo dkms build -m rtl88x2bu -v ${VER}
sudo dkms install -m rtl88x2bu -v ${VER}
sudo modprobe 88x2bu

入力ソース

sudo apt install ibus-mozc
sudo apt install ibus-libpinyin
gsettings set org.gnome.desktop.input-sources sources "[('ibus', 'mozc-jp'), ('ibus', 'libpinyin'), ('xkb', 'us')]"

gsettings set com.github.libpinyin.ibus-libpinyin.libpinyin double-pinyin true
gsettings set com.github.libpinyin.ibus-libpinyin.libpinyin double-pinyin-schema 5
gsettings set com.github.libpinyin.ibus-libpinyin.libpinyin init-simplified-chinese false
gsettings set org.freedesktop.ibus.general.hotkey triggers "['<Control>space']"
gsettings set org.gnome.desktop.peripherals.mouse natural-scroll true

Terminal

ghosttyのファンなので、入れます。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/mkasberg/ghostty-ubuntu/HEAD/install.sh)"
mkdir -p ~/.config
printf '%s\n' 'com.mitchellh.ghostty.desktop' > ~/.config/xdg-terminals.list

config

window-height = 40 
window-width = 160
command = /opt/homebrew/bin/fish
window-theme = auto
faint-opacity = 0.75
term = xterm-256color
auto-update = check
font-family = Osaka-Mono
font-size = 14
theme = TokyoNight Night

Start Your Voyage

8万円未満でそこそこ良いGPU付きのPCを自作し、開発環境を構築しました。 以上