読者です 読者をやめる 読者になる 読者になる

玄箱Pro Debianにscreenをインストールする

Linux

screenが便利だよと教えてもらってAtomマシン(FreeBSD)ではscreenを使うようにしていたので、どうせなら玄箱Pro(debian)でも使えるようにしようとインストールしてみた。
インストールはapt-getで
# apt-get install screen
でOK。
ホームディレクトリに.screenrcを作成して

defencoding utf-8
encoding utf-8 utf-8
escape ^z^z
autodetach on
caption always "%{= wg} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wb}%y/%m/%d(%D) %{=b wm}%c"
startup_message off
vbell           off

試しに一般ユーザでscreenを起動してみるとエラーらしきメッセージが出てscreenに入れない。

No more PTYs.
Sorry, could not find a PTY.

rootでも.sreenrcを作成してやってみたらscreenに入れるようなのでパーミッション関係の問題らしい。
ググって見てみると解決するのに次の2種類のものがあった。

  • /etc/fstabにある/dev/ptsのmodeを620にする方法。
  • /dev/ptmxのパーミッションを666に変更する方法

前者についてはデフォルトで

devpts          /dev/pts        devpts  gid=5,mode=622  0       0

こんな感じだったので問題なさそうなので後者の設定変更を試した

# chmod 666 /dev/ptmx

これで一般ユーザでもscreenを起動できるようになりました。

screenを使うと得られるメリットはWikipediaの項目でも見てもらえばわかると思います。
sshの接続が突然切れても、sshを再接続後にscreenのPIDを調べて

# screen -r %PID%

とすると、接続が切れる直前の状態で再接続できる。長時間かかるカーネルコンパイルなどで不慮の切断なんかにも対応できるようです。
引っ越し以来無線LANが時々切れることがあるので重宝してます。