Ubuntu 24.04で開発環境を作る。入れたツール16個と、それぞれを選んだ理由
Ubuntu 24.04 + Dell Inspiron 14でのWeb開発環境を全公開。Docker、VS Code、Python、uv、AWS CLI、LINEまで16ツールを選んだ理由とセットアップ手順つきで紹介
コラム
kkm
Backend Engineer / AWS / Django
私はふだんUbuntu 24.04でWeb開発をしています。端末はDell Inspiron 14 5445です。
この記事では、Ubuntuをクリーンインストールしたあとに入れているツール16個を、「なぜそれを使っているのか」の理由つきで全部紹介します。Web開発者なら案件を問わず必要になるものがほとんどですが、一部は現場次第で変わるものもあるので、その都度注記しています。
コマンドは全てコピペで動くようにしてあります。順番どおりに上から実行していけばセットアップが完了します。
| 項目 | 内容 |
|---|---|
| OS | Ubuntu 24.04.4 LTS (Noble Numbat) |
| デスクトップ | GNOME (Wayland) |
| 端末 | Dell Inspiron 14 5445 |
まずはブラウザと仕事道具を入れる
最初に入れるのは以下の4つです。全てUbuntuのアプリセンター(Ubuntu Software)からワンクリックでインストールできます。
- ▸ Google Chrome ― Firefoxがプリインストールされていますが、開発者ツールの使い勝手やChromeシェアの高さを考えるとChromeは必須です
- ▸ 1Password ― パスワード管理。API鍵やSSH鍵もここに入れています
- ▸ Slack ― 今の現場のコミュニケーションツールがこれなので入れています。現場によってはTeamsやDiscordの場合もあるでしょう
- ▸ Asana ― 同じく現場のタスク管理ツール。Jira、Backlog、Notionなど、ここは案件次第で変わるところです
USキーボードで日本語を打てるようにする
私はUSキーボード(英語配列)を使っています。プログラミングで多用する { [ : などの記号が打ちやすいからです。
Ubuntuで日本語入力するにはMozc(Google日本語入力のオープンソース版)を使います。Alt+`で英語・日本語を切り替えられるように設定します。
入力ソースの設定:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('ibus', 'mozc-jp')]"Alt+` を入力切替に割り当て:
# Alt+` で入力切替
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Alt>grave']"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Alt>grave']"
# Alt+` のウィンドウグループ切替を無効化(競合防止)
gsettings set org.gnome.desktop.wm.keybindings switch-group "['<Super>Above_Tab']"
gsettings set org.gnome.desktop.wm.keybindings switch-group-backward "['<Shift><Super>Above_Tab']"GNOMEにはもともと Alt+` にウィンドウグループの切替が割り当てられているので、そちらを別のキーに逃がしておかないと競合します。
Mozcをひらがなモードで起動する設定:
cat > ~/.config/mozc/ibus_config.textproto << 'EOF'
engines {
name : "mozc-jp"
longname : "Mozc"
layout : "us"
layout_variant : ""
layout_option : ""
rank : 80
}
active_on_launch: True
EOF
ibus write-cache && ibus restartこの設定をしないと、Mozcに切り替えるたびに「直接入力」モードで起動してしまい、もう一度ひらがなモードに変える手間が発生します。
コードエディタはVS Code
Visual Studio Codeはもはや説明不要だと思いますが、Ubuntuではaptで入れるのがおすすめです。Snap版もありますが、日本語入力との相性が悪いことがあります。
wget -qO- https://packages.microsoft.com/keys/microsoft.asc \
| gpg --dearmor | sudo tee /usr/share/keyrings/packages.microsoft.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] \
https://packages.microsoft.com/repos/code stable main" \
| sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null
sudo apt-get update
sudo apt-get install -y codeIntelliCodeは入れない
IntelliCode拡張(visualstudioexptteam.vscodeintellicode)はPylanceに統合済みです。入れると「IntelliCode サポートのアクティブ化で問題が発生しました」というエラーが出ます。
入れている拡張機能:
code --install-extension anthropic.claude-code
code --install-extension batisteo.vscode-django
code --install-extension donjayamanne.python-environment-manager
code --install-extension donjayamanne.python-extension-pack
code --install-extension kevinrose.vsc-python-indent
code --install-extension ms-ceintl.vscode-language-pack-ja
code --install-extension ms-python.debugpy
code --install-extension ms-python.python
code --install-extension ms-python.vscode-pylance
code --install-extension ms-python.vscode-python-envs
code --install-extension njpwerner.autodocstring
code --install-extension wholroyd.jinjaDjango + Pythonの開発がメインなので、Python系の拡張が多めです。Claude Code拡張も入れています。
コードレビューにGitKrakenを使っている
GitKrakenはGitのGUIクライアントです。月額数百円のコストがかかりますが、コードレビューはもうこれがないと回らないというくらい使っています。差分の表示が見やすく、ブランチの分岐やマージの履歴を視覚的に追えるので、レビュー時にコードの流れを把握するのが格段に楽になります。
wget -q "https://release.gitkraken.com/linux/gitkraken-amd64.deb" -O /tmp/gitkraken-amd64.deb
sudo dpkg -i /tmp/gitkraken-amd64.deb
sudo apt-get install -f -yDockerとDocker Composeを入れる
Dockerは今どきのWeb開発では避けて通れません。ローカルの開発環境をコンテナで動かすのはもちろん、本番デプロイもコンテナイメージで行うのが主流です。私の場合、AWS Lambdaもコンテナイメージでデプロイしています。ちょっとしたプチツールを作ったときも、Dockerで固めておけばPC環境を汚さずにすみます。
リポジトリの追加:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullインストール:
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugindocker-compose-plugin を一緒に入れれば docker compose コマンドが使えます。昔は別途 docker-compose をインストールする必要がありましたが、今はプラグインとして統合されています。
sudoなしで使えるようにする:
sudo usermod -aG docker $USERログアウトが必要
グループの変更を反映するには、一度ログアウトしてログインし直す必要があります。ターミナルを閉じて開き直すだけでは反映されません。
Dockerを日常的に使っていると、古いイメージやビルドキャッシュがどんどん溜まってディスクを圧迫します。私は2〜3日に1回、以下のコマンドで掃除しています。
docker system prune -a -f --volumes
docker buildx prune -a -f使っていないイメージ・コンテナ・ボリューム・ビルドキャッシュを全て削除するコマンドです。開発中のコンテナが動いていなければ問題ありませんが、必要なボリュームデータまで消えるので、本番データをローカルに持っている場合は注意してください。
GitとGitHub CLIを設定する
Gitはバージョン管理、GitHub CLI(gh)はターミナルからPRの作成やIssueの操作を行うためのツールです。
Git初期設定:
git config --global user.name "your-name"
git config --global user.email "your-email@example.com"user.name にはGitHubのユーザー名(プロフィールページのURLに表示される名前)を入れます。user.email にはGitHubアカウントに登録してあるメールアドレスを入れてください。この2つはコミット履歴に記録されるもので、GitHubのプロフィールとコミットを紐づける役割があります。メールアドレスを公開したくない場合は、GitHubが発行するnoReplyアドレス(Settings → Emails に表示される 数字+ユーザー名@users.noreply.github.com)を使うこともできます。
GitHub CLIのインストール:
sudo mkdir -p /etc/apt/keyrings
wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg \
| sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null
sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] \
https://cli.github.com/packages stable main" \
| sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt-get update
sudo apt-get install -y ghGitHubへの認証:
gh auth login
# → GitHub.com → HTTPS → Yes → Paste an authentication token
# トークン発行: https://github.com/settings/tokens
# 必要なスコープ: repo, read:org, workflowgh を入れておくと、ブラウザを開かなくても gh pr create でPRを作れたり、gh issue list でIssue一覧を確認できたりします。Claude Codeなどのツールも内部でghを使うので、入れておいて損はありません。
AWS CLIとGoogle Cloud SDKを入れる
私はだいたいAWSに統一しています。単に慣れているからです。ただ、BigQueryやGA4まわりの分析ではGCPを使うので、Google Cloud SDKも入れています。Azureがメインの人なら az cli になるでしょうし、ここは自分の案件で使っているクラウドに合わせてください。
AWS CLI v2:
curl -s "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o /tmp/awscliv2.zip
cd /tmp && unzip -qo awscliv2.zip && sudo ./aws/installGoogle Cloud SDK:
curl -sSL https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-x86_64.tar.gz \
-o /tmp/google-cloud-cli.tar.gz
tar -xzf /tmp/google-cloud-cli.tar.gz -C ~/
~/google-cloud-sdk/install.sh --quiet --path-update true --command-completion true
source ~/.bashrc認証とプロジェクト設定:
# ブラウザ認証
gcloud auth login
# デフォルトプロジェクト設定
gcloud config set project your-project-id
# アプリケーションデフォルト認証(BigQuery等のAPIアクセス用)
gcloud auth application-default loginAWSは aws configure か ~/.aws/credentials に認証情報を書きます。GCPは gcloud auth login でブラウザ認証する流れです。
DBeaverでデータベースを覗けるようにする
DBeaverはオープンソースのデータベースGUIクライアントです。PostgreSQL、MySQL、SQLiteなど、主要なデータベースに全て対応しています。
wget -q "https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb" -O /tmp/dbeaver-ce.deb
sudo dpkg -i /tmp/dbeaver-ce.deb
sudo apt-get install -f -yターミナルから psql でクエリを叩くこともできますが、テーブル構造を眺めたりER図を確認したりするにはGUIのほうが圧倒的に楽です。
Python環境を整える(pip + uv)
Ubuntu 24.04にはPython 3.12がプリインストールされていますが、pip と venv は別途入れる必要があります。
sudo apt-get install -y python3-pip python-is-python3 python3-venvpython-is-python3 は python コマンドで python3 が呼ばれるようにするパッケージです。これがないと、古いスクリプトやツールが python を見つけられずにエラーになることがあります。
パッケージマネージャとしては、pipに加えてuvを入れています。
curl -LsSf https://astral.sh/uv/install.sh | shuvはRust製の高速なPythonパッケージマネージャで、pipと互換性がありながらインストール速度が桁違いに速いのが特徴です。uv pip install でpipの代わりとして使えます。開発元はRuffやBlackでも知られるAstralです。
Node.jsとTerraformのバージョン管理
Node.jsとTerraformはプロジェクトによって必要なバージョンが異なるため、バージョン管理ツール経由でインストールします。
nvm(Node.jsのバージョン管理):
# nvm インストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# シェルに反映
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# Node.js LTS インストール
nvm install 22
nvm use 22
# 確認
node --version
npm --versionnvmを使えば nvm use 20 のようにプロジェクトごとにNode.jsのバージョンを切り替えられます。aptで直接入れてしまうとバージョン固定されるので、Web開発者ならnvm経由がおすすめです。
tfenv(Terraformのバージョン管理):
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 最新版をインストール
tfenv install latest
tfenv use latest
# 確認
terraform versiontfenvはTerraformのバージョン管理ツールです。インフラをコードで管理する案件がある場合は入れておきます。
Goを入れる
GoはGoogleが開発したプログラミング言語です。Pythonと比べてバイナリが1つにまとまる、並行処理が得意、実行速度が速いといった特徴があります。
Goはaptではなく公式の手順でインストールします。
# ダウンロード & インストール
curl -LO https://go.dev/dl/go1.26.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.26.1.linux-amd64.tar.gz
rm go1.26.1.linux-amd64.tar.gz
# パスを通す
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrc
# 確認
go versionバージョンを上げるときは、/usr/local/go を削除して同じ手順で入れ直すだけです。
# 古いバージョンを削除して新しいのを入れる
sudo rm -rf /usr/local/go
curl -LO https://go.dev/dl/go1.XX.X.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.XX.X.linux-amd64.tar.gz
rm go1.XX.X.linux-amd64.tar.gzClaude Code を入れる
Claude CodeはAnthropicが提供するAIコーディングアシスタントで、ターミナルから直接使えるCLIツールです。コードの生成、リファクタリング、テスト作成、Git操作まで、開発作業の大部分をターミナル上で完結できます。実際にこの記事もClaude Codeで書いています。
curl -fsSL https://claude.ai/install.sh | shネイティブバイナリが ~/.local/bin/claude にインストールされます。Node.jsは不要です。npm経由でもインストールできますが、ネイティブ版のほうが起動が速く、依存も少ないのでおすすめです。VS Code拡張版もありますが、CLIのほうがファイル操作やGit操作まで一気通貫でやれるので、私はCLI版をメインで使っています。
GNOMEキーリングの煩わしさを消す
Ubuntuを使っていると、ログインするたびに「デフォルトキーリングのロック解除」というダイアログが出てくることがあります。Chrome起動時やGitの認証時に表示され、毎回パスワードを求められます。
これを止めるには、デフォルトキーリングのパスワードを空にします。
- 「パスワードと鍵」アプリ(Seahorse)を開く
- 「デフォルトキーリング」を右クリック →「パスワードを変更」
- 現在のパスワードを入力し、新しいパスワードは空のまま「続行」
注意: セキュリティは下がります
キーリングが暗号化されなくなるため、保存済みの認証情報は平文で保持されます。個人PCなら実用上問題ありませんが、共有PCでは非推奨です。
UbuntuでLINEを使う(Waydroidで動かす)
UbuntuにはLINEの公式クライアントがありません。Chrome拡張版もありますが、機能が限定的です。
そこで使うのがWaydroidです。WaydroidはUbuntu上でAndroidコンテナを動かす仕組みで、この中にAndroid版LINEをインストールすれば、通話・スタンプ・グループトークまでフル機能が使えます。
セットアップは他のツールと比べると手順が多いですが、一度設定すればふだんは waydroid show-full-ui と打つだけでLINEが使えます。
Waydroidのインストール:
# リポジトリ追加
curl -s https://repo.waydro.id/ | sudo bash
# インストール
sudo apt install -y waydroid
# 初期化(Google Play Services付き)
sudo waydroid init -s GAPPS-s GAPPS をつけて初期化するとGoogle Play Storeが使えるようになります。後述するGboard(日本語キーボード)のインストールに必要です。
ARM変換ライブラリのインストール:
LINEはARM向けのアプリなので、x86_64のPCで動かすには変換ライブラリが必要です。AMD CPUなら libndk、Intel CPUなら libhoudini を入れます。
sudo apt install -y lzip
git clone https://github.com/casualsnek/waydroid_script.git /tmp/waydroid_script
cd /tmp/waydroid_script
python3 -m venv venv
venv/bin/pip install -r requirements.txt
# セッション停止してからインストール
waydroid session stop
sudo venv/bin/python3 main.py install libndk # AMD CPU の場合
# sudo venv/bin/python3 main.py install libhoudini # Intel CPU の場合ネットワーク設定:
WaydroidのAndroidコンテナがインターネットに接続できるように、IP転送とNATを設定します。
# IP転送有効化
sudo sysctl -w net.ipv4.ip_forward=1
# NAT設定(wlp1s0 は自分のネットワークインターフェースに置き換え)
sudo iptables -t nat -A POSTROUTING -s 192.168.240.0/24 -o wlp1s0 -j MASQUERADE
sudo iptables -A FORWARD -i waydroid0 -o wlp1s0 -j ACCEPT
sudo iptables -A FORWARD -i wlp1s0 -o waydroid0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# DNS転送
sudo iptables -t nat -A PREROUTING -i waydroid0 -p udp --dport 53 -j DNAT --to-destination 8.8.8.8:53
sudo iptables -t nat -A PREROUTING -i waydroid0 -p tcp --dport 53 -j DNAT --to-destination 8.8.8.8:53iptablesの設定は本来PC再起動で消えますが、最近のWaydroidはサービス起動時にネットワーク設定を自動で行うようです。私の環境では再起動後もLINEが普通に使えているので、手動でiptablesを永続化する必要はありませんでした。もしネットワークがつながらない場合は、上記のコマンドを再度実行してみてください。
LINE APKのインストール:
LINEはsplit APK(XAPK)形式で配布されているため、Google Playからそのまま入れることはできません。APKPureからダウンロードして展開し、セッションインストールします。
# Waydroid 起動
waydroid session start
waydroid show-full-ui
# APKPure から XAPK をダウンロード
wget "https://d.apkpure.net/b/XAPK/jp.naver.line.android?version=latest" -O /tmp/line.xapk
# XAPK を展開
mkdir -p /tmp/line-xapk
cd /tmp/line-xapk && unzip -o /tmp/line.xapk '*.apk'
# APK を Waydroid 内にコピー
sudo mkdir -p ~/.local/share/waydroid/data/local/tmp
sudo cp /tmp/line-xapk/*.apk ~/.local/share/waydroid/data/local/tmp/
# インストールスクリプトを作成・実行
sudo tee ~/.local/share/waydroid/data/local/tmp/install_line.sh > /dev/null << 'SCRIPT'
#!/system/bin/sh
BASE_SIZE=$(stat -c%s /data/local/tmp/jp.naver.line.android.apk)
MDPI_SIZE=$(stat -c%s /data/local/tmp/config.mdpi.apk)
ARM_SIZE=$(stat -c%s /data/local/tmp/config.armeabi_v7a.apk)
TOTAL=$((BASE_SIZE + MDPI_SIZE + ARM_SIZE))
SESSION_ID=$(pm install-create -S $TOTAL 2>&1 | grep -o '[0-9]*')
pm install-write -S $BASE_SIZE $SESSION_ID 0 /data/local/tmp/jp.naver.line.android.apk
pm install-write -S $MDPI_SIZE $SESSION_ID 1 /data/local/tmp/config.mdpi.apk
pm install-write -S $ARM_SIZE $SESSION_ID 2 /data/local/tmp/config.armeabi_v7a.apk
pm install-commit $SESSION_ID
SCRIPT
sudo chmod 755 ~/.local/share/waydroid/data/local/tmp/install_line.sh
sudo waydroid shell /data/local/tmp/install_line.shGboardで日本語入力できるようにする:
ホスト側の日本語入力(Mozc)はWaydroid内のAndroidに渡せません。Android側にGboardをインストールして、日本語キーボードを追加する必要があります。
# Play Store から Gboard をインストール(GUI操作)
# Waydroid UI → Play Store → 「Gboard」で検索 → インストール
# または ADB で有効化する場合
waydroid shell ime enable com.google.android.inputmethod.latin/.LatinIME
waydroid shell ime set com.google.android.inputmethod.latin/.LatinIMEGboardをインストールしたら、設定から「Languages → ADD KEYBOARD → 日本語」で日本語キーボードを追加します。LINE入力中にキーボード左下の地球アイコンで切り替えられます。
起動:
# Waydroid UI を起動(ホーム画面に LINE アイコンが表示される)
waydroid show-full-ui
# または LINE を直接起動
waydroid app launch jp.naver.line.androidおまけ: dotfilesリポジトリで設定を持ち歩く
私は ~/.dotfiles をプライベートのGitリポジトリにしていて、マシンをまたいで使う設定をここにまとめています。持ち歩いているM3 MacBook Air、自宅のWindowsデスクトップ、この記事のDell Inspiron、それから現場に置いているUbuntuのミニPCという4台体制なので、ユーザー設定系を1箇所で管理できるのは助かっています。MacBook Airのほうもbrew/caskで基本的に同じものを入れていて、使っているのはここに出てくるツールとzshだけです。Apple専用の便利ソフトみたいなのは特に使っていません。
中身はClaude Codeのスキル(スラッシュコマンドやサブエージェント定義)がごっそり入っているほか、自作のシェルスクリプトもいくつか置いています。たとえば毎朝「今日やること」を表示する daily-task.sh と、夕方に「今日やったこと」をSlack日報フォーマットで出力する daily-report.sh の2本は毎日使っています。どちらも gh でGitHubのIssueとPRを自動収集するだけのシンプルなスクリプトですが、日報を書くのが楽になるし、「意外と毎日いろんなことやってるな」と思えるし、ブログの記事ネタを考えるときにも重宝しています。
自分が何を入れたか確認する方法
Ubuntuにツールを入れていくと、だんだん「あれ、これ何のために入れたんだっけ」という状態になります。以下のコマンドを叩くと、自分が明示的にインストールしたパッケージを一覧できます。
echo "# apt" && apt-mark showmanual
echo "# snap" && snap list
echo "# pip" && pip list --userただし、curl | sh で入れたもの(Claude Code、nvm、uv、tfenv、Google Cloud SDK)はどのパッケージマネージャにも追跡されません。これらはこの記事のようなセットアップ手順書に書いておくしか管理する方法がありません。
参考までに、私の環境で apt-mark showmanual の結果から「自分で意図的に入れたもの」だけを抜き出すと、以下のようになります。OS基盤や依存で自動的に入ったものは除いています。
| カテゴリ | パッケージ | 何のため |
|---|---|---|
| 開発ツール | code | VS Code |
| gh | GitHub CLI | |
| gitkraken | Git GUIクライアント | |
| docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin, docker-compose-plugin | Docker一式 | |
| dbeaver-ce | データベースGUI | |
| python3-pip, python3-venv, python-is-python3, pipx | Python開発環境 | |
| session-manager-plugin | AWS SSM (EC2にSSHなしで接続) | |
| vim | テキストエディタ | |
| CLI/ユーティリティ | curl, wget | ファイル取得 |
| ffmpeg | 動画・音声の変換 | |
| librsvg2-bin | rsvg-convert (SVG→PNG変換) | |
| age | ファイル暗号化 (GPGのモダンな代替) | |
| neofetch | システム情報表示 | |
| 日本語環境 | ibus-mozc, mozc-utils-gui | 日本語入力 |
| language-pack-ja, language-pack-gnome-ja, gnome-user-docs-ja, fonts-noto-cjk-extra | UI日本語化 + フォント | |
| Android/ゲーム | waydroid | Androidコンテナ (LINE用) |
| adb | Android Debug Bridge | |
| steam-installer | Steam(ゲーム) | |
| その他 | gimp | 画像編集 |
Snap側は1Password、Slack、Asana、Firefox(Ubuntu標準)の4つだけ。pip側は psycopg2-binary(PythonからPostgreSQLに接続するアダプタ)が1つ入っています。
入れたもの一覧
最後に、この記事で紹介した18ツールをまとめます。
| # | ツール | 用途 | 案件依存 |
|---|---|---|---|
| 1 | Google Chrome | ブラウザ・開発者ツール | いいえ |
| 2 | 1Password | パスワード・鍵管理 | いいえ |
| 3 | Slack | チャット | はい |
| 4 | Asana | タスク管理 | はい |
| 5 | Mozc | 日本語入力 | いいえ |
| 6 | VS Code | コードエディタ | いいえ |
| 7 | GitKraken | コードレビュー・Git GUI | いいえ |
| 8 | Docker | コンテナ環境 | いいえ |
| 9 | Git | バージョン管理 | いいえ |
| 10 | GitHub CLI | GitHub操作 | いいえ |
| 11 | AWS CLI | AWS操作 | いいえ |
| 12 | Google Cloud SDK | GCP操作 | いいえ |
| 13 | DBeaver | データベースGUI | いいえ |
| 14 | Python + uv | Python開発・パッケージ管理 | いいえ |
| 15 | Go | プログラミング言語 | いいえ |
| 16 | Claude Code | AIコーディングアシスタント | いいえ |
| 17 | nvm + tfenv | Node.js・Terraform バージョン管理 | いいえ |
| 18 | Waydroid + LINE | LINEクライアント | いいえ |
案件依存が「はい」になっているSlackとAsanaは、現場によってはTeamsやJira、Backlogなどに置き換わります。それ以外は、Web開発者ならお客さんによらず入れておいて損はないものばかりです。
この構成でUbuntuのクリーンインストールから開発可能な状態まで持っていけます。何か抜けているものがあれば随時追加していくつもりです。