2008-01-14
screenを初めて使うためのチュートリアル
screenというものすごく便利なアプリケーションがあります。上記写真のように、1つのターミナル内で、仮想的に複数の端末を起動させることができるものです。
ただ慣れるまでは少々使い方がとっつきづらいという話も聞きますので、今回はscreenを基本的に使えるまでのチュートリアルを紹介したいと思います。
どんなことができるの?
複数の仮想端末をあげるとどういったメリットがあるのでしょうか?実際に自分はscreenを使うまではターミナルを複数起動させ、Desktop上はターミナルだらけになっていました。
実際はそれでも問題は起きないのですが、個人的にはローカルPC側では極力起動しておくアプリケーションを少なくしたいと思っているため、screenを使うようになりました。
ただそれだけであればWindowsならPoderosa,MacならiTerm,GnomeならGnome端末があるのですが、screenなりのメリットもあるので利用する価値はあるかと思います。
screenをインストールする!
まずはインストールしましょう。有名どころのディストリビューションでは、ほぼパッケージが容易されています。自分が試したOSだけ記載します。
# apt-get install screen
# yum install screen
# port install screen
素晴らしく簡単ですね。
screenの環境設定をする!
環境設定といっても、.screenrcと呼ばれる設定ファイルを記述します。以下の内容を記述したファイルを自分自身のホームディレクトリに、.screenrcという名前で保存してください。
autodetach on
bell_msg "^G"
defkanji utf-8
defencoding utf-8
encoding utf-8 utf-8
defscrollback 10000
escape ^Jj
startup_message off
vbell off
caption always "%{= wb} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wk} [%l] %{=b wb}%y/%m/%d(%D) %{=b wm}%c"
bind n screen
bind h prev
bind j next
bind l windowlist
いろいろなサイトをみたりしながら作ったものです。キーバインドはデフォルトと変えているので注意してください。
(実際、screen上でemacsをあげたい方はこれだとぶつかります。)
細かい設定の意味などはここでは割愛しますので、チュートリアルを行いながら確認していきましょう。
screenを起動する!
それでは環境設定ファイルを作成したら、screenを起動しましょう。
# screen
以下のような画面が表示されればOKです。
複数のシェルを起動する!
それでは、複数のシェルをあげてみましょう。以下のコマンドを打ってください。
# screen -t newterm
どうでしょうか?画面下部に、newtermと行った項目が追加されているのに気がつくと思います。
これはscreen上でnewtermと名前をつけたシェルが新規に起動したことをさします。実際は、使用するアプリケーション毎にわかりやすく名前をつけて起動させると良いでしょう。
赤字で選択されているのが現在操作できる端末になるので先ほど最初に起動したbashという端末に戻ってみましょう。
CTRL+j の後、0(数字のゼロ)
どうでしょうか?こんどはbashと書かれた方が赤くなったと思います。
上のキー操作は、CTRL +jでescapeさせ、0で切り替える仮想端末を選択しています。
ではこの調子で複数の仮想端末を開いてください。先ほど打った、screen -t ${newterm}を複数回打ちましょう。
0,1,2,3...と順々に起動していくと思います。
またこれを切り替えて使いたいのですが、自分はわりと数字キーはタイポしやすい方なのでリストから選択する方法を使います。
CTRL+j の後、l (アルファベット小文字のエル)
下記画面のようになったでしょうか?これは現在起動している仮想端末をリスト表示している画面になります。
ここの操作は、viキーバインド or カーソルキーで上下に動かしreturnで選択をします。
さて選択できたでしょうか?screenのもっとも基本的な操作は以上です。
画面を分割する!
では最後に画面分割をやりましょう。下記のキー入力をして下さい。
CTRL+j の後、S (アルファベット大文字のエス)
どうでしょうか?下記の図のようになったでしょうか。
これは先ほど複数あげた仮想ターミナルを1つのターミナル内で分割して表示している図になります。
上下で切り替える時は以下のキー入力をしてください。
CTRL+j の後、TAB
これで入力ができるターミナルへのフォーカスが切り替わります。
実際に使う場面では、上の仮想端末でLogを見ながら下の仮想端末で実作業というような使い方が便利です。
では、画面分割を閉じましょう。
CTRL+j の後、X (アルファベット大文字のエックス)
これでフォーカスしていた仮想端末側が閉じられます。
ただここでいう閉じるは実際にシェルが終了するわけではなく、画面上閉じているだけなので安心してください。先ほどと同様の手順で再度選択することも可能です。
基本操作まとめ
最後に操作方法をまとめます。とりあえずは今回紹介した操作だけにします。
- CTRL+j
- escapce
- CTRL+j -> 数字
- 任意の仮想端末にフォーカスする
- CTRL+j -> l
- リスト表示
- j or カーソルキー↓
- screenのカーソルを↓に動かす
- k or カーソルキー↑
- screenのカーソルを↑に動かす
- CTRL+j -> S
- 画面の分割(Split)
- CTRL+j -> X
- フォーカスしている仮想端末を閉じる
ご要望があれば続きも。
いかがでしょうか?上記の使用方法だけでもかなり便利に使えると思います。
実際のところscreenにはもっと便利な機能があり(detachやrollbackなど)、その機能をつかってこそscreenの醍醐味があるのではないかなと思っています。
ご要望があれば、別途記載したいと思います。
参考サイト
- wadapの日記 - こんどはscreenネタ
- [Django][Python][jQuery][その他]巡回
- パラダイムシフトふぁくとりー資材置き場 - <今日のごった煮>
- Webアプリを作ろう - 1/14 scrap
- This is one of the web’s most interesting stories on Mon 14th J...
- メモ(`・ω・´)
- tueda_wolfの日記 - screenの使い方
- Hatena::Diary::Ubuntu - .screenrcを公開
- Unix的なアレ - もっとscreenを便利に使うためのチュートリアル
- TotoroWiki
- ざ・わーるど.jp@はてな - screen を使ってみた
- GNU SCREENの設定ファイルを晒してみる
- 半無限長キープ - screenを使う
- WEBLOG☆ - [Mac]
- Undefined Days - screen
- Logical and Creative - screen
- Logical and Creative - .emacs .screenrc .vimrc .zshrc作成エント...
- iDeaList::Writing - A Guide to Efficiently Using Irssi and Scre...
- ゆるいネクタイ嫌いじゃない - GNU screen 自分用まとめ
- 2009年カレンダー - 2008年9月13日注目記事
- KBDAHOLIC - やぬすさんとこ - Windows で楽に Linux 開発環境を手...
- スパブラの日記 - screenまとめ
- レファレンス的雑記帳 - Screenを導入
- KBDAHOLIC - やぬすさんとこ - .screenrc
- SAITOUの書きなぐりメモ - screenコマンド
- numozoの日記 - LinuxでのC言語開発環境について〜使用ソフト〜
- Scrap tmpc - screen + UTF-8でいってみる
- 超メモ帳(Web式) - さくらインターネットにscreenをインストール...
- ならやま日記 - Linuxやmacの仮想端末。
- プログラミング日記 - Debian GNU/Linux インストール日記(7) scree...
- Web系エンジニアbcoのメモ帳 - screen コマンドで複数のターミナル...
- fakeyakuzaの日記 - Scientific Linuxにscreenとgit導入 & perlのpa...
- jptomo断章 - Screenの設定をしました。
- 1936 http://gigazine.net/index.php?/news/comments/20080115_headline/
- 1536 http://jyouhouya3.sakura.ne.jp/
- 862 http://b.hatena.ne.jp/hotentry
- 827 http://www.hatena.ne.jp/
- 809 http://egone.org/
- 777 http://b.hatena.ne.jp/
- 634 http://jyouhouya3.sakura.ne.jp/index.html
- 593 http://d.hatena.ne.jp/
- 531 http://reader.livedoor.com/reader/
- 418 http://abnormal.sakura.ne.jp/






