トップページ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/
0095名無しさん@お腹いっぱい。2005/05/31(火) 23:57:27
ちょっと聞きたいんだが、screen で 256 色使うってことは、
screen を立ち上げてる端末も 256 色に対応してないといけないんだよね?
0096名無しさん@お腹いっぱい。2005/05/31(火) 23:59:20
>>95
あたり前田
0097名無しさん@お腹いっぱい。2005/06/01(水) 00:20:39
>>93
screenの-Tオプションは付けなくていいです。

termcapでcoが256になっていることと、AFとABが
AF=\E[48;5;%p1%dm:AB=\E[38;5;%p1%dm:
のようになっていることを確認してください。

それが合っていたら、
env TERM=xterm-256color script
screen
256colors2.pl
exit
exit
として、typescriptでエスケープシーケンスを確認してみてくださ
い。
0098862005/06/01(水) 14:15:20
>>94, 97
ご助言ありがとうございます。
ようやく手元でも PuTTY + screen&emacs上で256色出るようになりました。
結局は termcap の設定でした。(97氏のAFとABは逆でした)

% echo $TERM
xterm-256color
% cat ~/.termcap
xterm-256color:Co#256:AF=\E[38;5;%p1%dm:AB=\E[48;5;%p1%dm:tc=xterm-xfree86:
% perl 256colors2.pl (256 OK!)
% screen
% perl 256colors2.pl (256 OK!)
% eval `tset -s xterm-256color` (もしくは setenv TERM=xterm-256color)
% emacs -f list-colors-display (256 OK!)
0099982005/06/01(水) 14:41:09
>>98
AFとABが逆になってたね。すまん。

screenの中でTERM=xterm-256colorにするのはよろしくないかも。
screenのCoとAFとABを書き換えた方がいいのかな。

ttp://eron.info/k/diary/2005/05a.html#06
に詳しく書かれていた。
0100名無しさん@お腹いっぱい。2005/06/01(水) 14:46:57
100!
0101862005/06/01(水) 22:02:53
>>99
なるなる。そちらのページは私も参考にしていました。
私が使う範囲では TERM=xterm-256color でも問題なかったのですが、
最終的に以下のようにしてみました。

~/.termcap
xterm-screen:Co#256:pa#32767:AF=\E[38;5;%p1%dm:AB=\E[48;5;%p1%dm:tc=screen:

~/.screenrc
setenv IN_SCREEN 1

~/.tcshrc
if (! ${?IN_SCREEN}) then
env TERM=xterm-screen screen -RR
else
eval `tset -s xterm-screen`
endif
0102名無しさん@お腹いっぱい。2005/06/03(金) 03:47:50
PuTTY0.58ごった煮 + screen + emacsで256色表示をやろうとして3日程頭かかえてます。
screenとemacsはFreeBSD 5.4Rで動かしています。ports treeは5月30日に更新してます。
今日、なんとかscreenで256色表示ができました。emacsではあいかわらず8色表示しかできません。
PuTTYでFreeBSDマシンにログインして順番にやってみました。
% echo $TERM => xterm
% less ~/.termcap => xterm-256color:Co#256:pa#32767:AF=\E[38;5;%p1%dm:AB=\E[48;5;%p1%dm:tc=xterm-xfree86:
% ./256colors2.pl => color cubeが256色で表示
% emacs -f list-colors-display => 16色表示
% eval `tset -s xterm-256color`
% echo $TERM => xterm-256color
% emacs -f list-colors-display => 16色表示
% screen
% less ~/.screenrc
term xterm-256color
termcapinfo xterm 'Co#256:pa#32767:AF=\E[38;5;%p1%dm:AB=\E[48;5;%p1%dm:tc=xterm-xfree86'
↑ここをxtermではなく、xterm-256colorとするとcolor cubeが16色になる。
% echo $TERM => xterm-256color
% ./256colors2.pl => color cubeが256色で表示
% emacs -f list-colors-display => 16色表示
% eval `tset -s xterm-256color`
% echo $TERM => xterm-256color
% emacs -f list-colors-display => 16色表示

上を参考にいろいろ.termcapや.screenrcなどの内容を変えてみましたがだめ。
% eval `tset -s xterm-256color` を実行する前は、envの値に、screen外ではTERMCAPすらなく、
screen内ではCo#8のまま変化していません。でもcolor cubeは256色で表示される。
tsetを実行した後は、TERMCAPに反映されます。
emacsでは、(load-library "term/xterm")を実行してみましたが変化なしです。
どないしたらええか、もう、さっぱりです。
screenでは256色が出ているだけに、emacsで256色がでないのはよけいにつらい。
<EOF>
0103名無しさん@お腹いっぱい。2005/06/03(金) 08:38:40
>>102
emacs のバージョンは?
0104名無しさん@お腹いっぱい。2005/06/03(金) 11:03:38
あ。そうか。
emacs-21.3_7
screen-4.0.2_1
です。よろしくです。
0105名無しさん@お腹いっぱい。2005/06/03(金) 11:32:03
>>104
emacs-21 は 256color に対応していない。
CVS Head の Emacs を使うか、自分で設定をするか。
ttp://www.nijino.com/ari/diary/?20021119&to=200211191S1#200211191S1
01061022005/06/04(土) 16:52:34
>>105
thanks! できました! うれしー!

portsからemacsを入れているので、最新版を別に入れると依存関係がめんどくさくなりそうなのでやめて、
上記のサイトにあるlispを利用しました。

~/.emacs から tty-color-256-define.el をloadするようにして、~/.zloginに
eval `tset -sQI xterm-256color`
を一行追加してみました。

それにしても、Emacs-21が256色に標準未対応とは盲点でした。
0107名無しさん@お腹いっぱい。2005/06/04(土) 19:56:35
やっぱり大量の文字をスクロールすると遅いなあ
しゃーないか
0108名無しさん@お腹いっぱい。2005/06/04(土) 20:31:52
>>107
256色での話? CPUは何よ?
01091072005/06/04(土) 21:49:12
非256
CPU: Intel Celeron (801.82-MHz 686-class CPU)
on kterm -geometry 150x61

% time yes 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 |head -1000
の結果(time のだけ)

screen なし
time: command terminated abnormally
0.41 real 0.00 user 0.00 sys

screen あり (screen -c /dev/null)
time: command terminated abnormally
10.33 real 0.00 user 0.00 sys

まあこんなもんだろうけど、このウインドウサイズで
less とかのページスクロールするとちょっともたつく感じ。
0110名無しさん@お腹いっぱい。2005/06/04(土) 21:53:33
>>109
遅すぎ。俺のはほとんど変わらなかったぞ。

model name      : Intel(R) Pentium(R) III CPU - S 1266MHz
MemTotal:       514512 kB

screenなし
yes   0.00s user 0.00s system 0% cpu 0.200 total

screen -c /dev/null
yes   0.00s user 0.00s system 0% cpu 0.234 total
01111102005/06/04(土) 21:54:30
端末は
teraterm 148 x 58
01121072005/06/04(土) 22:22:48
>>110
ちょっと今 top でみてみたら負荷のほとんどが Xorg だった。
多分 screen の場合はスクロールの際に全画面再描画してるからだと思う。
01131072005/06/04(土) 22:24:25
あ、違うかな。
0114名無しさん@お腹いっぱい。2005/06/04(土) 22:41:22
screenなし
yes 0.00s user 0.00s system 1% cpu 0.321 total

screen -c /dev/null
yes 0.00s user 0.00s system 0% cpu 1.340 total

orz
01151102005/06/04(土) 22:42:44
>多分 screen の場合はスクロールの際に全画面再描画してるからだと思う。
screenさんはそんなに馬鹿じゃないぞ
0116名無しさん@お腹いっぱい。2005/06/04(土) 23:21:55
altscreen onのせい?
関係ないかな。

文字コードとか、内部仮想画面もってたりとか、いろいろあるからだろうけど、
でも高速化の余地は多いにありそうだな。
0117名無しさん@お腹いっぱい。2005/06/04(土) 23:24:13
>>111-112
TeraTermでなんでXが出てくるんだ?
0118名無しさん@お腹いっぱい。2005/06/04(土) 23:30:36
teraワロス
0119名無しさん@お腹いっぱい。2005/06/04(土) 23:38:48
>>117
>>110=>>111
>>112=>>107だろ。ちゃんと見れ
0120名無しさん@お腹いっぱい。2005/06/05(日) 00:02:14
みんな小さい字で生活してるのな。眼悪くならんか?
漏れは16dotフォントで86x46だぞ。
0121名無しさん@お腹いっぱい。2005/06/05(日) 00:09:22
みんなって。
01221072005/06/05(日) 01:22:24
しつこく参上。
kterm を xterm に変えて同じことをやってみた。
したら screen の有無でそれほど変わらんかった。
kterm は screenなしだと xterm より速いけど、
screenありだと著しく遅くなる。

どうも screen on kterm だと X の描画で 1行ずつスクロールしてる様子。
xterm だと数行毎に飛ばして描画してるみたい。
xterm で screen -x して kterm と同時に見てみるとよく分かる。
screen なしの kterm はどう描画しているのかよく分からない。

xterm -geometry 150x61 での結果
screenなし
0.64 real 0.00 user 0.00 sys

screen -c /dev/null
0.78 real 0.00 user 0.00 sys
0123名無しさん@お腹いっぱい。2005/06/05(日) 01:41:35
>>122
ktermでそれだけ遅くなるのは意味不明だな。xtermの場合は遅くな
っていないから、screenの処理が重いのが原因ではない。screenあ
りの場合となしの場合で出力が変わらないので、ktermの描画時間
も同じはずなのだが。
0124名無しさん@お腹いっぱい。2005/06/05(日) 14:15:18
完全に想像だが、screenが期待しているエスケープシーケンスがktermのterminfo/termcapにはないせいで、フォールバックしてるんじゃないか?
0125名無しさん@お腹いっぱい。2005/06/05(日) 15:40:35
>>124
yesの出力にエスケープシーケンスは入ってないし必要ない。
0126名無しさん@お腹いっぱい。2005/06/05(日) 15:57:50
こっそり logモードがonになってたりしない?
0127名無しさん@お腹いっぱい。2005/06/05(日) 17:22:42
>>125
なにいってんの?
01281072005/06/05(日) 23:06:42
続き。

screen なしの kterm も数行毎に飛ばして描画してるみたい。
なんで screen on kterm で 1行毎に描画するかが分からない。
ちょうど kterm の読み込みより screen の出力が遅くなってるのかな。
0129名無しさん@お腹いっぱい。2005/06/06(月) 00:30:10
私のパソコンだとscreen有無にかかわらず0.6秒b烽ゥかってしまb、。
CPUはPentium4 2.66GHz、メモリは1GB。性能的には申し分ないのだが。
別個にグラフィックボードを装備せずにオンボードのやつを使っているから遅いのかな。
Xは24bpp。
0130名無しさん@お腹いっぱい。2005/06/06(月) 00:31:09
>>129
使ってる端末によってかなり違うと思うよ。
01311292005/06/06(月) 01:51:34
mltermです。
0132名無しさん@お腹いっぱい。2005/06/06(月) 09:28:57
mltermでaafont使ってるなら遅いよ
0133名無しさん@お腹いっぱい。2005/06/06(月) 10:14:02
aafont使ってないよ。
0134名無しさん@お腹いっぱい。2005/06/07(火) 01:16:14
そのものズバリ、「1行毎に描画する機能」を
制御するエスケープシーケンスがあるよ。

echo "\033[?4h" でオン(1行毎に描画)
echo "\033[?4l" でオフ(まとめて描画)になる。

これ試してみて。
0135名無しさん@お腹いっぱい。2005/06/07(火) 01:38:48
>>134
termcapもしくはterminfoのエントリ名は何?
01361352005/06/07(火) 01:42:08
h Smooth (Slow) Scroll (DECSCLM)
l Jump (Fast) Scroll (DECSCLM)
ってやつね。
Xterm Control Sequencesに載ってた。
01371292005/06/07(火) 03:48:38
#1行毎に描画
xterm without screen 4.828
mlterm without screen 0.210
kterm without screen 4.992
rxvt without screen 0.012
pterm without screen 0.085

xterm with screen 0.287
mlterm with screen 0.272
kterm with screen 0.401
rxvt with screen 0.031
pterm with screen 0.073

#まとめて描画
xterm without screen 0.263
mlterm without screen 0.186
kterm without screen 0.187
rxvt without screen 0.012
pterm without screen 0.078

xterm with screen 0.240
mlterm with screen 0.283
kterm with screen 0.417
rxvt with screen 0.034
pterm with screen 0.074

* rxvtだとやばいほど速い!
* screenを使うと違いがほぼなくなっている。
0138名無しさん@お腹いっぱい。2005/06/07(火) 05:22:08
結局ktermとxtermでjump scrollの設定が違ってたってオチかよ!
0139名無しさん@お腹いっぱい。2005/06/07(火) 08:37:32
screenを使うと勝手にまとめて描画するようになってるみたいだね。
0140名無しさん@お腹いっぱい。2005/06/07(火) 10:31:14
>>137
mltermで0.6秒になってないが。
01411292005/06/07(火) 13:45:47
それは特殊な条件下だったので‥
0142名無しさん@お腹いっぱい。2005/06/07(火) 19:47:36
escape ^a^a
から
escape ^z^z
に、変換したのですが

以前、C-a C-aで行えていた1個前に作業していたスクリーンへの移動ができなくなりました
C-z C-aでは、何もおきなくて
C-z C-zでは、カレントスクリーンのプログラムがスリープしてしまいます

この場合、どのようなキーバインドになっているのでしょうか?
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]
>に似たようなことが書いてあったので他の人のために貼
これ、俺です。
■ このスレッドは過去ログ倉庫に格納されています