screen(だけ)の時代は終わり。アシアルブログスマートフォン用の表示で見るアシアルブログアシアルの中の人が技術と想いのたけをつづるブログです2012-03-15screen(だけ)の時代は終わり。コメントをいただきましたので、一部本文を修正させて頂きました。1.サーバー・クライアントモデルというのはネットワーク接続なイメージになってしまいますので、取り外しました2.mouse-utf8に関してコメントを頂いたので補足しました3.タイトルを「screenの時代は終わり。tmuxでリモートコンソールを便利に使うTips」から「screenだけの時代は終わり。tmuxでリモートコンソールを便利に使うTips」に変更しました(変な誤解を受けられた方がいらっしゃったため)お久しぶりの田中です。最近、ずっと大型案件に携わっていた関係で、あまりブログ等でのアウトプットができていませんでした。これからはドンドン書いていきますので、どうぞよろしくお願いします。screenと同様の機能を持つtmuxを紹介します。screenやtmuxは、1つのターミナル画面上に複数のコンソールウィンドウを表示するためのソフトです。screenと比べて、tmuxは比較的最近、注目を浴びています。私も1年ほどtmuxを常用し、便利に使わせていただいています。ここでは、tmuxを便利に使うために僕が行なっている設定を紹介します。・screenとは異なり、tmuxはクライアント・サーバーモデルとなります。tmuxサーバーが常時起動し、tmuxクライアントのattachを待ちます。そのため、複数のPCで同じ画面を表示することができます。・また、tmuxでは1つの画面(window)を複数のコンソールに分割する(複数pane)ことができます。その分、tmuxでは、client、window、paneという概念があり、screenよりは複雑になっています。・コマンドラインも充実しています。ウィンドウ分割やバッファ操作などの命令は、キーバインドだけでなく、tmuxコマンドを用いても指示を出せます。これを使って各サーバーの自作管理ツールを作っていますが、その話はまたどこかで言及したいと思います。tmuxでサクっとインストールできます。tmuxコマンドをタイプすると、コンソールが表示されると思います。attach以外は、すべてキーバインドにアサインされています。デフォルトはCtrl-bですが、.tmux.confを編集することで変更可能です。tmux.confでカスタマイズホームディレクトリの.tmux.confを作成して編集することで、キーバインドの変更や、オプションの設定を行えます。ここでは、私が設定している設定について説明します。10000この例では、tmuxのヒストリサイズを1万行に設定しています(デフォルトは2000行)。tmuxではウィンドウごとにバッファを管理しており、さかのぼって検索するだけでなく、コピー&ペーストを行うことも可能です。whiteこの辺の設定はお好みで。マニュアルを見ながらカスタマイズすると良いでしょう。on上記設定により、私が普段使っているPuTTYにて、マウスが使えるようになります。マウスの範囲選択でバッファへのコピー&ペーストを行ったり、ステータスラインでマウスクリックによるウィンドウ選択などが可能になります。PuTTYの場合、デフォルトのマウス動作(Windows標準クリップボード)を使いたい場合は、Shiftキーを押しながら操作します。previous-window私はフルスクリーン作業を中心にするため、頻繁にウィンドウ切り替えを行います。そのため、Ctrl-スペース、およびAlt-スペースをウィンドウ操作に割り当てています。masahiro@example.com"よく、今見えている画面を残しておきたい(ログがわりに取得しておきたい)ことがあります。いう時には、上記設定が便利です。Ctrl-Sをタイプすると、バッファの1万行分の画面表示が、自分のメールアドレスに送信されます。上の例のように、tmuxではバインドキーに対してシェルスクリプトを実行できます。使い方次第では、他にも応用例が考えられるでしょう。tmuxの注意点ウィンドウを多数開いている場合、スクロールバッファを増やしすぎると、tmuxサーバープロセスのメモリ使用量が非常に大きくなり、固まってしまうことがあります。tmuxの安定性に対して疑問に思うことはありませんが、あまりスクロールバッファを大きくすることは控えたほうが賢明です。16:30screen(だけ)の時代は終わり。byスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。