ターミナルマルチプレクサ tmux を使ってみる

一つの端末上で複数の端末を動かすターミナルマルチプレクサ(terminal multiplexer)と呼ばれるソフトがあります。代表的なものに GNU Screen がありますが、設定ファイルを弄ろうとすると難解で挫折して使わなくなってしまって幾星霜。

最近になってまた使いたくなって色々と調べてみたところ、 screen と同等の機能を持っていて活発に開発が進んでいる tmux というものがあるらしいというので導入してみることにしました。


【前提】
OS: Scientific Linux 6.3

  • tmux の導入

  • tmux を導入するための準備をします。 Scientific Linux 標準のレポジトリには入っていないので、 epel のレポジトリを追加します。
    # yum install yum-conf-epel
    

    レポジトリの追加が終わったら tmux をインストールします。
    # yum install tmux
    

    これで準備は完了です。 tmux コマンドで起動します。こんな感じのことができます。

    以下、簡単に画面の説明です。
    • window
    • 画面下部緑色のラインに起動している window が表示されています。
        0:[tmux]* 1:zsh-
      とありますが、 * (アスタリスク)の付いている方が現在表示している window になります。今利用しているのは window(0) ですね。
    • pane
    • window(0) は画面左右に分割されていて、さらに左側は上下に分割しています。この分割されたそれぞれの領域を pane と呼びます。 pane 一つ一つが独立した端末として動作します。


  • tmux の操作

  • tmux は C-b (Ctrl-b) を入力後にコマンドキーを入力することで操作ができます。 使いそうなコマンドキーを以下にリストアップします。

    コマンドキー動作
    c新しく window を開く
    0 to 9対応する番号の window を選択する
    "pane を上下に分割
    %pane を左右に分割
    Up, Down,Left, Right対応する方向にある pane に移動
    [コピーモード開始
    ]コピーバッファにある内容をペースト
    :tmux のコマンドプロンプトを表示
    ?キーバインドのリストを表示


さて小話でも。

Linux にログインして作業するときって、端末複数開いて作業することありませんか? 私は2,3画面開いて片一方でマニュアル開きながらもう片一方で設定ファイル編集するというようなことをよくやっているのですが、その時もどかしいのが端末間の文字のコピペです。 マウス使えばできますがキーボードだけじゃできないですよね。 emacs 使えば解決するんでしょうが、長年 vi 使ってきているんで今更移るもの億劫だし。。。

そんなお悩みをお持ちのあなたに、 tmux を使えば tmux の機能で端末間のコピペができるようになりますよ!というお話でした。



【関連】

このブログの人気の投稿

zsh 設定 - プロンプト -

テンションを上げたいときにおすすめの曲(StarrySky YEAH! Remix)

OpenLDAP のログ周りの設定をする