トップページunix
440コメント119KB

GNU screen その6(再生)

■ このスレッドは過去ログ倉庫に格納されています
0001ギレン総帥 ◆0QHV7fcZ.2 2009/07/11(土) 21:43:29
新スレが即死したので再attachします

GNU本家 http://www.gnu.org/software/screen/
公式ML(英語 たまにドイツ語) http://groups.yahoo.com/group/gnu-screen/
でかいのネット http://www.dekaino.net/screen/
UnixUser2004年1月号記事 http://risky-safety.org/%7Ezinnia/screen/contribute2/
Screen Glossary http://zinnia.dyndns.org/~hiki/Screen/
@IT:screenコマンドとは http://www.atmarkit.co.jp/flinux/rensai/linuxtips/692usescreen.html
私家版GNU Screen http://www.rubyist.net/~rubikitch/computer/hacks/screen/
screenコマンド一覧 http://www.limy.org/program/screen.html

1 http://pc.2ch.net/test/read.cgi/unix/1001966406/
2 http://pc5.2ch.net/test/read.cgi/unix/1048030339/
3 http://pc5.2ch.net/test/read.cgi/unix/1087436430/
4 http://pc8.2ch.net/test/read.cgi/unix/1111357444/
5 http://pc12.2ch.net/test/read.cgi/unix/1148721522/
6(即死) http://pc12.2ch.net/test/read.cgi/unix/1245767502/
0151名無しさん@お腹いっぱい。2009/11/10(火) 12:32:44
>>149
すくなくともPS1はプロンプトの形式を指定するための環境変数なので関係ないかと。
0152名無しさん@お腹いっぱい。2009/11/10(火) 12:38:42
リンク先見てみたけど
> screenのウィンドウ名を実行中のコマンド名にする
とは関係ないように読めるんだけどなぁ。俺の読み間違いかな。
0153名無しさん@お腹いっぱい。2009/11/10(火) 12:39:46
ごめん><
前半だけしか読んでなかった俺のばかorz
0154名無しさん@お腹いっぱい。2009/11/24(火) 04:33:20
tscreen 0.4.9使ってるんだけどvertical splitしたときの帯の色って変更できない?
captionやhardstatusで横方向の帯はなんとでもなるのに
縦は~/.Xdefaultsのurxvt.foregroundの色と強制的に同じにってのがなんか歯がゆい。
0155名無しさん@お腹いっぱい。2009/11/24(火) 05:22:20
tmux
0156名無しさん@お腹いっぱい。2009/11/24(火) 14:44:41
tmux、全角文字の途中で行の折り返しにかかるとおかしくなるね。
0157名無しさん@お腹いっぱい。2009/11/24(火) 14:54:46
utf-8 ですが問題なし
0158名無しさん@お腹いっぱい。2009/11/24(火) 15:24:41
そうなの?うちではtmux-1.1, CVS HEADともダメだったんだが。
下はgnome-terminalとxterm、どちらでも。zshで
repeat $((COLUMNS - 5)) echo -n ' '; echo あいうえお
とか。これでうの途中に行端がくるのだが、あいまで表示されて
次の行がすぐプロンプトになる。うえおはどこかへ消えてしまう。
0159名無しさん@お腹いっぱい。2009/11/24(火) 20:42:41
putty - tmux です
0160名無しさん@お腹いっぱい。2009/11/24(火) 22:06:09
PuTTY(UTF-8) - tmux-1.1 だけど、156 同様にダメだった。

ちょっとソースを眺めてみたけど、screen_write_cell の中の
/*
* If this is a wide character and there is no room on the screen, for
* the entire character, don't print it.
*/
ってとこにひっかかってるような。
試しにその処理をコメントアウトしたらちゃんと表示された。(副作用は知らない)
0161名無しさん@お腹いっぱい。2009/11/24(火) 22:17:15
そっか、問題ない環境もあるのか。tmuxが悪いわけじゃないのかな?
だけどscreenだとxtermなんかでもちゃんと表示されるしなあ。
0162名無しさん@お腹いっぱい。2009/11/24(火) 22:26:41
おっと、書き込む前にリロードすべきでした。結局puttyでも動いてないのかな。
01631602009/11/25(水) 00:12:56
コードを見る限り UTF-8 だとダメそうなんだけど、157(=159?)の元だと正常に
動作しているんだよなあ。

