トップページunix
1001コメント276KB

GNU screen その3

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2005/03/21(月) 07:24:04
前スレがdetachされたので再attachしますた

前スレ
screenってどうよ http://pc.2ch.net/test/read.cgi/unix/1001966406/
GNU screen その2 http://pc5.2ch.net/test/read.cgi/unix/1048030339/
GNU screen その3 http://pc5.2ch.net/test/read.cgi/unix/1087436430/
0143名無しさん@お腹いっぱい。2005/06/07(火) 20:19:35
^z:help して other の束縛を見れ。
0144名無しさん@お腹いっぱい。2005/06/07(火) 20:50:14
escape ^zz でいいんじゃないの。
0145名無しさん@お腹いっぱい。2005/06/07(火) 21:03:11
デフォルトは
escape ^aa
0146名無しさん@お腹いっぱい。2005/06/08(水) 01:58:13
>>144
洩れもそう設定してるから、>>142の言う操作は、C-z C-z でできてる。
escape ^z^z の場合は、どうやるんだろね?
0147名無しさん@お腹いっぱい。2005/06/08(水) 03:18:55
オートデタッチに設定しているのですが
デタッチしたら全てのプロセスは生きたままですよね?
そのまま、screen で新しくscreenを起動しても前のscreenはきえません
ですので、前のscreenを復元してkで1つずつころしていきます
一気に殺すことはできないのでしょうか?
0148名無しさん@お腹いっぱい。2005/06/08(水) 05:28:14
pkill screen
0149名無しさん@お腹いっぱい。2005/06/08(水) 08:25:23
>>146
デフォルト起動したscreenで「^A ?」した時の表示と見比べると
分かるけど、「other」が消えてる。だからその機能は使えなくなる。
0150名無しさん@お腹いっぱい。2005/06/08(水) 08:59:57
>>142
C-z :other RET
0151名無しさん@お腹いっぱい。2005/06/08(水) 19:11:05
>>149
そうなのか。しらなんかったので勉強になった。
やっと>>143の逝ってる意味が理解できたYO。
0152名無しさん@お腹いっぱい。2005/06/09(木) 12:17:40
screenの設定ミスか分かりませんが、分かる方いたら教えて下さい。
スレ違いだったら、誘導お願いします。

zsh+screenで使っているんですが、lsすると、"動画/"とちゃんと表示されるディレクトリが、
lsの後、tabで補完させると" 芦莚"と文字化けしてしまいます。
同時に、補完する時に下に出る一覧だと、"\M-F\M-|\M-K\M-\\M-8\M-l"となってしまいます。
どなたかアドバイス下さい。よろしくお願いします。。。
0153名無しさん@お腹いっぱい。2005/06/09(木) 12:22:54
>>152
それ、screenなしでも同じじゃないの?
0154名無しさん@お腹いっぱい。2005/06/09(木) 14:53:11
Fedora厨
0155名無しさん@お腹いっぱい。2005/06/09(木) 14:57:52
ファイル名に日本語使うなよ‥
0156名無しさん@お腹いっぱい。2005/06/09(木) 14:59:35
日本人が日本で日本語を使って何が悪い
0157名無しさん@お腹いっぱい。2005/06/09(木) 15:28:34
さっと補完できなくなるだろ?あと、encodingの問題。
0158名無しさん@お腹いっぱい。2005/06/09(木) 15:29:05
zsh で setopt printeightbit
0159名無しさん@お腹いっぱい。2005/06/09(木) 22:49:00
>>157
MINIX時代から日本語ファイル名使ってるけど、無問題。
頭に補完用の英数文字付けとけば便利。

00読め.txt
js1dscギレン総帥.log

