開発、サーバーのメンテナンス、またはスクリプトの実行中に、操作を行うために複数のウィンドウをターミナルで開く必要があることがよくあります。しかし、各ウィンドウに新しいターミナルを開く必要があると、時間の浪費だけでなく、操作が混乱する可能性もあります。このような場合、ターミナルの再利用ツールが非常に便利です。その中でも、tmux はよく使われるターミナルの再利用ツールの一つです。
tmux のインストール#
Ubuntu では、次のコマンドを使用して tmux をインストールできます:
sudo apt-get install tmux
tmux の起動#
tmux を起動するには、ターミナルで次のコマンドを入力するだけです:
tmux
これにより、新しい tmux セッションが開かれます。
tmux のショートカットキー#
tmux の大きな特徴は、ショートカットキーを使用してより効率的に操作できることです。
以下はいくつかの一般的な tmux のショートカットキーです:
Ctrl+b "
:現在のウィンドウで新しい水平パネルを作成しますCtrl+b %
:現在のウィンドウで新しい垂直パネルを作成しますCtrl+b 方向キー
:現在のウィンドウで異なるパネルに切り替えますCtrl+b c
:新しいウィンドウを作成しますCtrl+b ,
:現在のウィンドウの名前を変更します。Ctrl+b 数字キー
:指定された番号のウィンドウに切り替えますCtrl+b d
:現在の tmux セッションを離れますtmux attach
:以前の tmux セッションに再接続します
さらに多くのショートカットキーは、tmux list-keys
コマンドで確認できます。
tmux の設定ファイル#
tmux の設定ファイルは~/.tmux.conf
です。この設定ファイルを変更することで、tmux のデフォルトの動作を変更したり、カスタムショートカットキーを追加したりすることができます。以下は一般的な設定のいくつかです:
# Ctrl+bをCtrl+aに変更する
set-option -g prefix C-a
# ウィンドウとパネルの番号を1から開始する
set-option -g base-index 1
setw -g pane-base-index 1
# Altキーでウィンドウを切り替える
bind-key -n M-h select-pane -L
bind-key -n M-l select-pane -R
bind-key -n M-j select-pane -D
bind-key -n M-k select-pane -U
# Ctrl+a cで新しいウィンドウを作成する
bind-key C-a c new-window
Arch Linux の i3wm で alacritty ターミナルを起動する際にデフォルトで tmux を有効にする方法#
-
tmux のインストール
Arch Linux では、次のコマンドを使用してインストールできます:
sudo pacman -S tmux
-
tmux の設定ファイルの作成
ユーザーディレクトリに
.tmux.conf
という名前のファイルを作成し、次の内容を追加します:# Ctrl+bをCtrl+aに変更する set-option -g prefix C-a # ウィンドウとパネルの番号を1から開始する set-option -g base-index 1 setw -g pane-base-index 1
-
alacritty の設定ファイルの変更
alacritty の設定ファイル
~/.config/alacritty/alacritty.yml
を開き、次の内容を追加します:shell: program: /usr/bin/tmux args: - new-session
これにより、alacritty ターミナルを起動すると自動的に新しい tmux セッションが開始されます。
alacritty を起動した後すぐに tmux に入る場合は、次の内容を追加します:
shell: program: /usr/bin/tmux args: - new-session - -A
A
オプションは、既に tmux セッションが存在する場合にそのセッションに直接接続することを意味します。
-
i3wm の再起動
次のコマンドを実行して i3wm を再起動します:
i3-msg restart
その後、alacritty ターミナルを起動すると、自動的に tmux セッションが開始されます。
結論#
tmux は非常に便利なターミナルの再利用ツールであり、ターミナルをより効率的に使用することができます。一般的なショートカットキーのマスタリングや設定ファイルの変更により、tmux をより個人化して使用することができます。この記事が役に立つことを願っています!