GNU screen が起動しなくなってしまいました。アドバイスをお願… - 人力検索はてな
向こうで回答していたんだけど、回答の回数制限に引っかかるしコメント出来ないのでこっちで書いてみる。
OSがLinuxとMacと違うが、screenは普段から使っているのでこの症状は気になります。
今後の為にメモもかねてこっちにも書いてみる。
症状はこんな感じらしい。
screen を実行すると、次の行にカーソルが移りエラーメッセージも何も表示されないまま固まってしまいます。 その後は C-z で stop を行うことしか出来ません。 screen & で起動した後に、screen -ls で確かめると死んだ (dead) screen プロセスが表示されます。 起動した直後に死んでしまっているようです。。。 対応として、現在の screen を削除して fink 経由で落としてきたり、 ソースコードからコンパイルしてインストールしてみたり、 .screenrc を削除したりしましたが状況は改善されません。
で別ユーザで立ち上がるらしいのでscren自体に問題は無いはず。
ということはユーザ毎の個別の問題があるということ。
なんだけどここまでしか分からない。
~/.bash*、~/.screenrcを削除してもダメということは何だか分からない。
C言語が出来るならば話は早くて、screen.hに以下のような箇所がある。
だから、コンパイルオプションに-DDEBUGを付けてコンパイルしてデバッグするのが一番早いんだけどなあ。
#ifdef DEBUG # define DEBUGDIR "/tmp/debug" # define debugf(a) do {if(dfp){fprintf a;fflush(dfp);}} while (0) # define debug(x) debugf((dfp,x)) # define debug1(x,a) debugf((dfp,x,a)) # define debug2(x,a,b) debugf((dfp,x,a,b)) # define debug3(x,a,b,c) debugf((dfp,x,a,b,c)) extern FILE *dfp; #else # define debugf(a) do {} while (0) # define debug(x) debugf(x) # define debug1(x,a) debugf(x) # define debug2(x,a,b) debugf(x) # define debug3(x,a,b,c) debugf(x) #endif
この方法じゃダメですか?
追記:
トラバも質問終了後しかダメみたい。