まあ、BTS につっこんでみてもいいんじゃない?
ttp://sourceforge.net/tracker/?func=add&group_id=200378&atid=973262
0164名無しさん@お腹いっぱい。2009/12/03(木) 16:05:13
マルチユーザモードにみんなで入ってて、ウィンドウの操作の c/n/p とかをしたときに
他の人も連れてウィンドウ間を行き来するにはどうしたらいいですか?
0165名無しさん@お腹いっぱい。2009/12/10(木) 12:11:10
screen -x だと複数の clientで違う window表示できるけど tmuxだとできない?
0166名無しさん@お腹いっぱい。2009/12/13(日) 11:15:08
statusのタイトルは実行中のコマンドよりもカレントディレクトリの方が使いやすい気がする
0167名無しさん@お腹いっぱい。2009/12/13(日) 20:20:54
俺はシェルのプロンプトのときはカレントディレクトリ、
コマンド実行中はそのコマンドにしてる。
0168名無しさん@お腹いっぱい。2009/12/14(月) 03:52:14
どうするの?
0169名無しさん@お腹いっぱい。2009/12/15(火) 15:51:28
>>167
やり方教えてけろ
0170名無しさん@お腹いっぱい。2009/12/15(火) 17:47:28
precmdとpromptに変更シーケンスを仕込む
0171名無しさん@お腹いっぱい。2009/12/15(火) 23:46:41
precmd じゃなくて preexec な
0172名無しさん@お腹いっぱい。2009/12/26(土) 22:03:32
screenのバックバッファをマウスのホイールで見たいのですが、できますか?

OS-X向けの解説に出てくる
termcapinfo xterm* ti@:te@
ではうまくいきませんでした。

ターミナルはgnome-terminalを使ってます。
0173 【大吉】 2010/01/01(金) 16:11:01
あけましておめでとう
0174名無しさん@お腹いっぱい。2010/01/03(日) 14:15:01
http://shyouhei.tumblr.com/post/313410522/screenrc
0175名無しさん@お腹いっぱい。2010/01/04(月) 01:16:47
>>174
ほとんど理解で金勝ったわ
0176名無しさん@お腹いっぱい。2010/01/04(月) 01:19:09
Emacs使う奴は信用しないことにしている。
0177名無しさん@お腹いっぱい。2010/01/04(月) 21:09:56
>>174
嗤うほどでもないが、アホちゃうかと
0178名無しさん@お腹いっぱい。2010/01/04(月) 21:15:45
うわぁ…
すごく頑張って書いたんだろうけど、痛々しさ以外ほとんど何も伝わらない文章だな
0179名無しさん@お腹いっぱい。2010/01/04(月) 21:24:59
デザイン的には面白いけど、すごくつかいにくそう
0180名無しさん@お腹いっぱい。2010/01/06(水) 17:16:51
あちこちにブログのURL貼りすぎ
こういう宣伝厨大嫌い
01811742010/01/06(水) 17:30:00
ここにしか貼ってないよ。
0182名無しさん@お腹いっぱい。2010/01/06(水) 17:32:57
ただのゲスパーだろ
いちいち反応すんな
0183名無しさん@お腹いっぱい。2010/01/06(水) 17:58:16
自演乙すぎる
0184名無しさん@お腹いっぱい。2010/01/06(水) 22:43:28
ちょっと環境変数の引き渡し方で質問です。

ssh(-agent)やX11が使う環境変数を引き回すのに

 1. ログイン直後に関係環境変数をファイルにダンプ
 2. screen アタッチ
 3. 中のwindowでファイルをsourceしたりして取り込み

としてる人は多いと思うんですが、最近

 1. PC-A からログインして screen で作業
 2. PC-B からもログインして screen で並行作業
 3. 作業途中で X11 なアプリを頻繁に上げたり下げたりする