…てな具合。
0160名無しさん@お腹いっぱい。2005/06/10(金) 02:05:13
ああ、なるほど。これは名案かもしれない。
0161名無しさん@お腹いっぱい。2005/06/10(金) 02:12:18
> 00読め.txt
たまにこういうファイル名はあって、何なんだろうと思ってたんだけど
謎が解けますたんだよもん
0162名無しさん@お腹いっぱい。2005/06/10(金) 03:20:59
msdos時代にそういうファイルがあったね。Linux使ってからはないけど。
0163名無しさん@お腹いっぱい。2005/06/10(金) 04:41:00
「shellの補完で、kogikuが使いたい。」
って、まえに、どこかで話題になってなかった?
#すれ違いスマソ。
0164名無しさん@お腹いっぱい。2005/06/10(金) 07:04:52
>>161
それってlsなんかで先頭に表示されることを期待してるんじゃなかったのか!?
00README.1ST とか。
0165名無しさん@お腹いっぱい。2005/06/10(金) 09:56:43
引越し屋の名前はアで始まるのが異様に多いのと似たようなもんか
01661072005/06/10(金) 23:07:13
>>134
遅くなりましたが、試してみたので報告します。
結論から言うとそれが原因ではないようです。

実験の条件は前と同様、
kterm -geometry 150x61 で
screen は screen -c /dev/null としました。
試験用のコマンドだけ変えて、
time jot -p 100 1000 (jot は FreeBSD 5.4-RELEASE-p1 のものです)
としました。

条件の記述では以下の記号を用いる。
l → echo '\e[?4l'
h → echo '\e[?4h'
Pl → echo '\eP\e[?4l\e\'
Ph → echo '\eP\e[?4h\e\'
(zsh の echo を使っている)
0167107 (実験結果)2005/06/10(金) 23:08:00
なにもしないとき(screen なし)
jot -p 100 1000 0.01s user 0.02s system 7% cpu 0.482 total
なにもしないとき(screen あり)
jot -p 100 1000 0.02s user 0.04s system 0% cpu 12.256 total
l としたとき(screen なし)
jot -p 100 1000 0.00s user 0.04s system 7% cpu 0.523 total
h としたとき(screen なし)
jot -p 100 1000 0.02s user 0.04s system 0% cpu 17.832 total
l として screen の中で l としたとき
jot -p 100 1000 0.05s user 0.01s system 0% cpu 12.451 total
l として screen の中で h としたとき
jot -p 100 1000 0.03s user 0.03s system 0% cpu 12.445 total
h として screen の中で l としたとき
jot -p 100 1000 0.03s user 0.03s system 0% cpu 12.421 total
h として screen の中で h としたとき
jot -p 100 1000 0.04s user 0.02s system 0% cpu 12.396 total
l として screen の中で Pl; l としたとき
jot -p 100 1000 0.02s user 0.04s system 0% cpu 12.474 total
l として screen の中で Pl; h としたとき
jot -p 100 1000 0.02s user 0.05s system 0% cpu 12.350 total
l として screen の中で Ph; l としたとき
jot -p 100 1000 0.04s user 0.02s system 0% cpu 17.846 total
l として screen の中で Ph; h としたとき
jot -p 100 1000 0.01s user 0.05s system 0% cpu 17.826 total
h として screen の中で Pl; l としたとき
jot -p 100 1000 0.03s user 0.03s system 0% cpu 12.424 total
h として screen の中で Pl; h としたとき
jot -p 100 1000 0.00s user 0.06s system 0% cpu 12.358 total
h として screen の中で Ph; l としたとき
jot -p 100 1000 0.02s user 0.04s system 0% cpu 17.843 total
h として screen の中で Ph; h としたとき
jot -p 100 1000 0.03s user 0.03s system 0% cpu 17.845 total
01681072005/06/10(金) 23:09:28
まとめると、kterm が h のときは 17s いって、kterm が l のときは
screen ありで 12s、screen なしで 0.5s ってところです。
で、なにも(echo foo を)しないときは kterm は l のようで、
問題の原因は >>134 のそれではないようです。
というか、上の方で 1行ずつ描画してるのが問題とか書きましたが、
調べたところ全部 1行ずつというわけではなく、2行ずつだったりも
するようです。

情報 thx.
長文失礼。
0169名無しさん@お腹いっぱい。2005/06/11(土) 11:08:26
>>163 zsh スレ?
0170名無しさん@お腹いっぱい。2005/06/11(土) 17:59:01
screenを一気に終了させるにはどうするのでしょうか?
デタッチはoffにできません
screenが1つだけならkillでころすのですが、複数個起動していたら
どれがどのプロセスなのかわからなくなってしまいます

