Ubuntuをインストールしたらやりたいことリスト
UbuntuをPCにクリーンインストールするのはいいが、
最初は、ほぼ何もソフトが入っていない状態(それがいいのだが)
だから、何かしらのセットアップは行いたい。
ただ、普段Macとかに慣れていると、
久しぶりにUbuntuとかを触ると、
何をすればいいか忘れる...
なので、本記事ではUbuntuを入れたら
最低限設定したいことをまとめようと思う。
目次
- 日本語入力の設定
- キーボード設定
- US配列からJIS配列への変更
- ブラウザの設定
- VirtualBoxの設定
- Gitの設定
- Vim/Neovimの設定
- Node.jsの設定
- 開発ツールの導入
- Tmuxの設定
- Zshの設定
- Rubyの設定
- Dockerの設定
- Homebrewの導入
- ターミナルエミュレータの設定
- ランチャーとクリップボード管理
- ジェスチャー設定
- アプリケーションの導入
- 自動起動の設定
- デスクトップアイコンの追加
- トラブルシューティング
- 一括設定用シェルスクリプト
日本語入力
日本語環境で作業する場合、最初に設定すべきなのは日本語入力です。Ubuntuでは「Mozc」が一般的です。
sudo apt update
sudo apt install -y ibus-mozc
sudo apt install -y mozc-utils-gui
インストール後の設定手順:
- 再起動する
- Settings(設定)を開く
- 「Region & Language」→「Input Sources」を選択
- 「+」ボタンをクリック
- 「Japanese (Mozc)」を選択して「Add」をクリック
これで Alt+` (バッククォート)で日本語入力と英語入力を切り替えられるようになります。
入力方式のカスタマイズが必要な場合は、「Mozc設定」を開いて調整できます:
/usr/lib/mozc/mozc_tool --mode=config_dialog
CapsLockの無効化してCtrlキーにする
さて、毎度のことですが、宇宙一使いみちがわからないCapsLockを
無効化する作業をしようと思います。
あと、もともとMacのキー配列に慣れてしまった私は、
無変換キーと変換キーの存在意義もよくわからないので、
Ctrlあたりに変えたいと思います。
まずは、各キーのキーコードを調べたいので、
xev
でキーコードを調べます。
CapsLockを押してみます
keycodeが66ということがわかります。
次に、Xmodmapを使ってキー配列を変更します。
設定ファイルは、~/.Xmodmap
なので、
clear Lock
keycode 49 = Control_L
keycode 66 = Control_L
keycode 100 = Zenkaku_Hankaku
keycode 102 = Zenkaku_Hankaku
keycode 111 = Shift_R
add control = Control_L
以下のコマンドで適用します:
xmodmap ~/.Xmodmap
これで再起動したら反映されるはずなのですが、
環境によってはCapsLockが頑固に機能し続けることがあります。
そのような場合は、Gnome Tweaksを使用する方法が確実です:
sudo apt install gnome-tweaks
インストール後、以下のコマンドで起動します:
gnome-tweaks
「Keyboard & Mouse」→「Additional Layout Options」→「Caps Lock behavior」で
「Make Caps Lock an additional Ctrl」を選択します。
これで再起動すれば、CapsLockキーがCtrlキーとして機能するようになります。
永続的に設定するには、~/.profile
または~/.bashrc
に以下を追加するのも良いでしょう:
# CapsLockをCtrlにマッピング
setxkbmap -option ctrl:nocaps
US配列からJIS配列への変更
新規インストールのUbuntuは、デフォルトでUS配列キーボードとして設定されていることがあります。JIS配列のキーボードを使用している場合、以下の手順で変更できます。
GUIから変更する方法
- 「Settings」(設定)を開く
- 「Region & Language」を選択
- 「Input Sources」の部分で「+」ボタンをクリック
- 「Japanese」→「Japanese (OADG 109A)」を選択
- 「Add」をクリック
- 既存の「English (US)」または他の入力ソースを選択して「-」ボタンをクリックして削除
コマンドラインから変更する方法
# 利用可能なキーボードレイアウトの確認
localectl list-x11-keymap-layouts
# JIS配列に変更
sudo localectl set-x11-keymap jp
# 現在の設定を確認
localectl status
キーボードレイアウトの変更を即時反映させるためには、一度ログアウトして再ログインするか、システムを再起動してください。
文字化けやキー配列の問題が発生した場合
稀にキーボード設定が正しく反映されない場合は、以下のコマンドでXサーバーの設定を更新します:
sudo dpkg-reconfigure keyboard-configuration
# 画面の指示に従ってJISキーボードを選択
sudo service keyboard-setup restart
firefoxが気に入らなければ好きなブラウザを入れる
個人的にはFirefoxは結構好きなブラウザなので、
正直Firefoxをそのまま使うというのもありなのですが
(そのほうがなんとなくLinuxっぽい気もするし)、
Batの小銭稼ぎのために、
ここはやはりBraveを入れとこうと思います。
Braveのインストール
公式サイトからインストール方法を確認できます:
https://brave.com/linux/
sudo apt-get update
sudo apt install curl
# 署名キーの追加
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
# リポジトリの追加
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list
# パッケージリストの更新とインストール
sudo apt update
sudo apt install brave-browser
Braveはブックマークをエクスポート/インポートできるので、以前の環境からブックマークを引き継ぐ場合はHTMLファイルを経由すると簡単です。
Google Chromeのインストール
Chromeを使いたい場合は以下のようにインストールできます:
cd ~/Downloads
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
# 依存関係の問題が発生した場合
sudo apt install -f
ブラウザをデフォルトに設定
お気に入りのブラウザをデフォルトブラウザに設定しましょう:
# デフォルトブラウザの設定(GUIを起動)
xdg-settings set default-web-browser brave-browser.desktop
# または
xdg-settings set default-web-browser google-chrome.desktop
virtualboxの設定
virtualboxを入れます。
インストール手順
sudo apt update
sudo apt install virtualbox virtualbox-ext-pack
しかし、ただ入れるだけで、
起動を押すとまれに画像のようなエラーになります。
エラーメッセージ通り、
sudo /sbin/vboxconfig
を実行するも、環境によってはエラーになることがあります。
そもそも、moduleが読み込まれているか確認すると、
sudo modprobe vboxdrv
これでmodule not found的なエラーになれば、
カーネルモジュールが足りなそうなので、
sudo apt update
sudo apt install linux-headers-$(uname -r) build-essential dkms
このコマンドで必要なパッケージを再度入れます。
それでもう一度/sbin/vboxconfigがエラー無しで実行できれば、
無事virtualboxが起動できるはずです。
VirtualBoxユーザーグループの設定
VirtualBoxを一般ユーザーで快適に使用するには、ユーザーをvboxusersグループに追加します:
sudo usermod -aG vboxusers $USER
この変更を反映させるためには、一度ログアウトして再ログインするか、システムを再起動してください。
VirtualBox Extension Packのインストール
USB 3.0サポートやリモートデスクトップなどの機能を使うには、Extension Packが必要です:
# 最新のExtension Packをダウンロード(バージョンは適宜変更)
wget https://download.virtualbox.org/virtualbox/7.0.14/Oracle_VM_VirtualBox_Extension_Pack-7.0.14.vbox-extpack
# インストール
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.14.vbox-extpack
gitの設定
まずはインストール
sudo apt install git
基本設定
git config --global user.name 'user_name'
git config --global user.email "user@example.com"
ちゃんと設定できているか確認
git config --list
Gitのエイリアス設定
よく使うGitコマンドをショートカット化すると便利です:
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
Git SSHの設定
次にgitのssh設定をしたい。
まずはsshキーを作成
ssh-keygen -t ed25519 -C "your_email@example.com"
さてこいつの中身をコピーしたい。
Macとかならpbcopyで終了なのだが、
linuxの場合違うアプローチが必要だ。
linuxの場合、xselというものが使えるので
インストールする
sudo apt install xsel
インストールしたら、クリップボードに公開鍵をコピーする。
cat ~/.ssh/id_ed25519.pub | xsel --clipboard --input
追加したらGithubのsshキーの項目に追加する。
追加したら、
ssh -T git@github.com
これでHiと返ってくれば、
git cloneとかでsshで持ってこれる
Gitの設定ファイル作成
より詳細な設定は~/.gitconfig
ファイルで管理できます:
[user]
name = Your Name
email = your_email@example.com
[core]
editor = nvim
excludesfile = ~/.gitignore_global
[color]
ui = auto
[pull]
rebase = false
[init]
defaultBranch = main
グローバルの.gitignoreファイルも作成しておくと便利です:
touch ~/.gitignore_global
echo ".DS_Store" >> ~/.gitignore_global
echo "*.swp" >> ~/.gitignore_global
echo ".vscode/" >> ~/.gitignore_global
echo "node_modules/" >> ~/.gitignore_global
vim/neovimの設定
もちろん、neovimとかの設定をしないことには
何も始まらない。
vimmerであれば、dotfileみたいなリボジトリを持っているであろうから、
そいつをcloneして、各々設定を適用させる。
Neovimのインストール
sudo apt install neovim
init.luaとかの設定ファイルをcpする
※私の環境の例
mkdir -p ~/.config/nvim
cp init.lua ~/.config/nvim/
mkdir -p ~/.config/nvim/lua
cp -r lua ~/.config/nvim/
さてこれでnvimを起動すればプラグインとかインストールして終わりかと思いきや、
何やらエラーが。lazy.nvimは0.8以上のneovimのバージョンが必要だが、
aptでインストールしたneovimは0.6系のことが多いです。
最新版Neovimのインストール
古いneovimを削除して最新版をインストールします:
# 古いバージョンを削除
sudo apt-get remove neovim
# 最新版をダウンロードしてインストール
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
sudo rm -rf /opt/nvim
sudo tar -C /opt -xzf nvim-linux64.tar.gz
使っているシェルの設定ファイル(UbuntuとかならデフォルトはBash)
.bashrcとかに下記を追記してパスを通します:
export PATH="$PATH:/opt/nvim-linux64/bin"
sourceコマンドで設定ファイルを再読み込みします:
source ~/.bashrc # または ~/.zshrc
プラグインマネージャの設定
Neovimでは様々なプラグインマネージャが使えますが、最近はlazy.nvimが人気です:
-- ~/.config/nvim/init.lua の例
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git", "clone", "--filter=blob:none",
"https://github.com/folke/lazy.nvim.git", "--branch=stable",
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- プラグインの設定
require("lazy").setup({
-- プラグインをここに追加
{ "nvim-treesitter/nvim-treesitter" },
{ "neovim/nvim-lspconfig" },
-- 他にも必要なプラグイン
})
Neovimの依存パッケージのインストール
nvimを実行したときにエラーが出る場合は、必要な依存パッケージをインストールします:
sudo apt update && sudo apt install build-essential
これでNo C compiler found
関連のエラーは解消されるはずです。
nodejs
coc.nvimなどのプラグインはNode.jsに依存しているため、Node.jsの設定も必要です。
nvmによるNode.jsのインストール
Node Version Manager (nvm)を使うと、異なるバージョンのNode.jsを簡単に管理できます:
# nvmのインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# シェルを再起動するか、設定を読み込み直す
source ~/.bashrc # または ~/.zshrc
# 利用可能なNode.jsのバージョンを確認
nvm ls-remote
# 最新のLTS版をインストール
nvm install --lts
# デフォルトのNode.jsバージョンを設定
nvm alias default lts/*
これでnode is not executable
のようなエラーは解消されるはずです。
Node.jsのグローバルパッケージ
開発に便利なパッケージもいくつかインストールしておくと良いでしょう:
npm install -g yarn
npm install -g typescript
npm install -g eslint
npm install -g prettier
ripgrep(rg)、fd導入
nvimで:checkhealth
コマンドを実行すると、
外部ツールとかで足りていないものがわかる。
代表的なものだと、telescope.nvimで使う、
ripgrepやfdとかなので、まずはこれらを入れて、
telescope.nvimの力を引き出します。
ripgrep(rg)のインストール
ripgrepは高速な検索ツールです:
curl -LO https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep_14.1.0-1_amd64.deb
sudo dpkg -i ripgrep_14.1.0-1_amd64.deb
または、aptからもインストールできます(バージョンは少し古いかもしれません):
sudo apt install ripgrep
fd-findのインストール
fdはファイル検索ツールです:
sudo apt install fd-find
ただし、これだけではfdコマンドではなくfdfindコマンドとしてインストールされます。
fdコマンドとして使用するためには、シンボリックリンクを作成します:
mkdir -p ~/.local/bin
ln -sf $(which fdfind) ~/.local/bin/fd
# PATHを追加
if ! grep -q "HOME/.local/bin" ~/.zshrc; then
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc
fi
~/.local/bin
にパスを通すのを忘れないでください:
# ~/.bashrcまたは~/.zshrcに追加
export PATH="$PATH:$HOME/.local/bin"
その他の便利なツール
開発効率を高める他のツールもインストールしておくと便利です:
# jqはJSONデータを処理するためのコマンドラインツール
sudo apt install jq
# batはシンタックスハイライト付きのcatコマンド
sudo apt install bat
# exa/lsdはlsコマンドの代替
sudo apt install exa
# htopはtopコマンドの改良版
sudo apt install htop
tmuxの設定
tmuxはターミナルマルチプレクサで、複数のターミナルセッションを効率的に管理できます。
インストール
sudo apt install tmux
基本設定
設定ファイルを作成します:
# 既存の設定ファイルをコピーするか、新規作成
cp tmux.conf ~/.tmux.conf # 既存のファイルがある場合
# または
touch ~/.tmux.conf # 新規作成
# 設定を読み込み
tmux source-file ~/.tmux.conf
基本的な設定例:
# ~/.tmux.conf
# プレフィックスキーをC-aに変更
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# ウィンドウとペインのインデックスを1から始める
set -g base-index 1
setw -g pane-base-index 1
# マウス操作を有効化
set -g mouse on
# ステータスバーの色を設定
set -g status-style fg=white,bg=black
# 256色端末を使用
set -g default-terminal "screen-256color"
# コピーモードでvimキーバインドを使用
setw -g mode-keys vi
tmuxプラグインマネージャの設定
プラグイン管理には、Tmux Plugin Manager (TPM)を使用すると便利です:
# TPMのインストール
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# ~/.tmux.confに以下を追加
cat << 'EOF' >> ~/.tmux.conf
# プラグイン管理
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# 自動保存と復元
set -g @continuum-restore 'on'
# プラグインの初期化(この行は必ず設定ファイルの最後に記述)
run '~/.tmux/plugins/tpm/tpm'
EOF
# 設定の再読み込み
tmux source-file ~/.tmux.conf
インストール後、prefix + I
(デフォルトではCtrl+b
、設定変更後はCtrl+a
、その後にI
)を押すとプラグインがインストールされます。
zshの設定
Zshは拡張性の高いシェルで、様々なカスタマイズが可能です。
インストールと基本設定
# zshのインストール
sudo apt install zsh
# デフォルトシェルに設定
chsh -s /bin/zsh
# 現在のシェルを確認
echo $SHELL
シェルの変更を確認するには一度ログアウトして再ログインする必要があります。
oh-my-zshのインストール
oh-my-zshはZshの設定を簡単に管理するためのフレームワークです:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
これを実行すると、既存の.zshrc
ファイルがバックアップされ、新しい設定ファイルが作成されます。
powerlevel10kテーマのインストール
powerlevel10kは見た目が良く、機能も豊富なZshテーマです:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
.zshrc
ファイルを編集してテーマを設定します:
sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc
# powerlevel10k設定ファイルの読み込みを追加
cat << 'EOF' >> ~/.zshrc
# powerlevel10k設定ファイル
if [ -f ~/.p10k.zsh ]; then
source ~/.p10k.zsh
fi
EOF
次回ログイン時(またはsource ~/.zshrc
実行時)に設定ウィザードが起動します。
便利なZshプラグインの有効化
oh-my-zshには多数のプラグインが付属しています。.zshrc
ファイルを編集して有効化します:
# プラグインの設定部分を見つけて編集(例)
sed -i 's/plugins=(git)/plugins=(git z docker docker-compose npm node yarn)/' ~/.zshrc
tmuxとの連携設定
Zshとtmuxを連携させ、ターミナル起動時に自動的にtmuxを起動するように設定できます:
cat << 'EOF' >> ~/.zshrc
# tmux自動起動設定
if [[ -z "$ZSHRC_EXECUTED" ]]; then
export ZSHRC_EXECUTED=1
# 初回シェル時のみ tmux実行
if [ -z "$TMUX" ]; then
tmux new-session -A -s main
fi
source ~/.zshrc
fi
EOF
zoxideのインストール
zoxideはディレクトリの移動を効率化するツールです。
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | zsh
.zshrc
に下記を追記します:
eval "$(zoxide init zsh)"
fzfと組み合わせることで、より強力な機能が使えます:
sudo apt install fzf
これでz
コマンドとzi
コマンドが使えるようになります。使い方の例:
-
z Documents
- Documentsディレクトリに移動 -
zi
- インタラクティブにディレクトリを選択して移動
Ruby、rbenvの設定
Rubyの開発環境を整えるには、バージョン管理ツールのrbenvが便利です。
rbenvのインストール
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
パスを設定します:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(~/.rbenv/bin/rbenv init - zsh)"' >> ~/.zshrc
source ~/.zshrc
注意: rbenvの初期化コマンドが既に存在する場合は正常に動作しません。既存の設定がある場合は削除してから追加してください。
ruby-buildプラグインのインストール
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
依存パッケージのインストール
Rubyのコンパイルに必要なパッケージをインストールします:
sudo apt install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev libgdbm-compat-dev
Rubyのインストールと設定
# 利用可能なRubyのバージョンを確認
rbenv install -l
# 特定のバージョンをインストール
rbenv install 3.3.4
# グローバルバージョンを設定
rbenv global 3.3.4
# Rubyのバージョンを確認
ruby -v
インストール時にzlib.h
がないなどのエラーが出る場合は、必要なライブラリをインストールします:
sudo apt install zlib1g-dev libffi-dev libssl-dev libyaml-dev
Bundlerのインストール
gem install bundler
rbenv rehash
Dockerの設定
コンテナ技術は現代の開発環境では欠かせません。Dockerを設定しましょう。
Docker Engineのインストール
公式ドキュメントに従ってインストールします:
# GPGキーのインストール
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# リポジトリの設定
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Dockerパッケージのインストール
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerをsudoなしで実行できるようにする
Dockerコマンドをsudoなしで実行するには、ユーザーをdockerグループに追加します:
sudo groupadd docker
sudo usermod -aG docker $USER
変更を適用するには、ログアウトして再ログインするか、以下のコマンドを実行します:
newgrp docker
Docker Composeのインストール
最新のDockerには Docker Compose プラグインが含まれていますが、別途インストールする場合は以下を実行します:
# Docker Composeをダウンロード
DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)
sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 実行権限を付与
sudo chmod +x /usr/local/bin/docker-compose
# バージョン確認
docker-compose --version
Dockerの自動起動設定
システム起動時にDockerサービスを自動的に起動するようにします:
sudo systemctl enable docker
sudo systemctl start docker
Dockerの動作確認
Dockerが正しくインストールされたか確認します:
# Hello Worldコンテナを実行
docker run hello-world
# Ubuntu コンテナを対話モードで実行
docker run -it ubuntu bash
Homebrewの導入
LinuxでもHomebrewを使うことで、macOSと同様のパッケージ管理が可能になります。
インストール手順
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
インストール後、シェルの設定ファイルにパスを追加します:
# zshの場合
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc
# bashの場合
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
source ~/.bashrc
依存パッケージのインストール
sudo apt-get install build-essential
brew install gcc
Homebrewの基本的な使い方
# パッケージのインストール
brew install package_name
# パッケージの検索
brew search keyword
# 情報表示
brew info package_name
# インストール済みパッケージの一覧表示
brew list
# パッケージの更新
brew upgrade package_name
# Homebrewの更新
brew update
alacrittyの導入設定
Alacrittyは高速で軽量なGPUアクセラレーションを活用したターミナルエミュレータです。
Rustのインストール
AlacrittyはRustで書かれているため、まずRustをインストールします:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup override set stable
rustup update stable
依存パッケージのインストール
sudo apt install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3
Alacrittyのビルドとインストール
# ソースコードのクローン
git clone https://github.com/alacritty/alacritty.git
cd alacritty
# ビルド
cargo build --release
# ターミナル情報の設定
sudo tic -xe alacritty,alacritty-direct extra/alacritty.info
# バイナリと設定ファイルのインストール
sudo cp target/release/alacritty /usr/local/bin
sudo mkdir -p /usr/local/share/man/man1
sudo cp extra/alacritty.man /usr/local/share/man/man1/alacritty.1
gzip -f /usr/local/share/man/man1/alacritty.1
sudo mkdir -p /usr/local/share/man/man5
sudo cp extra/alacritty-msg.man /usr/local/share/man/man1/alacritty-msg.1
gzip -f /usr/local/share/man/man1/alacritty-msg.1
# デスクトップエントリーの追加
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg
sudo desktop-file-install extra/linux/Alacritty.desktop
sudo update-desktop-database
Alacrittyの設定
Alacrittyの設定ファイルを作成します:
mkdir -p ~/.config/alacritty
最低限の設定ファイル~/.config/alacritty/alacritty.yml
を作成します:
font:
normal:
family: Hack
style: Regular
bold:
family: Hack
style: Bold
italic:
family: Hack
style: Italic
size: 12.0
window:
dimensions:
columns: 100
lines: 30
padding:
x: 2
y: 2
decorations: full
colors:
primary:
background: '#282c34'
foreground: '#abb2bf'
cursor:
text: '#1d1f21'
cursor: '#ffffff'
key_bindings:
- { key: V, mods: Control, action: Paste }
- { key: C, mods: Control, action: Copy }
- { key: Q, mods: Control, action: Quit }
Alacrittyをデフォルトターミナルに設定
sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/local/bin/alacritty 50
sudo update-alternatives --config x-terminal-emulator
表示されるメニューでAlacrittyを選択します。
AlbertとCopyQによるAlfredに代わるランチャーとクリップボード
Macの「Alfred」のような機能を実現するために、AlbertとCopyQを組み合わせて使います。
Albertのインストール
最初に、Ubuntuのバージョンを確認します:
lsb_release -a
バージョンに合わせたリポジトリを追加してインストールします(Ubuntu 22.04の例):
echo 'deb http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_22.04/ /' | sudo tee /etc/apt/sources.list.d/home:manuelschneid3r.list
curl -fsSL https://download.opensuse.org/repositories/home:manuelschneid3r/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_manuelschneid3r.gpg > /dev/null
sudo apt update
sudo apt install albert
初回起動時に設定ウィザードが表示されるので、ホットキーなどを設定します。
ホットキーが機能しない場合は、Ubuntuのシステム設定でキーボードショートカットを追加します:
# システム設定 > キーボードショートカット > カスタムショートカット
# コマンド: albert toggle
# ショートカット: Alt+Space(好みに応じて)
CopyQのインストール
CopyQはクリップボード履歴を管理するためのツールです:
sudo apt-get install copyq
Albertの設定とCopyQの連携
Albertを起動し、設定画面を開きます:
- 「Extensions」タブを選択
- 「Applications」拡張機能を有効にする
- 「External extensions」拡張機能を有効にする
- 「External extensions」の設定で、CopyQのコマンドを追加:
- トリガーワード:
cp
- コマンド:
copyq toggle
- トリガーワード:
これで、Albertのランチャーで「cp」と入力することでCopyQを簡単に呼び出せるようになります。
CopyQの自動起動設定
システム起動時にCopyQを自動的に起動するように設定します:
mkdir -p ~/.config/autostart
cat > ~/.config/autostart/copyq.desktop << EOF
[Desktop Entry]
Type=Application
Name=CopyQ
Comment=Advanced clipboard manager
Exec=copyq
Icon=copyq
Terminal=false
EOF
fusumaによるジェスチャー設定
fusumaを使うと、MacBookのトラックパッドのようなマルチタッチジェスチャーをUbuntuで実現できます。
インストール手順
sudo apt update
sudo apt install libinput-tools ruby
sudo apt install xdotool
sudo gem install fusuma
ユーザー権限の設定
sudo gpasswd -a $USER input
この変更を適用するためには、一度ログアウトして再ログインする必要があります。
設定ファイルの作成
mkdir -p ~/.config/fusuma
~/.config/fusuma/config.yml
ファイルを作成します:
swipe:
2:
left:
command: 'xdotool key alt+Left' # 前に戻る
right:
command: 'xdotool key alt+Right' # 次に進む
3:
left:
command: 'xdotool key ctrl+alt+Right'
right:
command: 'xdotool key ctrl+alt+Left'
up:
command: 'xdotool key super'
down:
command: 'xdotool key super+a'
4:
left:
command: 'xdotool key ctrl+alt+Left'
right:
command: 'xdotool key ctrl+alt+Right'
up:
command: 'xdotool key ctrl+t' # 新しいタブを開く
down:
command: 'xdotool key ctrl+w' # タブを閉じる
pinch:
in:
command: 'xdotool key ctrl+minus'
out:
command: 'xdotool key ctrl+plus'
threshold:
swipe: 0.3
pinch: 0.1
fusumaの起動
fusuma -d
デバッグモードで動作を確認:
fusuma -v
systemdによるfusumaの自動起動設定
fusumaをsystemdサービスとして登録します:
sudo tee /etc/systemd/system/fusuma.service > /dev/null << EOF
[Unit]
Description=Fusuma Gesture Recognizer
After=display-manager.service
[Service]
ExecStart=/usr/local/bin/fusuma -d
Restart=always
RestartSec=5
Environment=DISPLAY=:0
Environment=XAUTHORITY=/home/$USER/.Xauthority
User=$USER
Group=$USER
[Install]
WantedBy=graphical-target.target
EOF
# サービスを有効化して起動
sudo systemctl daemon-reload
sudo systemctl enable fusuma.service
sudo systemctl start fusuma.service
# ステータス確認
sudo systemctl status fusuma.service
systemdでの起動がうまくいかない場合は、シェルの設定ファイルで起動するように設定できます:
# ~/.zshrcまたは~/.bashrcに追加
if [ $SHLVL = 1 ]; then
fusuma -d
tmux
fi
DaVinci Resolve
DaVinci Resolveは高機能な動画編集ソフトです。
ダウンロードとインストール
まずは公式サイトからzipファイルをダウンロードします。
cd ~/Downloads/
unzip ./DaVinci_Resolve_18.6.6_Linux.zip
chmod +x ./DaVinci_Resolve_18.6.6_Linux.run
依存パッケージのインストール
インストール前に必要なパッケージをインストールします:
sudo apt update
sudo apt install fuse libapr1 libaprutil1 libxcb-composite0 libxcb-cursor0 libxcb-damage0 libxcb-xinerama0 libxcb-xinput0 ocl-icd-libopencl1
インストールの実行
sudo ./DaVinci_Resolve_18.6.6_Linux.run -i
NVIDIA GPUドライバのインストール
DaVinci ResolveはNVIDIA GPUでのパフォーマンスが最適化されています:
# NVIDIAドライバをインストール
sudo apt install nvidia-driver-460
# インストール後は再起動
sudo reboot
# ドライバの状態を確認
nvidia-smi
lspci | grep -i nvidia
より新しいドライバが必要な場合は、NVIDIAのリポジトリを追加してインストールします:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-525 # または最新のバージョン
OBS Studio
OBS Studioは画面録画や配信に最適なオープンソースソフトウェアです。
インストール手順
# 依存パッケージのインストール
sudo apt-get install ffmpeg
# リポジトリの追加
sudo add-apt-repository ppa:obsproject/obs-studio
# インストール
sudo apt update
sudo apt-get install obs-studio
XorgセッションでのOBS使用
Wayland環境ではOBSの画面キャプチャ機能に制限があるため、Xorgセッションでの使用をお勧めします。ログイン画面でXorgセッションを選択できます。
画面設定の調整
画面サイズが正しく表示されない場合は、出力サイズを変更します:
- OBS Studioを起動
- キャンバス上で右クリック
- 「出力サイズ変更」を選択
- 適切な解像度(例:1920x1080)を選択
systemctlによる自動起動設定
Linuxでは、systemdを使用してサービスを管理することで、システム起動時に自動的にプログラムを起動できます。
サービスファイルの作成方法
基本的なサービスファイルは以下のような構造になっています:
[Unit]
Description=サービスの説明
After=network.target
[Service]
Type=simple
ExecStart=/path/to/executable
Restart=on-failure
User=username
Group=groupname
[Install]
WantedBy=multi-user.target
自動起動の例: VSCode Server
リモート開発用のVSCode Serverを自動起動する例:
sudo tee /etc/systemd/system/code-server.service > /dev/null << EOF
[Unit]
Description=VSCode Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/code-server --bind-addr 0.0.0.0:8080 --user-data-dir /home/$USER/.vscode-server
Restart=on-failure
User=$USER
[Install]
WantedBy=multi-user.target
EOF
# サービスを有効化
sudo systemctl daemon-reload
sudo systemctl enable code-server.service
sudo systemctl start code-server.service
自動起動の例: MongoDB
データベースサーバーを自動起動する例:
sudo tee /etc/systemd/system/mongodb.service > /dev/null << EOF
[Unit]
Description=MongoDB Database Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# サービスを有効化
sudo systemctl daemon-reload
sudo systemctl enable mongodb.service
sudo systemctl start mongodb.service
serviceファイルの管理コマンド
# サービスの状態確認
sudo systemctl status service-name
# サービスの起動
sudo systemctl start service-name
# サービスの停止
sudo systemctl stop service-name
# サービスの再起動
sudo systemctl restart service-name
# 自動起動の有効化
sudo systemctl enable service-name
# 自動起動の無効化
sudo systemctl disable service-name
デスクトップにアイコンを追加する方法
Ubuntuでは、アプリケーションのショートカットをデスクトップやアプリケーションメニューに追加できます。
.desktopファイルの作成
デスクトップエントリファイルは通常/usr/share/applications/
または~/.local/share/applications/
に配置します。
基本的な.desktopファイルの形式:
[Desktop Entry]
Type=Application
Name=アプリケーション名
Comment=説明文
Exec=実行コマンド
Icon=アイコンのパス
Terminal=false
Categories=カテゴリ;
例: Chromeのデスクトップショートカット
cat > ~/.local/share/applications/chrome.desktop << EOF
[Desktop Entry]
Type=Application
Name=Google Chrome
Comment=Access the Internet
Exec=/usr/bin/google-chrome-stable %U
Icon=google-chrome
Terminal=false
Categories=Network;WebBrowser;
EOF
デスクトップへのショートカット作成
アプリケーションメニューからデスクトップにドラッグ&ドロップするか、以下のコマンドを使用します:
# アプリケーションメニューの.desktopファイルをデスクトップにコピー
cp ~/.local/share/applications/application-name.desktop ~/Desktop/
# デスクトップのショートカットに実行権限を付与
chmod +x ~/Desktop/application-name.desktop
アイコンの作成例: VSCode
cat > ~/.local/share/applications/vscode.desktop << EOF
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/bin/code --no-sandbox --unity-launch %F
Icon=/usr/share/pixmaps/vscode.png
Type=Application
StartupNotify=false
StartupWMClass=Code
Categories=Utility;TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;application/x-code-workspace;
Actions=new-empty-window;
Keywords=vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Exec=/usr/bin/code --no-sandbox --new-window %F
Icon=/usr/share/pixmaps/vscode.png
EOF
# デスクトップにショートカットをコピー
cp ~/.local/share/applications/vscode.desktop ~/Desktop/
chmod +x ~/Desktop/vscode.desktop
設定が消えたとき
時々Ubuntuではシステム設定が消えてしまうことがあります。以下はその対処法です。
GNOMEコントロールセンターの復元
設定アプリが消えてしまった場合:
sudo apt install --reinstall gnome-control-center
gnome-control-center
dconfのリセット
特定の設定だけが問題がある場合、dconfをリセットすることができます:
# 特定の設定をリセット(例:GNOME Shellの設定)
dconf reset -f /org/gnome/shell/
# または特定のキーをリセット
dconf reset /org/gnome/desktop/interface/gtk-theme
デスクトップ環境全体の再インストール
深刻な問題が発生した場合は、デスクトップ環境を再インストールできます:
# GNOMEデスクトップを再インストール
sudo apt install --reinstall ubuntu-desktop gnome-shell
パッケージの整合性確認と修復
# パッケージの状態を確認
sudo apt update
sudo apt --fix-broken install
sudo apt autoremove
# 依存関係の修復
sudo apt install -f
一括設定用シェルスクリプト
ここでは、この記事で紹介したほとんどの設定を自動化するシェルスクリプトを提供します。
#!/bin/bash
# Ubuntu初期設定スクリプト
# スクリプトを中断するとすべての処理が停止するように
set -e
# ルート権限のチェック
if [ "$(id -u)" -eq 0 ]; then
echo "このスクリプトはroot権限で実行しないでください。sudo権限のある一般ユーザーで実行してください。"
exit 1
fi
# カレントディレクトリをスクリプトのディレクトリに変更
cd "$(dirname "$0")"
# カラー設定
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color
echo -e "${GREEN}Ubuntu初期設定を開始します...${NC}"
# ユーザー名の取得
USERNAME=$(whoami)
# ----------------------------------------
# システムアップデート
# ----------------------------------------
echo -e "${YELLOW}システムを更新しています...${NC}"
sudo apt update && sudo apt upgrade -y
# ----------------------------------------
# 基本パッケージのインストール
# ----------------------------------------
echo -e "${YELLOW}基本パッケージをインストールしています...${NC}"
sudo apt install -y build-essential git curl wget unzip software-properties-common apt-transport-https ca-certificates gnupg xsel xdotool gnome-tweaks
# ----------------------------------------
# 日本語入力の設定
# ----------------------------------------
echo -e "${YELLOW}日本語入力(Mozc)をインストールしています...${NC}"
sudo apt install -y ibus-mozc mozc-utils-gui
# IBus設定の更新
dconf write /desktop/ibus/general/preload-engines "['mozc-jp']"
dconf write /desktop/ibus/general/use-system-keyboard-layout true
# ----------------------------------------
# CapsLockをCtrlキーに変更
# ----------------------------------------
echo -e "${YELLOW}CapsLockをCtrlキーに変更しています...${NC}"
cat > ~/.Xmodmap << EOF
clear Lock
keycode 66 = Control_L
add control = Control_L
EOF
xmodmap ~/.Xmodmap 2>/dev/null || true
# GNOME Tweaksでも設定
if command -v gnome-tweaks >/dev/null 2>&1; then
# dconfを使用して設定
dconf write /org/gnome/desktop/input-sources/xkb-options "['ctrl:nocaps']"
fi
# ----------------------------------------
# ZshとOh-My-Zshのインストール
# ----------------------------------------
echo -e "${YELLOW}Zshをインストールしています...${NC}"
sudo apt install -y zsh
echo -e "${YELLOW}Oh My Zshをインストールしています...${NC}"
# Oh My Zshのインストール(既にある場合はスキップ)
if [ ! -d "$HOME/.oh-my-zsh" ]; then
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
fi
# Powerlevel10kのインストール
if [ ! -d "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k" ]; then
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
fi
# .zshrcの設定
if [ -f "$HOME/.zshrc" ]; then
# テーマを設定
sed -i 's/ZSH_THEME=.*/ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc
# プラグインを設定
sed -i 's/plugins=.*/plugins=(git z docker docker-compose npm node yarn)/' ~/.zshrc
# powerlevel10kの設定を追加
if ! grep -q "p10k.zsh" ~/.zshrc; then
cat >> ~/.zshrc << 'EOF'
# powerlevel10k設定ファイル
if [ -f ~/.p10k.zsh ]; then
source ~/.p10k.zsh
fi
EOF
fi
fi
# ----------------------------------------
# Neovimのインストール(最新版)
# ----------------------------------------
echo -e "${YELLOW}Neovimをインストールしています...${NC}"
if command -v nvim >/dev/null 2>&1; then
echo "Neovimは既にインストールされています"
else
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
sudo rm -rf /opt/nvim
sudo tar -C /opt -xzf nvim-linux64.tar.gz
sudo ln -sf /opt/nvim-linux64/bin/nvim /usr/local/bin/nvim
rm nvim-linux64.tar.gz
# パスを追加
if ! grep -q "nvim-linux64" ~/.zshrc; then
echo 'export PATH="$PATH:/opt/nvim-linux64/bin"' >> ~/.zshrc
fi
fi
# Neovimの基本設定ディレクトリを作成
mkdir -p ~/.config/nvim
# ----------------------------------------
# Node.jsのインストール(nvm経由)
# ----------------------------------------
echo -e "${YELLOW}Node.jsをインストールしています...${NC}"
if [ ! -d "$HOME/.nvm" ]; then
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# nvmの環境変数を設定
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# 最新のLTS版をインストール
nvm install --lts
nvm alias default lts/*
fi
# ----------------------------------------
# 開発ツールのインストール(ripgrep, fd-find)
# ----------------------------------------
echo -e "${YELLOW}開発ツールをインストールしています...${NC}"
sudo apt install -y ripgrep fd-find jq htop bat
# fdコマンドのシンボリックリンク作成
mkdir -p ~/.local/bin
ln -sf $(which fdfind) ~/.local/bin/fd
# PATHを追加
if ! grep -q "HOME/.local/bin" ~/.zshrc; then
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc
fi
# ----------------------------------------
# tmuxのインストール
# ----------------------------------------
echo -e "${YELLOW}tmuxをインストールしています...${NC}"
sudo apt install -y tmux
# tmux設定ファイルの作成
cat > ~/.tmux.conf << 'EOF'
# プレフィックスキーをC-aに変更
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# ウィンドウとペインのインデックスを1から始める
set -g base-index 1
setw -g pane-base-index 1
# マウス操作を有効化
set -g mouse on
# ステータスバーの色を設定
set -g status-style fg=white,bg=black
# 256色端末を使用
set -g default-terminal "screen-256color"
# コピーモードでvimキーバインドを使用
setw -g mode-keys vi
EOF
# tmux plugin managerのインストール
if [ ! -d "$HOME/.tmux/plugins/tpm" ]; then
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# プラグイン設定を追加
cat >> ~/.tmux.conf << 'EOF'
# プラグイン管理
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# 自動保存と復元
set -g @continuum-restore 'on'
# プラグインの初期化
run '~/.tmux/plugins/tpm/tpm'
EOF
fi
# ----------------------------------------
# zoxideのインストール
# ----------------------------------------
echo -e "${YELLOW}zoxideをインストールしています...${NC}"
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
# zshrcに設定を追加
if ! grep -q "zoxide init" ~/.zshrc; then
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
fi
# fzfのインストール
sudo apt install -y fzf
# ----------------------------------------
# Rubyのセットアップ(rbenv経由)
# ----------------------------------------
echo -e "${YELLOW}Rubyをセットアップしています...${NC}"
if [ ! -d "$HOME/.rbenv" ]; then
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git "$(~/.rbenv/bin/rbenv root)"/plugins/ruby-build
# rbenvの初期化を.zshrcに追加
if ! grep -q "rbenv init" ~/.zshrc; then
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(~/.rbenv/bin/rbenv init - zsh)"' >> ~/.zshrc
fi
# パスを設定
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(~/.rbenv/bin/rbenv init - zsh)"
# Rubyのビルド依存パッケージをインストール
sudo apt install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev libgdbm-compat-dev
# 最新安定版のRubyをインストール
rbenv install $(rbenv install -l | grep -v - | tail -1)
rbenv global $(rbenv install -l | grep -v - | tail -1)
# Bundlerをインストール
gem install bundler
rbenv rehash
fi
# ----------------------------------------
# Dockerのインストール
# ----------------------------------------
echo -e "${YELLOW}Dockerをインストールしています...${NC}"
# すでにDockerがインストールされているか確認
if ! command -v docker >/dev/null 2>&1; then
# GPGキーのインストール
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=$(dpkg --print-architecture) 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
# Dockerパッケージのインストール
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# ユーザーをdockerグループに追加
sudo groupadd docker 2>/dev/null || true
sudo usermod -aG docker $USERNAME
# Docker自動起動を有効化
sudo systemctl enable docker
sudo systemctl start docker
fi
Discussion