と利用パターンが変わった結果、X11の$DISPLAYをPC-Aからキーを打っている
場合はPC-A側、PC-Bからキーを打っている場合はPC-B側とこまめに切り替えたく
なってます。

つまり従来のファイルダンプ方式だと「どっち側」を向いている設定か
判らないので、ssh-agentでは問題なくてもX11だとdetachしてはscreen -X
setenv DISPLAY=$DISPLAY とかコピペしたりと忙しくて面倒になっています。
そこで質問ですが、これを効率よくする方法はないでしょうか?

自分では見つけられず、やむなく改造してwindow内から親というかattachに
使った端末での環境変数を取れるようにしたのですが、これだけ枯れてる
ソフトをいまさら改造というのも変なので、screenの知らない使い方の
工夫でできるのではないかと。。。
0185名無しさん@お腹いっぱい。2010/01/07(木) 14:13:35
>>184
ローカルでも:0.0か:0.1とかあるし
ssh X11 forwardingもあるし
VNCの中から使うこともあるし
けっきょくシェルスクリプトでコマンドランチャを書いて
1. nmap で6000から6020までをポートスキャン
2. 複数候補があるときはプロンプト出してユーザが選択
3. stdinが端末じゃないときは選択できないので最初に見つかったDISPLAYきめうち
みたいなことをやっています。
0186名無しさん@お腹いっぱい。2010/01/07(木) 19:52:54
>>184
質問:screenだけでなくshellにも手を入れて現在の端末のDISPLAYを受け継ぐようにしたの?
0187名無しさん@お腹いっぱい。2010/01/08(金) 08:06:56
>>185
ポートスキャンw。その発想はなかった。
でもどっちを使うかはどう判断するの?(プロンプトにどう判断するための
情報出してるの?)

>>186
shellには手を入れてない。完全自動ではなく、あくまで1アクションで
取り込みできるようにしただけ。

最初はMSG_PUSHENVとか新設してscreen->SCREEN->sh-on-display/window ttyに
環境変数定義を突っ込ませるという方向でやってたのだけど、最終的に

- 入力中の側のscreenのpidをSCREEN側の環境変数で引けるように修正
- 設定で bind ^v eval 'stuff "injectenv $SCREEN_USERPID\012"' を追加
- 後は C-aC-v で "injectenv" シェル関数を呼んで環境変数を取り込み

というscreen修正+stuff+シェル関数コンボでやってみた。injectenv は
中でscreenの親pid(sh)を調べて、/proc/<pid>/environment から環境変数を
引っ張ってきて取り込んでる。

結局display/window tty側からはSCREENまでしか到達できず、
入力中userttyの判定ができない。userttyを掴んでいるscreen側から
アクションを起こす必要があって、エスケープコマンド経由になった。
で、その結果、stuffで突っ込むという微妙な方法(対話的にしか実行
できない)しか選べなかった。

理想的にはdisplay/window tty内のシェルからコマンド実行すると
大元のscreenまでシグナルが飛んで、そこから逆戻りでシェルに
環境変数突っ込んでくれるようなのがいいのだけど。
0188名無しさん@お腹いっぱい。2010/01/09(土) 11:53:13
>>184
>これだけ枯れてるソフトをいまさら改造というのも変なので、

GNU screenはいまも開発が続いているし、コミュニティにも
活気が戻ってきています。
http://lists.gnu.org/mailman/listinfo/screen-users

01891852010/01/09(土) 16:50:36
>>187
emacsからXclientを立ち上げることも多いので、こんな形に落ち着いています。
ただnmapだけではscreen番号がわからないのは欠点ですが、
:0.1は完全にサブディスプレイなので問題になってません。
0190名無しさん@お腹いっぱい。2010/01/09(土) 17:28:33
emacsの中で何でもやろうとする奴って何かある毎に躓いて時間潰すよね
0191名無しさん@お腹いっぱい。2010/01/09(土) 17:43:10
マイナーなOS使ってるやつはみんな
何かある毎に躓いて時間潰すだろ
0192名無しさん@お腹いっぱい。2010/01/09(土) 18:30:02
>何かある毎に躓いて時間潰すだろ
それなんてWindows?
0193名無しさん@お腹いっぱい。2010/01/13(水) 05:58:56
ダウト!