今は複数個、screenを起動している場合殺したいscreenで
全て一つずつ、Kで殺していっています
これだと、大分手間がかかるので
一気に殺せる方法があれば教えていただきたいです
0171名無しさん@お腹いっぱい。2005/06/11(土) 18:03:53
>>170
殺したいscreenにattachして
C-a :quit
0172名無しさん@お腹いっぱい。2005/06/11(土) 18:07:50
>>171
ありがとうございます
:q
:exit
などはやってみたのですが
なぜか、:quitはやってませんでした・・・
本当にすいませんでしたありがとうございました
0173名無しさん@お腹いっぱい。2005/06/11(土) 18:10:38
screenって起動したら
root 103 2.1 0.4 804 1388 ?? Ss Fri04PM 0:13.35 SCREEN (screen-4.0.2)
user 102 0.0 0.2 548 840 p0 S+ Fri04PM 0:00.34 screen (screen-4.0.2)
って、なんでrootが出てくんだ?
0174名無しさん@お腹いっぱい。2005/06/11(土) 18:42:23
>>173
set sidしているのと関係あるのかな?
自分以外のユーザがアタッチするときにroot権が必要
0175名無しさん@お腹いっぱい。2005/06/12(日) 13:07:05
>>173-174
俺はいつもconfigureに--disable-socket-dirをつけてる。
なんでデフォルトでsetuidなんだろうな。
01761742005/06/12(日) 13:12:07
setsidではなくて、setuidでしたね。orz
0177名無しさん@お腹いっぱい。2005/06/21(火) 23:32:32
screen起動時に1つのscreenをrootにさせたいんだけど何かいい方法ないかな?
個人で使ってるしサーバとかにもしてないから、設定ファイルにrootのパス書くことは
全然問題ないんだけど何かいい方法あります?

suのマニュアル読んでみたけどオプションの引数にパスワード書いてrootになる方法はなさげだし

何かいい方法があったら教えてほしいです
よろしくおねがいします
0178名無しさん@お腹いっぱい。2005/06/21(火) 23:49:35
sudo suとか
ssh root@localhostとか
0179名無しさん@お腹いっぱい。2005/06/22(水) 01:02:08
stuff でパスワード送るとか。
0180名無しさん@お腹いっぱい。2005/06/23(木) 22:08:34
expectを使えばいいのかな
0181名無しさん@お腹いっぱい。2005/06/24(金) 00:23:20
>>177
|個人で使ってるしサーバとかにもしてないから
じゃあrootパスワードを空にすれば?
0182名無しさん@お腹いっぱい。2005/06/24(金) 03:28:50
おまえOS何使ってんの?
いまどきnullにできるUNIXなんてあるんだ
落ちたもんだな
0183名無しさん@お腹いっぱい。2005/06/24(金) 04:16:25
バカ?
0184名無しさん@お腹いっぱい。2005/06/24(金) 11:20:11
screen + rdic + zsh + w3m での辞書検索でw3m上でキーボードでの
カーソル移動操作にhookしてscreenのbindキーなくして辞書検索するように
したいのですがどのようにすれば出来るでしょうか?
SSH_TTY=/dev/pts/1をcatだったかしてキー入力を検出出来たような
気がするのですが他にいい方法はあるでしょうか?
zshで出来るのかなとも思うのですがだれかわかる人
教えて下さい。
0185名無しさん@お腹いっぱい。2005/06/24(金) 11:48:46
>>184
いまいち何がしたいのかよくわからんから、詳しく書いて
01861842005/06/24(金) 13:20:45
>>185
windows2000 + puttyが抜けていました。
現在rdicで検索する場合C-a C-w のように2回キーを押して
検索用スクリプトを起動するようにしています。
これを2回キー入力するのは面倒なので1回のキー入力で
検索用スクリプトを起動させるようにしたいのです。
ですので、キー入力一回事にスクリプトを起動させる方法が
しりたいのです。
よろしくお願いします。
0187名無しさん@お腹いっぱい。2005/06/24(金) 13:29:32
なんとなく >>177 は別の横着方法 (というか sudo) を覚えた方が良い気がする。
0188名無しさん@お腹いっぱい。2005/06/24(金) 13:41:18
>>186
screenのbindkey使えば?
01891842005/06/24(金) 17:47:51
>>188
bindkeyで一文字だけで割り当てられるとは知りませんでした。
ありがとうございます。

