さくらインターネットで screen

root権限のないサーバを使うのって実は初めてかな?


wget ftp://ftp.uni-erlangen.de/pub/utilities/screen/screen-4.0.3.tar.gz
$ tar xzvf screen-4.0.3.tar.gz
$ cd screen-4.0.3
$ ./configure --prefix=$HOME/local
$ make
$ cp -p screen $HOME/local/bin/
この状態で起動させるとデフォルトの動作として、screenの状態(セッション情報)が /tmp/uscreens/S-[ユーザ名]/ 以下に作成されます。まぁパーミッションは700なので他ユーザから触られることはないはずなのですが、共用サーバなのでやめたほうがよいでしょう。

$ ./configure -help |grep socket
--disable-socket-dir disable system wide socket-dir and use ~/.screen instead
--with-socket-dir=path where to put the per-user sockets

○socketディレクトリで指定する場合(システムワイド設定としてコンパイルされるのでボツですが)


$ ./configure --prefix=$HOME/local --with-socket-dir=$HOME/var/tmp/uscreens
$ (省略)
$ mkdir $HOME/var/tmp/uscreens
$ chmod 777 $HOME/var/tmp/uscreens
777でないと起動できません。失敗失敗。

○(システムワイドの)socketディレクトリを使わない場合


$ ./configure --prefix=$HOME/local --disable-socket-dir
$ make
$ ./screen
(screen起動)
$ ls ~/.screen/
80944.ttyp2.[サーバ名]
$
ということで、ホーム直下に.screenディレクトリが作成されその下にセッション情報を持ちます。