【はじめに】
MSYS2上でtmuxを動作させる手順をまとめました。
MSYS2の導入はこちら の記事をどうぞ
【tmuxの導入】
MSYS2では、tmuxパッケージが提供されていますので、パッケージマネージャ(pacman)から
$ pacman -S tmux
で簡単に導入できます。
一応バージョン確認
$ tmux -V
tmux 2.0
【tmuxの起動】
tmuxの起動は
$ tmux
で問題なく動作します。
これで一見うまくいっているように見えますが、
$ exit
を実行して一度tmuxを終了した後に、再度起動させようとすると、
$ tmux
“failed to connect to server: Permission denied”
とエラーが表示され、tmaxが起動できません。
tmuxを再度起動させるためには、/tmp ディレクトリ以下にある tmux-****** ディレクトリを消去した後に再起動する必要があるようです。
しかしながら、このディレクトリ削除の作業を毎回行うのは面倒なので、こちら の投稿にあるように
alias tmux='rm -rf /tmp/tmux* && tmux'
を*.bashrc*に設定しておくことで回避しましょう。
Note : 上記の方法で、毎回新たにtmuxを起動する(新しいセッションを作成して起動)することはできるのですが、前回のセッションにAttachしたり、複数のセッション間を移動するようなことは出来ません。 (何か情報があるかたがおりましたらお教えください)
【基本的な操作方法】
一応tmuxの主なコマンドを挙げておきます
機能 | コマンド |
---|---|
Window作成 | Ctrl+b c |
次のWindow | Ctrl+b n |
前のWindow | Ctrl+b p |
Window選択 | Ctrl+b 数字 |
Window終了 | Ctrl+b & |
横分割 | Ctrl+b " |
縦分割 | Ctrl+b % |
ペイン移動 | Ctrl+b o |
ペイン終了 | Ctrl+b x |
【マウスモードの設定】
次に、tmuxの操作をマウスを使って行えるようにマウスモードの設定をします。
これは設定ファイル(~/.tmux.conf) に以下の設定を追記します。
(設定ファイルがない場合は作成してください)
set-option -g mode-mouse on
set-option -g mouse-utf8 on
set-option -g mouse-resize-pane on
set-option -g mouse-select-pane on
set-option -g mouse-select-window on
これにより、マウスを使っての
・Windowの切り替え
・Paneの移動
・Paneのサイズ変更
・スクロール
を行えるようになります。
マウスモードを設定すると従来のターミナル(mintty)で行えていた、コピー/ペースト処理が行えなくなりますが、**「SHIFTキーを押したままの状態でマウスを操作する」**ことで通常通りの選択/コピー/ペーストが行うことが出来るようです(今のところ私はこれで特に不便を感じておりません)。
【感想】
残念ながら、Session(attach/detach)は動作しませんでしたが、Window/Paneは問題なく動作しているので、単に複数ターミナルを使用したい場合は十分使えるレベルと思います。