w3m デフォルトキーマップのwに辞書検索を割り当てて
.screenrc
bindkey w exec $HOME/bin/split.sh --search
w押下->辞書検索->次の単語に移動という動作にしたいのですが
うまくいきません。
bindkey に w を割り当てていて入力できないので

w3m keymapに
keymap  x   NEXT_WORD
としてxで次の単語移動の動作をつけて

split.shに
辞書検索スクリプト実行後
screen -X eval 'at work stuff x'

としたのですがw3mのカーソル位置にxが書き込まれて期待した
動作が得られませんでした。

そこで考えてscreenの他のウインドウ経由で実行するようにしたらたまに成功するようになりましたが
確実に成功させることはできませんでした。
screen -X eval 'at tmp stuff "screen -X eval \"at work msgwait 0\" \"at work stuff x\"^M"'

なぜかスクリプト経由のscreen -X eval 'at work stuff x'だとうまくいかず
他のウインドウから直接screen -X eval 'at work stuff x'した場合はすべてうまくいきました。
なにかよい解決方法はあるでしょうか?
01901842005/06/24(金) 18:10:57
>>189
修正
screen上の他のウインドウからスクリプトを直に実行した場合も
100%成功する

screen上でbindkey経由で起動されるスクリプトで実行がうまくいかない。
0191名無しさん@お腹いっぱい。2005/06/24(金) 18:17:10
>>184が望むことをscreen+zshで実現するのは無理とは言わないが無茶だろ