何事も無くても、トラブって躓いて時間潰すのがWindows
0194名無しさん@お腹いっぱい。2010/01/26(火) 21:24:38
いつのまにかウィンドウフラグに$が含まれるようになってました。
^Awでウィンドウリストを表示すると
0*$ bash 1$ bash 2-$ bash 3$ bash
のようになります。
hardlinestatusにフラグ付きでウィンドウリストを表示してるので
$を消したいんですけどどこで設定するんでしょうか。
$なしで表示できてるPCから~/.screenrcや~/.bashrc、~/.bash_profile、/etc/profile、/etc/bashrc、/etc/screenrc
あたりをコピーしてきてもだめでした。

0195名無しさん@お腹いっぱい。2010/01/27(水) 00:42:32
フラグ$はそのwindowがloginしていることを意味しているらしい。
deflogin off にすればloginしないので$はつかなくなるな。
loginしたまま、$を表示させない方法は知らん。
0196名無しさん@お腹いっぱい。2010/02/02(火) 02:04:40
あるウィンドウがkillされたとき自動的にremoveを
実行させることってできますか?
0197名無しさん@お腹いっぱい。2010/03/11(木) 10:57:27
tmux 1.2
0198名無しさん@お腹いっぱい。2010/03/13(土) 01:22:47
>>197
ステータスバーの設定がめんどくさくてtmuxはあきらめた.
byobu(screen-profile)はありがたい.
0199名無しさん@お腹いっぱい。2010/03/13(土) 22:24:55
capture-paneコマンドのおかげで画面上の内容で補完できるようになった
0200名無しさん@お腹いっぱい。2010/03/15(月) 03:35:27
> * utf8 improvements.

これはどんな感じなのでしょうか
0201名無しさん@お腹いっぱい。2010/03/15(月) 08:47:26
tmux1.0のとき表示おかしくて使うのやめた記憶があるけど
1.2を試したら問題ないみたいなので常用することにした。
0202名無しさん@お腹いっぱい。2010/03/15(月) 09:03:25
tmuxのスレはここですか?
0203名無しさん@お腹いっぱい。2010/03/15(月) 09:15:30
tmux utf-8 最高っす
0204名無しさん@お腹いっぱい。2010/03/15(月) 13:14:08
>>156 のは直ったの?
0205名無しさん@お腹いっぱい。2010/03/15(月) 16:22:13
直ってない
0206名無しさん@お腹いっぱい。2010/03/15(月) 18:47:17
入れてみたが、tmuxは微妙にメモリ食いだな
0207名無しさん@お腹いっぱい。2010/03/16(火) 00:06:23
tmuxスレでやれ
0208名無しさん@お腹いっぱい。2010/03/16(火) 01:20:19
tmux なら、elinks で utf8 の日本語ページをスクロールしても
ゴミが表示されなくて良いな。
0209名無しさん@お腹いっぱい。2010/03/16(火) 01:21:45
tmux 良いのか
0210名無しさん@お腹いっぱい。2010/03/16(火) 10:06:52
tmux スレ立てちゃいなよ。マジで。
0211名無しさん@お腹いっぱい。2010/03/16(火) 10:16:57
わざわざ分ける意味がわからん
0212名無しさん@お腹いっぱい。2010/03/16(火) 16:19:14
>>204
うちでは特に問題ないみたいだが。

