この記事では、Linux Ubuntuをインストールした後に行う設定を端から端まで詰め込んで紹介する。
この記事を書き始めた動機は自分用の設定メモを作りたい、というものである。
人それぞれ必要のない設定や合わない設定があると思う。
取捨選択しながら設定してほしい。
自分流の環境構築をまだ確立していない初心者には特におすすめの記事だ。
なお、この記事は私が使う環境の変化に合わせて変更を行うことがある。
Version
Ubuntu 22.04.1 LTS
Software Update
Ubuntuをインストールするとすぐにこのようなものが表示されるはずだ。
バグフリーでセキュリティ万全なUbuntuライフを過ごすために毎回承諾してアップデートしておこう。
Chromeのインストール
Windowsと同様、最初にするのはブラウザのインストールである。
この記事をいつものブラウザで表示するためにもやってほしい。
インストール
私が使うのはVivaldiだが、ほとんどの人はChromeを使うはずだ。
インストール方法を案内する。
なお、Ubuntuに最初から入っているのはFirefoxだ。
Firefoxに最初で最後の仕事をさせてあげよう。
ubuntu chrome
と検索するのだ。
次のようなページが開けたら、指示に従ってChromeをダウンロードしよう。
あなたの環境に合ったものをダウンロードできるはずだ。
Ubuntuでは.deb
のパッケージでインストールする。
上を選ぼう。
次のようにしてダウンロードしたパッケージを使ってChromeをインストールする。
インストールした時期などによってファイル名は違うはずだ。
適宜変更してほしい。
sudo apt install ./Downloads/google-chrome-stable_current_amd64.deb
これでインストールは完了だ。
起動
さあChromeを起動しよう。
Windowsのようにデスクトップにショートカットが追加されたりはしない。
Windows
キーを押してアプリ検索を行い、Google Chrome
を見つけて起動する。
タブメニューのカスタマイズ
Chromeのようによく使うものはタブメニューに登録しよう。
ソフトウェアを起動後、タブメニューのアイコンを右クリックすると次のようなメニューが現れる。
Add to Favorites
でお気に入り登録しよう。
なお、すでにお気に入り登録されているものを右クリックすると次のようなメニューが現れ、Remove from Favorites
でお気に入りから外すことができる。
FirefoxやThunderbirdなど、いらないものはこれで追放しよう。
Caps LockをCtrlにする 1
Caps Lockはほとんど使われないくせにホームポジションのすぐとなりに堂々と居座るふてぶてしいキーである。
Ctrlにその座を譲れ。そしていなくなれ。
やり方は単純で設定ファイルをいじるだけだ。
そのためにはターミナルの起動が必要だ。
検索して見つけよう。
次のコマンドでファイルを開き、編集する。
誰でも触れるnanoで話を進めるが、もちろんvimでもVSCodeでも問題ない。
sudo nano /etc/default/keyboard
nanoが入っていない場合は次のコマンドでインストールする。
sudo apt install -y nano
ファイルの中身は次の通りである。
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
ここで、XKBOPTIONS=""
をXKBOPTIONS="ctrl:nocaps"
に変更する。
変更したらCtrl-x
-> y
-> Enter
を押して保存して終了する。
再起動するか、次のコマンドを実行後、ログアウト、再ログインする。
sudo systemctl restart console-setup
これで押しやすいCtrlキーが手に入った。
日本語化 (英語設定の場合)
私はUSキーボードを使用している。
JISキーボードを使っていてすでに日本語化されている場合はこの章は無視して進めてほしい。
私は残念ながら今の段階では日本語を入力することができない。
日本語入力ができなければ満足に検索することもできないし、この記事を書き上げることもできない。
この記事は実際にインストールしながら書いているのだ。不便すぎる。
すぐに取りかかろう。
fcitx-mozcのインストール 2
日本語を入力するためにはfcitx-mozc
をインストールするのがよい。
Ubuntuではapt
を利用してほしいものをインストールする。
Ubuntuをインストールしたばかりなのでまずアップデートから始める。
下のコマンドを実行しよう。
sudo apt update
パスワードを求められるので、インストール時に設定したパスワードを入力し、Enter
キーを押す。
パスワードを入力しても画面上には表示されない。
実行が終わったらfcitx-mozc
をインストールしよう。
次のコマンドを順番に入力していく。
sudo apt install -y fcitx-mozc
im-config -n fcitx
fcitx-autostart
fcitx-configtool
を起動する。
ソフトウェアを起動するには、ソフトウェア検索から実行することもできるが、terminal上で起動することもできる。
やってみよう。
fcitx-configtool
次のような画面が表示される。
Keyboard-English(US)
は使用しない。
これにカーソルを合わせた上で、左下の-
ボタンから削除しよう。
また、左下の+
ボタンからMozc
を追加しよう。
するとこのようにMozc
だけが残る。
これで本当なら日本語入力ができるのだが、今はアルファベット入力のまま日本語入力に切り替えられない。
半角全角ボタンで日本語入力に切り替えられるが、USキーボードにはそのようなボタンはないからだ。
Ctrl-Space
で切り替えられるようにしよう。
Mozc Setup
を検索して起動する。
起動すると次のような画面が出てくる。
下の方のKeymap style
の右にあるCustomize...
を押すと次のような画面が出てくる。
それぞれの操作をどのキーバインドで実行するか設定する画面である。
Hankaku/Zenkaku
と書かれた箇所を選択しよう。
次のような画面が出てくるはずだ。
ここで自分が設定したいキーを入力する。
Ctrl
キーを押しながらSpace
キーを押し、OK
を選ぶ。
下記は今起動ているソフトは再起動しないと日本語入力できませんよ、ということを行っている。
もちろんOK
だ。
これで一番下のApply
が押せるようになった。
Apply
を押してOK
しよう。
これで日本語入力ができるようになっているはずである。
できない場合はパソコンを再起動しよう。
やったーーーーー!!!これで記事が書ける!!
スクリーンセイバーの無効化
開発環境の整備
さて、開発に必要なものをインストールしていこう。
まだUbuntuがOSとしてまともに使えるようになっただけで、このパソコンは何も開発できないのだ。
ここから何が必要かは人によって違うだろうが、Gitは使うはずだ。
Git及びGitHubのセットアップ
Gitのインストール
次のコマンドを入力してGitをインストールしよう。
sudo apt install -y git
ユーザネームの設定
Your Name
の部分を自分の名前に変えて設定しよう。
git config --global user.name "Your Name"
名前が設定できたか確認する。
git config --global user.name
入力した自分の名前が表示されれば成功だ。
メールアドレスの設定
email@example.com
の部分を自分のメールアドレスに変えて設定しよう。
git config --global user.email "email@example.com"
メールアドレスが設定できたか確認する。
git config --global user.email
入力した自分のメールアドレスが表示されれば成功だ。
GitとGitHubの接続 3
GitHubに接続するにはHTTPSを使う方法とSSHを使う方法の2種類がある。
ここではSSHで接続するための設定を行う。
SSHキーの生成
email@example.com
の部分を自分のメールアドレスに変えて実行しよう。
ssh-keygen -t ed25519 -C "email@example.com"
次のようにどこのキーを保存するか決めてほしいと言われる。
基本的にはデフォルトで構わない。
Enter
キーを押して次に進もう。
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/asuha/.ssh/id_ed25519):
次のように同じパスワードを2回入力する。
パスワードを設定しない場合は何も入力せずEner
キーを押せばよい。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
これでSSHキーが作れたはずだ。
鍵の保存先が示される。
Your identification has been saved in /home/asuha/.ssh/id_ed25519
Your public key has been saved in /home/asuha/.ssh/id_ed25519.pub
SSHキーをssh-agentに追加
このままでは頻繁にパスワードの入力を要求されてしまう。
SSHキーをssh-agent
に追加しよう。
まずssh-agent
を起動する。
eval "$(ssh-agent -s)"
鍵の保存先を指定しよう。
自分でファイルパスを入力した場合は~/.ssh/id_ed25519
の部分を書き換えてほしい。
ssh-add ~/.ssh/id_ed25519
これでパスワードの入力を省略できるようになった。
SSHキーをGitHubに追加する
cat
コマンドで公開鍵をターミナルに表示する。
拡張子pub
がついていることを確認してほしい。
cat ~/.ssh/id_ed25519.pub
これでファイルの中身が表示されるので、全てクリップボードにコピーする。
GitHubを開いて右上のアイコンをクリックしてSettings
を選択する。
次に左側のメニューにあるSSH and GPG keys
を選択する。
New SSH key
を選択する。
すると次のような画面が現れるので、Key
の部分に先程コピーした公開鍵を貼り付ける。
Title
はどのパソコンの鍵かがわかるように自由につけよう。
おすすめは次のようにターミナルに表示されているユーザ名とホスト名の組み合わせをそのままコピペすることだ。(ホスト名だけでも良いだろう)
私の場合はasuha@asuha-HP-EliteDesk-800-G6-Tower-PC
である。
コピペできたらAdd SSH key
を選択する。
GitHubへの接続をテストする
GitHubへ接続できるかテストしよう。
ssh -T git@github.com
表示されるED25519 key fingerprint
がSSHキーを生成したときと同じものか確認するのが理想だが、面倒だ。
yes
を押して続け、次のように表示されれば成功である。
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Hi Asuha-a! You've successfully authenticated, but GitHub does not provide shell access.
これでGitとGitHubが存分に使えるようになった!
VSCodeのインストール
VSCodeはvim vs emacs論争を終わらせて覇権を取ったテキストエディタである。
公式サイトからパッケージをダウンロードしよう。
ダウンロードできたらインストールする。
sudo apt install ./Downloads/code_1.74.2-1671533413_amd64.deb
インストールは完了だ。
Vimのインストール
ちょっとしたファイルの編集ならなんだかんだVimを使うことも多い。
インストールしておこう。
sudo apt install vim
ターミナルのカスタマイズ
デフォルトでは自分にとっては使いにくい。
使いやすいようにカスタマイズしていく。
ここは好みの部分が大きいので、参考程度にしてほしい。
zshのインストール 4
まずはzshのインストールから始める。
なぜzshを使うのかという疑問は次の記事を見て解消するよい。
Bash vs. Zsh – differences you should know - FOSS Linux
次のコマンドでインストールする。
sudo apt install zsh
バージョンを確認しよう。zsh 5.0.8
かそれ以上であればよし。
zsh --version
次のコマンドでzshをデフォルトのシェルに設定する。
chsh -s $(which zsh)
実行したらターミナルを再起動しよう。
起動時に次のような選択肢が出てくる。
特にこだわりがなければ2
がおすすめだ。
This is the Z Shell configuration function for new users,
zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~). This function can help you with a few settings that should
make your use of the shell easier.
You can:
(q) Quit and do nothing. The function will be run again next time.
(0) Exit, creating the file ~/.zshrc containing just a comment.
That will prevent this function being run again.
(1) Continue to the main menu.
(2) Populate your ~/.zshrc with the configuration recommended
by the system administrator and exit (you will need to edit
the file by hand, if so desired).
--- Type one of the keys in parentheses ---
そして今zshを使っていることを確認する。
echo $SHELL
/bin/zsh
のように出力されたら成功だ。
bashが使われているままであればパソコンを再起動して試してみよう。
これでzshのインストールは完了だ。
Oh My Zshのインストール
Oh My Zshはzshのプラグイン等を管理するためのフレームワークだ。
zshをカスタマイズするなら必要になる。
次のコマンドでインストールしよう。
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
curl
コマンドがインストールされていない場合は
sudo apt install curl
これでOh My Zshのインストールは完了だ。
Oh My Zsh Theme
Oh My Zsh Themeの変更方法
Oh My Zshではテーマを簡単に変更できる。
デフォルトではrobbyrussell
というテーマになっている。
次のように現在のディレクトリとブランチのみ表示されるシンプルなテーマだ。
テーマ一覧から自分に合ったテーマを探して導入してみよう。
好みのテーマを使えば気分も上がる。重要だ。
変更したいテーマを見つけたらテーマの名前をメモしておこう。
.zshrc
を開く。
nano ~/.zshrc
Oh My Zshを入れた際に2
を選んだので色々と書き込まれている。
ZSH_THEME="robbyrussell"
の部分に変更したいテーマの名前を入れればテーマが変わる。
なお、.zshrc
を編集したときはシェルを再起動するかsource ~/.zshrc
を実行する。
そうしなければ変更が反映されない。
テーマ一覧の一番上のaf-magic
を試してみよう。
すると次のようにテーマが変わった。
なお、.zshrc
にこのように書いてあるとおり、random
と入れるとOh My Zshが読み込まれるたびにランダムにテーマを変えてくれる。
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
実際にやってみると次のようになんのテーマを読み込んだかまで教えてくれる。
また、.zshrc
にはこんなことも書いてある。
ZSH_THEME="random"
と設定したとき、さらにZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
を設定すると括弧内のテーマからランダムにテーマが選ばれる。
お気に入りのテーマが複数ある場合はこれを活用できる。
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
私はこの際にpowerlevel10k
を試してみようと思う。
詳しくは割愛する。
下記のサイトを参考にインストールしてほしい。
romkatv/powerlevel10k: A Zsh theme
ちなみにインストールすると次のようになった。
Oh My Zsh Plugin
zsh-syntax-highlighting 5
zsh-syntax-highlighting
は入力したコマンドを色付けしてくれるプラグインだ。
次のコマンドを順に実行してzsh-syntax-highlighting
を導入する。
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
さらに現在のシェルでzsh-syntax-highlighting
を有効化する。
source ./zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
すると次のように一番左のコマンドが緑色に色づいた。
またpip install hoge
と入力するとpip
が赤色になっている。
そのようなコマンドは存在しないという意味だ。
入力している途中でコマンドがインストールされていないことに気づけるので有用だ。
次のように文字列に色を付けることもできる。
zsh-autosuggestions 6
zsh-autosuggestions
はコマンドの入力を予測してサジェストしてくれる。
まずリポジトリをクローンしよう。
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
あとは.zshrc
のplugins
にzsh-autosuggestions
を追加するだけだ。
# 変更前
plugins=(git)
# 変更後
plugins=(
git
zsh-autosuggestions
)
ターミナルを再起動しよう。
すると次のようにコマンドのサジェストが出てくるようになる。
前に入力したコマンドを覚えていてサジェストしてくれている。
サジェストは->(右矢印キー)
やCtrl-f
で採用できる。
tmuxのセットアップ
tmuxのインストール 7
tmux
があればターミナルを分割できる。
いつも通りapt
でインストールして起動しよう。
sudo apt install tmux
tmux
すると次のようにターミナル下部にtmuxのインフォメーションバー(?)が現れる。
もしシェルの表示が白黒だった場合は.tmux.conf
にset -g default-terminal "xterm-256color"
を追加しよう。 8
tmux
はCtrl-b
のプレフィックスを押したあとにコマンドを実行する。
vimでいう:
のように。
Ctrl-b
のあとに%
を押してみよう。
次のようにターミナルが左右に分割される。
さらに続けてCtrl-b
のあとに"
を押してみよう。
さらにターミナルが上下に分割された。
Ctrl-b
のあとにo
で分割されたターミナル(ペインという)を移動できる。
また、Ctrl-b
のあとにx
を押すことでペインを削除できる。
他にも機能がいっぱいあるので次の記事などを参考にしてほしい。
tmuxチートシート - Qiita
tmuxの自動起動 9
tmuxは便利だが、ターミナルが立ち上がるたびにtmux
と入力して起動するのは面倒だ。
ターミナルが立ち上がると同時にtmuxも起動できるようにしよう。
次の設定を.zshrc
に追加する。
一番下に追加すればよいと思うが、powerlevel10k
を使用しているとopen terminal failed: not a terminal
と出て失敗した。
.zshrc
の一番上に追加すると解決した。
# tmux auto start
# Adapted from https://unix.stackexchange.com/a/113768/347104
if [ -n "$PS1" ] && [ -z "$TMUX" ]; then
# Adapted from https://unix.stackexchange.com/a/176885/347104
# Create session 'main' or attach to 'main' if already exists.
tmux new-session -A -s main
fi
これでターミナルを起動すると同時にtmuxが起動する。
マウスモードをオンにする 10
この設定はtmuxのキーバインドに慣れているなら行わなくてもよいと思う。
次の設定を~/.tmux.conf
に追加する。
set -g mouse on
マウスポインタが表示されていないのでわかりにくいが、ペインをクリックするとそのペインにカーソルが移る。
また、境界線をドラッグすることでペインの大きさを変えることができる。
tpm(Tmux Plugin Manager)のインストール 11
tpm
はtmuxのプラグインの管理に用いるプラグインマネージャだ。
最初に導入しよう。
まずtpm
をクローンする。
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
次に~/.tmux.conf
の一番下に次のように書こう。
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
そして次のコマンドで~/.tmux.conf
の変更を反映する。
tmux source ~/.tmux.conf
プラグインをインストールするには次のような形で~/.tmux.conf
に追記し、Ctrl-b + I
を押す。Installの略だと覚えよう。
set -g @plugin 'github_username/plugin_name'
プラグインをアンインストールするには~/.tmux.conf
からプラグインを削除し、Ctrl-b + alt + u
を押す。uninstallの略だと覚えよう。
また、Ctrl-b + U
でプラグインをアップデートできる。UはUpdateの略だ。
tmux-resurrect
tmux-resurrect
をインストールするには~/.tmux.conf
に次のように書き、Ctrl-b + I
を押す。
set -g @plugin 'tmux-plugins/tmux-resurrect'
実際に使ってみよう。
次の画面の環境を保存する。
Ctrl-b + Ctrl-s
で環境を保存する。(sはsaveの意味)
するとtmuxのバーにTmux environment saved!
と出る。
ここで一度ペインを一つ削除して次のようにする。
ここから先程保存した環境を呼び戻そう。
Ctrl-b + Ctrl-r
で環境を復元する。(rはrestoreの意味)
次のように保存された環境が復元されるとともに、tmuxのバーにTmux restore complete!
と出る。
他にも、次のような作業ディレクトリや実行しているコマンドなども、保存、復元できる。
デフォルトでは、vi vim nvim emacs man less more tail top htop irssi weechat mutt
が対応している。
他のコマンドを復元したければ別に設定が必要だ。
(tmux-resurrect/restoring_programs.md at master · tmux-plugins/tmux-resurrect)
ここで環境を保存した後にコマンドを終了したり、作業ディレクトリを変更したりすると環境を復元したときにも同様にコマンドは終了し、作業ディレクトリは変更されているので注意しなければならない。
tmux-continuum
tmux-resurrect
は自分で環境を保存しなければならないが、tmux-continuum
を導入すれば、15分おきに自動で保存してくれるようになる。
tmux-continuum
をインストールするには~/.tmux.conf
に次のように書き、Ctrl-b + I
を押す。
set -g @plugin 'tmux-plugins/tmux-continuum'
これで15分おきに自動で環境を保存してくれる。
ただし、自動で環境を復元してくれるだけで、自動で復元してくれるわけではない。
Dockerのインストール 12
まずはDockerが入っていないことを確かめよう。
sudo apt remove docker docker-engine docker.io containerd runc
次にDockerのインストールに必要なパッケージをインストールする。
sudo apt update
sudo apt install \
ca-certificates \
curl \
gnupg \
lsb-release
Docker公式のGPG keyをダウンロードする。
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /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
もう一度sudo apt update
を実行する。
sudo apt update
次のコマンドでDockerをインストールする。
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
これでインストールは終わった。
次のコマンドでDockerが正常に動作するか確かめよう。
sudo docker run hello-world
次のようなメッセージが表示されたら成功だ。
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/