> なにかよい解決方法はあるでしょうか?
emacs使ってelisp書くか、自分でshellを書け
その方がスマートかつ短時間で解決できそう
0192名無しさん@お腹いっぱい。2005/06/24(金) 18:22:41
>>189
>bindkey w exec $HOME/bin/split.sh --search
bindkeyにwとか割当てると悲惨になるので、^[wとか割当てた方がよい。

>w押下->辞書検索->次の単語に移動という動作にしたいのですが
>うまくいきません。
どのようにうまくいかない?

>としたのですがw3mのカーソル位置にxが書き込まれて期待した
>動作が得られませんでした。
>
>そこで考えてscreenの他のウインドウ経由で実行するようにしたらたまに成功するようになりましたが
これは俺もはまった。execのfdpatが絡んできて結構複雑。
exec ! $HOME/bin/split.sh --search
にすればok
0193名無しさん@お腹いっぱい。2005/06/25(土) 12:17:10
>>191
emacsいいなーとはおもいますが
キーバインド覚えるのがたいへんで
vim使いつづけてますよ。

>>192
>bindkeyにwとか割当てると悲惨になるので、^[wとか割当てた方がよい。
2回キー入力はめんどうなのでにしました。

>どのようにうまくいかない?
>これは俺もはまった。execのfdpatが絡んできて結構複雑。
>exec ! $HOME/bin/split.sh --search
>にすればok
Hello World
H の部分で検索した場合
xello World
上記のようにw3mの画面にstuffで入力したキーが書き込まれる
時がありました。
exec !にしたらうまくいきました。
ありがとうございます。

ttp://www.dekaino.net/screen/screen-thread2.txt
[302] [303] [306] [307] [308] [309] [310]
に似たようなことが書いてあったので他の人のために貼
01941922005/06/25(土) 13:30:52
>>193
>>bindkeyにwとか割当てると悲惨になるので、^[wとか割当てた方がよい。
>2回キー入力はめんどうなのでにしました。
^[wはalt-wだぞ

>ttp://www.dekaino.net/screen/screen-thread2.txt
>[302] [303] [306] [307] [308] [309] [310]
>に似たようなことが書いてあったので他の人のために貼
これ、俺です。
0195名無しさん@お腹いっぱい。2005/06/25(土) 13:36:54
>>193
便利なスクリプトができたら是非公開してくれ。
01961812005/06/25(土) 23:27:54
>>182 脊髄反射する前にpasswd(5)でも読んだら?
01971772005/06/28(火) 02:36:12
具体的に
パスワードがhogeとして例を書いてくれないですかね?
0198名無しさん@お腹いっぱい。2005/06/28(火) 07:27:14
ちょっとは自分の頭で考えたら?
01991772005/06/28(火) 09:07:28
いやです
0200200!2005/06/28(火) 09:43:24
>>199
だからパスワードなしにしろって。
02011772005/06/28(火) 09:45:15
無理です
考えて下さい
0202名無しさん@お腹いっぱい。2005/06/28(火) 09:50:10
だからさ、expect使ったら?
02031772005/06/28(火) 10:03:28
パスワードをhogeとして
.screenrcに書いたらいいことをそのまま教えて下さい
0204名無しさん@お腹いっぱい。2005/06/28(火) 10:27:42
>>177
スレ違い.ここまで読んで .screenrc で解決しようとする時点で君には無理.
0205名無しさん@お腹いっぱい。2005/06/28(火) 10:44:50
いい加減こいつの相手するのやめれよ。自演か?
02061772005/06/28(火) 10:52:19
わたしには無理なのはわかりました
ですので、あなたたちが考えて下さい
0207名無しさん@お腹いっぱい。2005/06/28(火) 12:15:57
ネタは引き際が肝心ですよ。
02081772005/06/28(火) 13:48:46
本気ですよ?
自分でわかれば聞きません
0209名無しさん@お腹いっぱい。2005/06/29(水) 06:19:08
つまらんネタだ
02101772005/06/29(水) 11:48:23
ネタネタと言うんなら答えを示してください
では、だまります
0211名無しさん@お腹いっぱい。2005/06/29(水) 12:39:47
教えて君に用はない
02121772005/06/29(水) 12:51:45
私も>>211さんにはようはありません
0213名無しさん@お腹いっぱい。2005/06/29(水) 13:21:45
とりあえず 177 は >>178 を試してから物を言え。
0214名無しさん@お腹いっぱい。2005/06/29(水) 13:39:45
粘着してるな、相変わらず。
0215名無しさん@お腹いっぱい。2005/06/29(水) 23:47:45
>>210 どれか一つのscreenでrootになっておいて、決してexitしなければよいよ。
さ、オナニーしてとっとと寝ろ。
0216名無しさん@お腹いっぱい。2005/07/02(土) 18:31:54
screen -X 等で使われるのメッセージバッファの大きさが大きすぎ
て(MAXPATHLEN * 3 以上)、FIFOに対してアトミックに読み書きで
きる大きさ(PIPE_BUF)を越えているので、連続してscreen -Xを使
うと、
Invalid message (magic 0x00000000).
と出て動かないことがあった。

os.h で MAXPATHLEN を 1024 で定義しなおして、コンパイルした
らこの現象は起きなくなった。
0217名無しさん@お腹いっぱい。2005/07/02(土) 20:47:04
そう言うことはそういうMLにでも投げるとかしたらどーか。
いやそんなMLがあるかどうか知らんけど。
0218名無しさん@お腹いっぱい。2005/07/02(土) 21:24:28
Linuxのfifoの実装はださいよねえ
でもscreen様がわざわざlinuxごときにあわせてやる必要もないだろ
0219名無しさん@お腹いっぱい。2005/07/03(日) 02:26:41
だったらてめーがコード書けよ
0220名無しさん@お腹いっぱい。2005/07/03(日) 02:28:06
linux嫌いだからイヤだよ。
0221Linux2005/07/03(日) 06:10:51
あっそ、おれもおまえなんか大きらいだ。
0222名無しさん@お腹いっぱい。2005/07/04(月) 11:02:59
作業記録のためにウィンドウの切り換えログを取りたいんですがいい方法ありませんか?
0223名無しさん@お腹いっぱい。2005/07/04(月) 11:17:24
>>222
ttyrec
切り替えコマンドをスクリプトに割当てて、その中で記録
02242222005/07/04(月) 12:21:07
>>223
ども.ttyrec はやりすぎかなと.切り替えコマンド使うと next/prev/select
とか全部定義し直さないと駄目ですよね?

シェル側でやろうかとも思ったのですが,新規の時はともかく切り替えはキャッ
チできないし... なんかうまい方法ないっすかね.
0225名無しさん@お腹いっぱい。2005/07/04(月) 12:45:41
難しいならば別な角度から攻撃しよう
0226名無しさん@お腹いっぱい。2005/07/04(月) 13:41:17
>>218
美しさにこだわって、いつまでたっても実用に耐えない OS よりナンボかマシ。
02272222005/07/04(月) 13:44:30
backtick にタイムスタンプと $WINDOW を吐くスクリプトを仕込んでみたら、
$WINDOW が空に... echo とか exec (backtick も) って %n とか効かないです
よね... うーん,あと一息な気が.手動で exec すれば動くんだけどな.

02281772005/07/04(月) 13:57:04
はやく答えてくださいませんか?
こちとらきみたちと違って暇じゃないんです
0229名無しさん@お腹いっぱい。2005/07/04(月) 14:03:16
>>218
PIPE_BUFと_POSIX_PIPE_BUF見てないscreenが行儀悪い。

>>228
俺らも忙しいから自分で調べてくれないかな?(^Д^)
0230Linux2005/07/04(月) 18:03:23
>>228
教えて君のおめーなんかきらいだ。とっととでてけw
こちとら自分で考えない人につかってもらいたくないね。
0231名無しさん@お腹いっぱい。2005/07/04(月) 19:13:23
  ★★★★★ニュー速VIPより支援要請です。★★★★★
    本日7月4日、下記スレを拠点に支那反日サイトへ一斉に
    田代砲を発射し、 これを破壊します。参加者はいかのスレ
    に参加してください。 野蛮なる支那人へ、日本の義憤を
    見せつけましょう! 今夜8時に作戦会議がBARギコで開かれ
    ますので、有志のみなさんは是非、お集まりください!

    なお、BARギコの会議で決まったことについては、随時
    このスレに書き込みます。


    ★拠点
   【織姫と】中国バカーVS日本ビパー【彦星が呆れてる】part105
    http://ex11.2ch.net/test/read.cgi/news4vip/1120396339/l50

★BARギコ
http://cgi36.plala.or.jp/bargiko/multithread/bargiko.cgi?roomID=1120318128674

   ★詳細情報のサイト(文字化けしているので、修正して見てください)
   http://vvipper.e-city.tv/1.htm

   ★まとめサイト
   http://vipmomizi.jog.buttobi.net/

0232名無しさん@お腹いっぱい。2005/07/04(月) 19:16:23
>>231
アイツらと同じようなことすんなよ、くだらん。
0233名無しさん@お腹いっぱい。2005/07/04(月) 19:34:53
相手にするなよ、くだらん。
0234Linux2005/07/04(月) 19:37:36
そうですね。
おれもそんな奴相手にするんじゃなかった。
0235名無しさん@お腹いっぱい。2005/07/04(月) 21:12:19
>>227
backtick の場合は WINDOW と STY は設定されないよ。WINDOWはと
もかく STY ぐらいは設定してくれてもいいと思う
02362222005/07/06(水) 11:19:13
結局,
bind n eval next 'exec script'
みたいにして,next/prev/other/select にスクリプトを仕込みました.
これだとコマンドラインからの切り替えとか,他にも抜けがありそうだけど...
0237名無しさん@お腹いっぱい。2005/07/06(水) 21:25:08
>>222,236
今さらだけど、
`ウィンドウの切り換えログ'
の、意味が分かんない。
0238名無しさん@お腹いっぱい。2005/07/06(水) 21:29:41
ただ、現在の$WINDOWをつらつらと記録することでは?
0239名無しさん@お腹いっぱい。2005/07/07(木) 16:42:13
ソースをハックしてログ出力するのが一番楽そうだな
0240名無しさん@お腹いっぱい。2005/07/07(木) 21:59:56
>>236 screenを二重に立ち上げて、外側のscreenで記録。
0241名無しさん@お腹いっぱい。2005/07/07(木) 22:52:30
>>240
どやって?
0242名無しさん@お腹いっぱい。2005/07/07(木) 23:46:57
ssh -X で screen ごとフォワーディングしたいんだけど漏れのレベルじゃできない。
■ このスレッドは過去ログ倉庫に格納されています