>>210
tmuxもここでいいじゃん。次スレたてるときに統合スレにしようず。
0213名無しさん@お腹いっぱい。2010/03/16(火) 20:14:06
これだけ連続してレス付いてんだから30〜40のレスくらい確保出来るだろ
tmuxスレ立てろよマジで
0214名無しさん@お腹いっぱい。2010/03/17(水) 02:42:11
自分なんかにはあまり両者の違いが分からないんだけど
0215名無しさん@お腹いっぱい。2010/03/17(水) 02:49:27
BSDLとGPLの違い
0216名無しさん@お腹いっぱい。2010/03/17(水) 07:28:07
アイちゃんlove
http://pc12.2ch.net/test/read.cgi/unix/1268778432/
0217名無しさん@お腹いっぱい。2010/03/17(水) 09:32:55
windowsで使いたいんだけどmsysで使える?
それともcygwinじゃないとダメかな?
0218名無しさん@お腹いっぱい。2010/04/07(水) 01:30:30
ここら辺のツール使ってるとwindowsのCUI環境はpower shellとか出たけど、まだまだだなぁと思うね
0219名無しさん@お腹いっぱい。2010/04/07(水) 11:49:17
釣りなんだろうけど
それはshellの問題じゃなくて
コンソール側の問題だからね
0220名無しさん@お腹いっぱい。2010/04/10(土) 08:02:48
Teraterm 4.65にバージョンアップしたらscreenと相性が悪くて使えない・・・。
tail -fとかすると改行がひどいことに。誰か解決した人いませんか?
0221名無しさん@お腹いっぱい。2010/04/10(土) 09:06:27
putty
0222名無しさん@お腹いっぱい。2010/04/10(土) 10:31:44
>>220
別になんともなく使えてるけど、どうひどくなんの?
リモート側のTERMとかシェルは?Tera Term側のTerm typeは?
0223名無しさん@お腹いっぱい。2010/04/11(日) 21:47:40
ローカルでscreen常用してて、そこからsshで他のサーバに入ってscreen使うときって、
エスケープキーがかぶらないように設定するもん?それともssh用に違う端末立ち上げて使うべき?
0224名無しさん@お腹いっぱい。2010/04/12(月) 00:06:56
2重screenは避ける、で無問題
02251852010/04/12(月) 03:20:24
多重起動したときに自動的にエスケープしてくれるとありがてーな
0226名無しさん@お腹いっぱい。2010/04/12(月) 03:21:48
>>225
名前は間違って入ってしまっただけなんで無視してくだされ
0227名無しさん@お腹いっぱい。2010/04/12(月) 08:24:24
ふだん、screenからsshして2重になってるな。
status line表示してるから、それが2段になってれば
エスケープを2度打ちするような条件反射になった。
さすがにscreen3重にして作業することはないな。
0228名無しさん@お腹いっぱい。2010/04/12(月) 10:06:40
>>223
基本的には違う端末使ってる。
切断回避のためだけに screen 起動する場合には、サーバ側で複数ウィンドウを
使う必要がないのでエスケープキーはそのまま。
0229名無しさん@お腹いっぱい。2010/04/12(月) 12:25:05
スレ主のギレン総帥に2世が産まれたそうだ。
screenの英才教育を施して、公国が永遠に続くように願う。
0230名無しさん@お腹いっぱい。2010/04/18(日) 02:58:58
>>219
power shellでscreenライクな機能使えるの?
winのserver coreとかただただ、機能が減っただけで使いにくそう。
02312202010/04/19(月) 08:33:24
>>222
レスありがとう。遅くなってすみません。
いったんTeraTermのバージョンを戻したのですが、これを書くために改めてインストールすると
問題は解決していました。一過性かこちらのホスト側の問題だったようです。お騒がせしました。

ちなみに発生した事象ですが、tail -f 中に改行(ENTER)を押すと、通常であればカーソルが
TeraTerm画面の左端に移ると思いますが、当時は「40個位のスペースが入った後に ^M」が
表示される状況でした。(わかるかな。。。表現力に乏しくて申し訳ない)

なおご質問の環境ですが、シェルはzsh、TERM, Term type共にvt100です。
0232名無しさん@お腹いっぱい。2010/04/19(月) 11:04:33
teratermが変な制御コード食うとよく出る現象
Control -> Reset Terminal で直るよ
0233名無しさん@お腹いっぱい。2010/04/27(火) 02:33:36
現在screen version 4.00.03を利用しています。
ログアウト時に実行したいコマンドがあり、これまでbashを利用していたときは
.bash_logoutに記述していたのですが、screenを利用するようになってからは
.bash_logoutが終了時に呼ばれないためどうすればいいか困っています。
alias logout='bash $HOME/.bash_logout;logout'
alias exit='bash $HOME/.bash_logout;exit'
なんていう気持ち悪い方法も試してみたのですが、当方、
ctrl+Dを使ってscreenを抜け出す癖があり、ctrl+Dを利用した場合は
exitコマンドやlogoutコマンドが直接叩かれているわけではないので
期待通りの動作はしませんでした。

