トップページ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/
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 ごとフォワーディングしたいんだけど漏れのレベルじゃできない。
0243名無しさん@お腹いっぱい。2005/07/07(木) 23:58:44
普通にできるが。
0244名無しさん@お腹いっぱい。2005/07/19(火) 16:41:19
PuTTY上でFreeBSDマシンに接続してscreenをつかってます。
s -laなんかして、画面の上に消えてしまった出力を、「Shift + PageUP」キーでスクロールアップして確認できますよね。
ところが、>>82-106を参考に256色対応にしてから、screen上でShift+PageUPキーを押しても、screen上での出力は表示されず、screenを起動する前の画面が表示されてしまいます。

いろいろ調べた結果、「eval `tset -sQI xterm-screen`」や、「export TERM=xterm-screen」をしなければscreen上でもShift+PageUPが効くことまでは確認ができたのですが、これをしないと256色表示されないし・・・。

.tercapで指定しているxterm-screenは >>101 のと同じやつです。
xterm-screen:Co#256:pa#32767:AF=\E[38;5;%p1%dm:AB=\E[48;5;%p1%dm:tc=screen:

termcapはmanを読んでもわけわからんし、そもそも、本当にここが原因なのか。
なんか良い方策ないですか?
0245名無しさん@お腹いっぱい。2005/07/19(火) 18:22:33
altscreen off
02462442005/07/20(水) 16:00:00
>>245
だめです。うーむ。
.screenrcを削除してscreenを起動してみましたが同じでした。
0247名無しさん@お腹いっぱい。2005/07/20(水) 16:02:30
^A ^[ ^U でいいんでないの?
0248名無しさん@お腹いっぱい。2005/07/20(水) 16:57:59
screen使ってるならscreenのコピーバッファでいいだろ。
0249名無しさん@お腹いっぱい。2005/07/20(水) 17:36:39
>>246
んじゃ termcap の ti を無効にするか、
screen/display.c の AddCStr(D_TI); をコメントアウト。
02502442005/07/21(木) 15:20:08
>> 247, 248
コピーモードの中でカーソル移動にEmacsのキーバインドを使うと意図しないところに動いちゃんですよね。ストレスフルなのであきらめました。簡単にEmacsのと同じにカスタマイズできるのかな?
>> 249
termcapのti無効でうまく行きました!アリガトー
tiを無指定で追加しただけ、ですけどこれでいいのかな?manも見てみましたがサッパリ。
xterm-screen:Co#256:pa#32767:AF=\E[38;5;%p1%dm:AB=\E[48;5;%p1%dm:ti:tc=screen:
0251名無しさん@お腹いっぱい。2005/07/21(木) 15:21:50
>>250
キーバインドは変えれる。
0252名無しさん@お腹いっぱい。2005/07/21(木) 17:38:22
漏れもemacs使いだけどさっさとhjklに慣れろよ。
editするとき以外はviのバインドが好きだ。
0253名無しさん@お腹いっぱい。2005/07/22(金) 09:13:46
つ M-x vip-mode
0254名無しさん@お腹いっぱい。2005/07/22(金) 16:33:55
viper-modeの方がいいらしい
02552442005/07/22(金) 19:10:28
カーソル移動は手が担っている作業なので、viのキーバインドは覚悟を決めてからじゃないと使えない。ましてや、Emacsの上でコピーモードに入ったら絶望的。

>>251 manを探したらありました。
markkeys "h=:l=:j=:k=:$=:0="
とりあえずこれだけ設定してみたが、かなり楽になった。アリガトー!

# screenを使いはじめた頃.screenrcに「markkeys "h=^B:l=^F:$=^E"」をコピー&ペースト(「^+B」とかだから無意味)して使えねーと思ったまま忘れていたのは秘密
02562442005/07/22(金) 19:14:45
ありゃ。↑消えちゃった。そりゃ消えるか。↓です。
markkeys "h=^B:l=^F:j=^N:k=^P:$=^E:0=^A"
0257名無しさん@お腹いっぱい。2005/07/23(土) 09:46:21
>>244
何をムキになって自分が適応力がない無能な人間だってことを宣伝し続けているのか?
02582522005/07/23(土) 10:34:15
emacs使いだけど常にC-f, C-b, C-n, C-pは小指に負担かかって嫌。
w3mやview-mode@emacsなどではhjklだね。
編集時以外はhjklを使いたいと漏れの手が言ってる。
なかなかhjklに慣れないんだったら、rogueでもやればいいよ。
0259名無しさん@お腹いっぱい。2005/07/23(土) 11:42:21
そんなことは人それぞれ
0260名無しさん@お腹いっぱい。2005/07/23(土) 13:50:11
適応力のない人は自分に適応力がないという現実にも適応できない
0261名無しさん@お腹いっぱい。2005/07/23(土) 13:52:51
>>252には >>253-254が見えませんか?
0262名無しさん@お腹いっぱい。2005/07/26(火) 03:29:08
見やすいhardstatus見つけた。

> hardstatus alwayslastline "%{= wr}%H: %{= .b}%-Lw%{= bw}%50>%n%f* %t%{-}%+Lw%< %= %{= .k}%y/%m/%d(%D) %c"
http://acapulco.dyndns.org/hiki/hiki.cgi?%28Gentoo%29Screen
0263名無しさん@お腹いっぱい。2005/07/26(火) 14:53:39
echo で出す文字の色ってどうやれば変えられます?
screen -X echo '^[[1;34mほげ'
とかやっても駄目みたいなんすが。
0264名無しさん@お腹いっぱい。2005/07/26(火) 15:06:01
>>263
sorendition
0265名無しさん@お腹いっぱい。2005/07/26(火) 15:25:33
>>264
うをっ、見付けきれなかったよ。thx!!
0266名無しさん@お腹いっぱい。2005/08/16(火) 03:01:02
過疎ってるなあ
0267名無しさん@お腹いっぱい。2005/08/16(火) 03:14:24
最近画面の馬鹿でかいPCに変えたら
screen使わなくても不便感じなくなってきた。
0268名無しさん@お腹いっぱい。2005/08/16(火) 04:49:44
screen不使用って。小さい字で目つかれない?
0269名無しさん@お腹いっぱい。2005/08/16(火) 10:11:39
>>267
君は、まだscreenの本当の価値が見えてないな。
0270名無しさん@お腹いっぱい。2005/08/16(火) 10:14:59
screen使わないと字が小さくなるのか??
0271名無しさん@お腹いっぱい。2005/08/16(火) 10:21:05
馬鹿でかい画面でも???
0272名無しさん@お腹いっぱい。2005/08/16(火) 10:26:40
>>268は釣りだとう思うに、1ユーロ。
0273名無しさん@お腹いっぱい。2005/08/16(火) 11:48:55
マジレスだったに10ペソ
0274名無しさん@お腹いっぱい。2005/08/16(火) 12:32:48
screen使わない→terminalを並べて使う→フォントが小さくなる
という三段論法だろう。
0275名無しさん@お腹いっぱい。2005/08/16(火) 12:47:31
三段論法を理解していないやつがいるな
0276名無しさん@お腹いっぱい。2005/08/16(火) 13:14:32
>>274
でも「画面の馬鹿でかいPC」って言ってたよ????
0277名無しさん@お腹いっぱい。2005/08/16(火) 13:41:52
三段論法がわかってないやつはアリストテレスからやり直せ
つーかアリストテレスの師匠の師匠ソクラテスが説く「無知の知」を自覚しろ
0278名無しさん@お腹いっぱい。2005/08/16(火) 13:42:42
まあ書き方からして、フォントを小さくする方向には走ってなさげではある。
0279名無しさん@お腹いっぱい。2005/08/16(火) 13:44:15
> アリストテレスからやり直せ
やり直すもなにも一度もやってないとか
0280名無しさん@お腹いっぱい。2005/08/17(水) 02:46:00
コピーモードのときにNで反対方向に検索できないので、パッチを
作った。それと、インクリメンタルサーチのときにCRでインクリメ
ンタルサーチを終了できるようにした。

*** screen-4.0.2.orig/search.c  2003-09-08 23:26:45.000000000 +0900
--- screen-4.0.2/search.c       2005-08-17 02:35:18.310000000 +0900
***************
*** 50,62 ****
  int dir;
  {
    struct markdata *markdata;
!   if (dir == 0)
      {
        markdata = (struct markdata *)flayer->l_data;
!       if (markdata->isdir > 0)
!       searchend(0, 0, NULL);
!       else if (markdata->isdir < 0)
!       backsearchend(0, 0, NULL);
        else
        LMsg(0, "No previous pattern");
      }
--- 50,72 ----
  int dir;
  {
    struct markdata *markdata;
!   if (dir == 0 || dir == 2)
      {
        markdata = (struct markdata *)flayer->l_data;
!       if (markdata->isdir > 0) {
!         if (dir == 0) {
!           searchend(0, 0, NULL);
0281名無しさん@お腹いっぱい。2005/08/17(水) 02:47:13
!         } else {
!           backsearchend(0, 0, NULL);
!         }
!       }
!       else if (markdata->isdir < 0) {
!         if (dir == 0) {
!           backsearchend(0, 0, NULL);
!         } else {
!           searchend(0, 0, NULL);
!         }
!       }
        else
        LMsg(0, "No previous pattern");
      }
***************
*** 77,85 ****

    markdata = (struct markdata *)flayer->l_data;
    p = markdata->md_window;
!   markdata->isdir = 1;
!   if (len)
      strcpy(markdata->isstr, buf);
    sx = markdata->cx + 1;
    ex = flayer->l_width - 1;
    for (y = markdata->cy; y < p->w_histheight + flayer->l_height; y++, sx = 0)
--- 87,96 ----

    markdata = (struct markdata *)flayer->l_data;
    p = markdata->md_window;
!   if (len) {
0282名無しさん@お腹いっぱい。2005/08/17(水) 02:51:53
!     markdata->isdir = 1;
      strcpy(markdata->isstr, buf);
+   }
    sx = markdata->cx + 1;
    ex = flayer->l_width - 1;
    for (y = markdata->cy; y < p->w_histheight + flayer->l_height; y++, sx = 0)
***************
*** 106,114 ****
    struct markdata *markdata;

    markdata = (struct markdata *)flayer->l_data;
!   markdata->isdir = -1;
!   if (len)
      strcpy(markdata->isstr, buf);
    ex = markdata->cx - 1;
    for (y = markdata->cy; y >= 0; y--, ex = flayer->l_width - 1)
      {
--- 117,126 ----
    struct markdata *markdata;

    markdata = (struct markdata *)flayer->l_data;
!   if (len) {
!     markdata->isdir = -1;
      strcpy(markdata->isstr, buf);
+   }
    ex = markdata->cx - 1;
    for (y = markdata->cy; y >= 0; y--, ex = flayer->l_width - 1)
      {
***************
*** 255,260 ****
0283名無しさん@お腹いっぱい。2005/08/17(水) 02:52:30
--- 267,273 ----
        pos = markdata->isstartpos;
        /*FALLTHROUGH*/
      case '\033':      /* ESC */
+     case '\r':        /* ESC */
        *p = 0;
        break;
      case '\013':      /* CTRL-K */
*** screen-4.0.2.orig/mark.c    2003-09-08 23:26:00.000000000 +0900
--- screen-4.0.2/mark.c 2005-08-17 01:56:06.280000000 +0900
***************
*** 794,799 ****
--- 794,802 ----
        case 'n':
          Search(0);
          break;
+         case 'N':
+           Search(2);
+           break;
        case 'y':
        case 'Y':
          if (markdata->second == 0)

長文すいません。
0284名無しさん@お腹いっぱい。2005/08/29(月) 21:44:20
$ MAILNO=`ls ~/Maildir/new/|wc -l`; screen -X hardstatus alwayslastline "%H:[$MAILNO] %w"
みたいな感じで、未読メール数をhardstatusに表示しようと思ったのですが、
passwordが設定されてると、screen -Xオプションが使えません。
password使用時にも使える、代替案ないもんでしょうか。


0285名無しさん@お腹いっぱい。2005/08/29(月) 21:58:47
>>284
hardstatus を "%H: [%h] %w" としておいて、
$ echo "^[_`ls ~/Maildir/new/|wc -l`^[\\"
とか?
02862842005/09/01(木) 04:58:06
>>285
なるほど。参考になります。%hはいろいろ使えそうですね。
けど、現在のウィンドウのみでしか効果がないので、
今回の意図にはもう一工夫必要そうです。もう少し考えてみます。

0287名無しさん@お腹いっぱい。2005/09/01(木) 07:51:25
chshでscreenにしてるひといますか?
なんかあったときにやばいこと起きたりしませんか?
0288名無しさん@お腹いっぱい。2005/09/01(木) 12:26:08
>>284
おれはbacktickで表示している。

>>287
あほ?
ssh host ls
とかやるときどうすんの?
0289名無しさん@お腹いっぱい。2005/09/01(木) 12:39:05
やる必要ないなら別にいいじゃん。
0290名無しさん@お腹いっぱい。2005/09/01(木) 13:11:47
>>289
sshだけではなく、ログインシェルを起動するコマンドはたくさん
あるぞ。
0291名無しさん@お腹いっぱい。2005/09/01(木) 13:29:06
たとえば?
0292名無しさん@お腹いっぱい。2005/09/01(木) 13:48:20
トラディショナルなftpd
0293名無しさん@お腹いっぱい。2005/09/01(木) 14:09:06
/etc/shells に入れとけば無問題だな。
0294名無しさん@お腹いっぱい。2005/09/01(木) 14:35:13
>>291
mutt
0295名無しさん@お腹いっぱい。2005/09/01(木) 20:11:42
vi
0296名無しさん@お腹いっぱい。2005/09/01(木) 23:57:15
screen top
とかやってみな。ちゃんと動くぞ
ログインシェルとして使えるようになってるんでは?

けど、detachやretachするのに不便かも。
だから俺はやんね。
0297名無しさん@お腹いっぱい。2005/09/02(金) 00:45:39
おれはログインシェルにはしてないけど
仮想端末を開くときにこういう開き方をしてる。
xterm -e screen -xR hoge
こうしとくと、hogeというセッションがあればアタッチするし、
なければそういう名前でセッションを作る。
0298名無しさん@お腹いっぱい。2005/09/02(金) 00:52:40
>>296
あほですね。
それはscreenの中でtopが動いているだけ。
0299名無しさん@お腹いっぱい。2005/09/02(金) 01:06:59
>>298
つまりshellとして使えるってことじゃ
0300名無しさん@お腹いっぱい。2005/09/02(金) 01:13:13
>>299
screenの中でscreen topを実行した場合は別ウィンドウが開くぞ。
あと、screenrcでscreenコマンドを使っていたらscreen topとやっ
てもtopが起動しない。
0301名無しさん@お腹いっぱい。2005/09/02(金) 03:03:21
>>300
どっちもscreenをログインシェルにすることの
決定的な障害とは思えないんですが。
0302名無しさん@お腹いっぱい。2005/09/02(金) 03:58:00
>>301
じゃあ試してみればいい。
>>297
みたいなことやった方が安全だけどね。
0303名無しさん@お腹いっぱい。2005/09/02(金) 08:46:59
loginshellにしてみて不具合あったら片っ端から直していきゃいい。
perlやemacsはloginshellにした前例はある。がんがれ。
0304名無しさん@お腹いっぱい。2005/09/02(金) 14:19:14
>>303
>perlやemacsはloginshellにした前例はある。
それはギャグでしょ。
0305名無しさん@お腹いっぱい。2005/09/02(金) 21:20:44
screen が shell を使っている気がする
0306名無しさん@お腹いっぱい。2005/09/02(金) 21:57:44
>>305
それだ!
まあ$SHELLを変えてやればいいんだけどね。
ここにperlをログインシェルにする方法が書いてあった。
http://katsu.watanabe.name/article/459.txt
0307名無しさん@お腹いっぱい。2005/09/08(木) 21:14:52
fedora linuxを使う羽目に陥ったんだけど
screenってUTF-8対応してないよね?
0308名無しさん@お腹いっぱい。2005/09/08(木) 21:28:58
してるけど。
0309名無しさん@お腹いっぱい。2005/09/08(木) 22:02:59
>308
さんくす
ぐぐってみますわ
0310名無しさん@お腹いっぱい。2005/09/09(金) 18:28:09
screen にバグがあったんで、パッチ置いときますね。
コピーモードでのE, Bの動きがまともになります。

*** screen-4.0.2.orig/mark.c    2003-09-08 23:26:00.000000000 +0900
--- screen-4.0.2/mark.c 2005-08-17 03:56:21.480000000 +0900
***************
*** 168,174 ****
        if (x >= xx || x < 0)
        q = 0;
        else if (flags & NW_BIG)
!         q = ml->image[x] == ' ';
        else
          q = is_letter(ml->image[x]);
        if (oq >= 0 && oq != q)
--- 168,174 ----
        if (x >= xx || x < 0)
        q = 0;
        else if (flags & NW_BIG)
!         q = ml->image[x] != ' ';
        else
          q = is_letter(ml->image[x]);
        if (oq >= 0 && oq != q)
0311名無しさん@お腹いっぱい。2005/09/09(金) 22:11:32
こんなところに置いてどうなる。
0312名無しさん@お腹いっぱい。2005/09/09(金) 22:21:21
開発元にコード提供する奴 > 別の場所にコード上げて提示する奴 > ROM >>>>>>>>> ここにコード貼る奴
0313名無しさん@お腹いっぱい。2005/09/09(金) 22:29:58
開発元にコード提供する奴 > 別の場所にコード上げて提示する奴 > ROM >>>>>>>>> ここにコード貼る奴 >>> ここでレスする奴
0314名無しさん@お腹いっぱい。2005/09/09(金) 22:49:26
ここでレスしてもたいした害はないけど、
コード貼るのは害があるっつー話か
0315名無しさん@お腹いっぱい。2005/09/09(金) 23:27:33
上流に投げてくれれば、より多くの人が幸せになる
0316名無しさん@お腹いっぱい。2005/09/09(金) 23:34:14
>>314
ライセンスが曖昧なので有用なパッチが取り込まれなくなるのが害っつー話も
0317名無しさん@お腹いっぱい。2005/09/09(金) 23:40:33
良かれと思って貼ると罵倒される罠
0318名無しさん@お腹いっぱい。2005/09/09(金) 23:55:13
一行の差分くらいならコードというよりゃ指摘だからライセンスの心配はないと思うが、
開発者に届くべき報告が、ここに貼られてそれで止まってしまうのなら
やはり一種の害とは言えんかな。
>>310良いぞ、報告汁!と書いてもどうせ本人含め誰も報告しないんだろ。

貼れば誰か報告してくれるかもと思うのかもしれんが、
漏れだって2chに貼られたものを報告しに行く気にはなれんもの。
0319名無しさん@お腹いっぱい。2005/09/10(土) 00:06:39
じゃあさ、
2chのぴろゆきが代表して報告するっていう案はどうか?
0320名無しさん@お腹いっぱい。2005/09/10(土) 02:16:56
馬鹿でっかい画面ってUXGA?それは普通だぞ。
今は馬鹿でっかい画面と言ったらWQUXGAを指すんだぞ






orz
0321名無しさん@お腹いっぱい。2005/09/10(土) 02:28:20
いつの話してるんだ
0322名無しさん@お腹いっぱい。2005/09/10(土) 08:11:26
まだまだ現役の漏れの液晶ディスプレイだけど1024x768って時代遅れ?
0323名無しさん@お腹いっぱい。2005/09/10(土) 16:26:27
おれもおれも
0324名無しさん@そうだ選挙に行こう2005/09/10(土) 18:54:12
ノートの方が解像度高いってどうなんだろ…
0325名無しさん@そうだ選挙に行こう2005/09/10(土) 23:27:58
漏れも含めscreenつこてる奴等のほとんどは高解像度である必要ないよな。
0326名無しさん@そうだ選挙に行こう2005/09/10(土) 23:32:57
そう思ってる時期が俺にもありました。
0327名無しさん@そうだ選挙に行こう2005/09/10(土) 23:45:59
液晶モニター、買ったときすごい高かった。
だから使えるうちはまだ買い換えるわけにはいかないんだよね。
0328名無しさん@そうだ選挙に行こう2005/09/10(土) 23:51:22
今の、6年目ぐらいになるけどまだまだ使えるよ。
15inchあれば頑張れる。
0329名無しさん@そうだ選挙に行こう2005/09/10(土) 23:55:53
screenを使ってようが使ってまいが、
1画面に表示出来る情報量を増やした方が使い勝手が良くなる。
0330名無しさん@そうだ選挙に行こう2005/09/11(日) 00:00:38
むしろ日常対面しているのはノートなので、そっちが解像度高いのは合理的。
0331名無しさん@そうだ選挙に行こう2005/09/11(日) 00:07:37
仮想端末やXサーバよりscreenの方が信用できるので、
重要な作業するときはscreen上で行うよ。
0332名無しさん@そうだ選挙に行こう2005/09/11(日) 00:52:57
>>329
そりゃそうだけど、やりすぎると字が小さくなって目が疲れるんだよね。
0333名無しさん@そうだ選挙に行こう2005/09/11(日) 00:56:35
やりすぎなきゃいいじゃん。
■ このスレッドは過去ログ倉庫に格納されています