アップルをはじめとして、最近スペックがそこそこ良いPCがわけわからないくらい高くなり、誰でも使える個人用のコンピュータというPersnal Computerの趣旨と乖離しています。独断と偏見ですが、せっかく数十万円でPCを購入したのにもかかわらず、
- パーツ交換不可なので、数年後は電子ゴミになり、自然環境に優しくない
- 不要なソフトウェア・サービスが多い(たとえば、2022年なのに、バージョン管理非対応のクラウドサービスiCloudが大きなシェアを占めているっていう皮肉)
- なんとかStoreの通知がうるさい。利用するのにアカウント(個人情報)が必要
- プライバシー侵害問題
- …
別にゲーマーではないですが、数十万払ったのに自由が奪われる感じがどうしても気に入らないので、自作PCからLinuxの開発環境を構築することにしました。
ハードウェア
秋葉原まで行く元気がなかったので、すべてのパーツはAmazonやメルカリから購入することにしました。また、PCパーツの価格変動が激しいのでkeepaのメール通知機能を活用すると簡単に低価格でお気に入りのパーツ狙えます。 https://keepa.com/
最終的に以下のパーツを買いました。
| Model | Price | |
|---|---|---|
| Motherboard | ASUS Intel B560M-A | ¥10,563 |
| CPU | Intel Core i5 10400 | ¥18,943 |
| GPU | ASUS GTX 1650-4G DUAL | ¥21,500 |
| Power | 玄人志向 KRPW-BK 80PLUS Bronze 750W | ¥5,535 |
| Memory | KLEVV DDR4 2666 PC4-21300 8GB*2 | ¥7,002 |
| Storage | Crucial SSD 500GB MX500 | ¥5,980 |
| CPU Cooler | CPUクーラー 虎徹 Mark II | ¥3,400 |
| Case | SAMA 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を作成
- 公式から
Ubuntu 22.04 LTSをダウンロードします。
- USBを他のPCに挿し込んで、デバイス名(例えば
/dev/sdd)を確認します。
sudo fdisk -l
- ddコマンドを実行します。
sudo dd if={YOUR_ISO_NAME} of={YOUR_DEVICE_NAME} bs=1M status=progress
なお、bs=1Mというのは一度に読み書きするサイズを1MBにするという意味です。
- 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 driver
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を自作し、開発環境を構築しました。 以上
Comments