どうすればctrl+Dを利用してscreenを終了した場合にも実行される環境を
構築できるでしょうか。
# ベストはscreen版の.bash_logoutのようなものが用意されていることなのですが…

解決法があれば教えていただけませんでしょうか。
よろしくお願い致します。
0234名無しさん@お腹いっぱい。2010/04/27(火) 03:04:23
>>233
> ctrl+Dを使ってscreenを抜け出す癖があり、ctrl+Dを利用した場合は
> exitコマンドやlogoutコマンドが直接叩かれているわけではないので
んじゃexitコマンドで抜けた場合は期待どおりの動作してるの?
02352332010/04/27(火) 03:14:02
レスありがとうございます。
>んじゃexitコマンドで抜けた場合は期待どおりの動作してるの?
はい、しています。
bash利用時はctrl+Dで抜けてもexitで抜けてもlogoutで抜けても
.bash_logoutが実行されるみたいなんです。
また、screen利用時でも
alias exit='bash $HOME/.bash_logout;exit'
のようなものを.bashrcにでも書いておくことで、exitを叩いたときに
.bash_logoutが一応実行されます。

引き続きよろしくお願い致します。
0236名無しさん@お腹いっぱい。2010/04/27(火) 03:19:56
alias screen='screen;exit'
0237名無しさん@お腹いっぱい。2010/04/27(火) 03:27:20
screen bash -l
02382332010/04/27(火) 05:27:22
レスありがとうございます。
>>236
なるほど。これは最初にbashからscreenを起動して、screenが終わった後にbash側でexitが実行されて
.bash_logoutが実行されるというロジックでしょうか。
現在私はbashログイン後にscreenを立ち上げると、psでプロセスを見たときにシェルのプロセス(?)が
複数立ち上がってしまうことが嫌なことなどから.bash_profileに
exec screen -RR
と記述することでscreen環境を構築しています。説明不足で申し訳ありません。
ですので、screenのaliasを作るのは避けたいと考えています。
しかし勉強になります。ありがとうございます。

>>237
勉強不足でコマンドを見ただけではよく分からなかったのですが、実際に実行してみて驚きました。
bashに-lオプションを付けることでログインシェルとして起動するのがミソなのでしょうか?
# すみません、よく分かっていません。
bashでログイン後、screen bash -lを行い、ctrl+Dで抜けると見事に期待した動作をしました。
そこで、今回の問題を解決すべく私の.bash_profileを以下のように書き換えました
if [ "`screen -ls | egrep '\(Detached\)'`" = "" ]
then
exec screen bash -l #(1)
else
exec screen -RR #(2)
fi
しかし、これだと(1)を通ったときにログインできず、現在はここで躓いています。
(2)を通ったときはこれまで私が行っていた設定と同じ挙動なので問題ありません。

お手数をおかけしますが、アドバイスの程よろしくお願い致します。
0239名無しさん@お腹いっぱい。2010/04/27(火) 10:26:15
~/.screenrc には何が書いてある? (ココんとこ重要)
02402332010/04/27(火) 14:26:35
レスありがとうございます。
.screenrcの中身は以下の通りです。
vbell off
defencoding UTF-8
escape ^z^z
term xterm-256color
scrollback 10000
termcapinfo xterm-256color hs@:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
bind w windowlist -b

よろしくお願い致します。
0241名無しさん@お腹いっぱい。2010/04/27(火) 16:33:57
直接問題解決にはならないが
.screenrcに scrollbackを書いても無視されるはず
(一瞬エラーメッセージが出てないか?)

defscrollbackにすべし

「ログインできず」とは具体的にどんな振る舞い?
02422332010/04/27(火) 17:12:25
レスありがとうございます。
defscrollbackに修正させて頂きました。

>「ログインできず」とは具体的にどんな振る舞い?
sshでログインしようとしてパスフレーズの認証のフェーズまでは行くのですが、
認証が通った後、(恐らく)screen bash -lが呼ばれた瞬間に

[screen is terminating]
Connection to hoge.jp closed.

と表示されてコネクションが切断されてしまいます。
>>238で示した.bash_profileを用意しているので、Detatchされたコネクションが存在した場合は
screen -RRが呼ばれるため、再アタッチされて問題なく接続することができます。

うーん、screen bash -lが呼ばれたときは再帰的に.bash_profileが呼ばれてbash -lが大量に呼ばれてしまってるのでしょうか…(?)
引き続きお願い致します。
0243名無しさん@お腹いっぱい。2010/04/27(火) 18:21:01
exec screen bash -l の代わりに
exec screen bash --login --noprofile ってやってみたら?
02442332010/04/27(火) 18:47:22
レスありがとうございます。
exec screen bash --login --noprofile
に変えてみたところ、ログアウト時の.bash_logout動作を確認できました。
しかし、--noprofileオプションであるが故に.bashrc等が読まれませんorz

.bashrcが悪いのかと思い、.bashrcをリネームした後に
exec screen bash -l
で試してみましたが、こちらも状況変わらずログインできませんでした。

何度も申し訳ありませんが、よろしくお願い致します。
02452332010/04/27(火) 18:56:21
!??
連投すみません。.bash_profileへ
if [ "$STY" = "" ]
を加えてscreenの状態に入っているかどうかを判定することで、期待した動作をしました!!
以下のような形です。

if [ "`screen -ls | egrep '\(Detached\)'`" = "" ]
then
if [ "$STY" = "" ]
then
exec screen bash -l
fi
else
exec screen -RR
fi

やはり再帰的にbashが呼ばれていて落ちていたということなのでしょうか。
この度は数々のアドバイスありがとうございました。
0246名無しさん@お腹いっぱい。2010/04/27(火) 19:01:32
>>233です。

すみません、どうしても後1点だけお聞きしたいことがあります。
.bash_profile内でexec screenにてscreenを起動すると、

Last login: Tue Apr 27 18:58:15 2010 from hoge.jp

等のログインメッセージがターミナル上には(実質)表示されないことになってしまうと思います。
これを表示させる方法はあるでしょうか?

ログインメッセージをファイルに書き出しておいて、それを.bashrcでcatするぐらいしかないでしょうか。
立て続けに申し訳ありませんが、アドバイスを頂けると幸いです。
0247名無しさん@お腹いっぱい。2010/04/27(火) 20:05:12
last $USER | sed -n '2p'
で勘弁してくれ
02482462010/04/28(水) 03:41:34
レスありがとうございます。
Last loginに関しては似たようなことを.bashrcに

echo `lastlog -u $LOGNAME | tail -n 1 | awk '{printf("Last login: %s %s %s %s %s from ",$4,$5,$6,$7,$9)}'``last -ad | egrep $LOGNAME | egrep -v '0\.0\.0\.0' | head -n 1 | awk '{print $NF}'`

と記述して誤魔化してるんですが、やはりログインメッセージ全てを出すことは難しいでしょうか…
# Last login以外にもログインメッセージとして表示されるものがあるんです;;
0249名無しさん@お腹いっぱい。2010/04/28(水) 08:02:32
> bashログイン後にscreenを立ち上げると、psでプロセスを見たときに
> シェルのプロセス(?)が複数立ち上がってしまうことが嫌

ま、この手のキテレツな美意識に共感できる人はこのスレには少ないだろうから
これ以上の助言は出てこないかも知れん
screen使ってたらshellのプロセスが多数存在するのが普通だからね
つーかshellプロセスががひとつだけの状態でscreen使っても喜び少ない

がんばって独りで修羅の道を貫いてくれ
0250名無しさん@お腹いっぱい。2010/04/28(水) 16:13:30
ツリー表示した時に一段深くなるのがいやってことかもよ
0251名無しさん@お腹いっぱい。2010/04/28(水) 18:25:11
psはいいけどログインが2重にカウントされるのがいやです
解決策はありますか><
■ このスレッドは過去ログ倉庫に格納されています