X



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/
0448名無しさん@お腹いっぱい。
垢版 |
2012/01/07(土) 18:12:31.73
>>447
すまん、やりたいことが
すでに起動しているshの環境変数を書き換えることならNoだわ。
あたらしいwindowを開いたときに、そのときの環境変数が設定されるだけ。
0449名無しさん@お腹いっぱい。
垢版 |
2012/01/29(日) 12:38:25.06
コピーモードから抜けるとき一瞬もたつく感じしない?
とくにコピーしてから抜けるときは
設定いじればもう少し早くなるんだろうか
0451名無しさん@お腹いっぱい。
垢版 |
2012/03/12(月) 02:20:08.27
それって colon から打つの?

>>449
特にしません。

>>441
TERM=xterm だと xterm の制御シーケンスを扱えない端末からマルチディスプレイモードで
アタッチした時に困ったことになる。マルチディスプレイモードじゃなくても。
または、端末より screen が認識する(かつ screen のみでなんとかなる)
制御シーケンスの方が多いというケースも理由としてありえるな。

>>445
うーん…
tty の入力監視 wrapper から screen を起動する。
wrapper では入力検知時に pid を file などに書く。
zsh の preexec とかで pid から環境変数を取り込む。
みたいな?
0452450
垢版 |
2012/03/12(月) 02:31:08.26
>>451
そうっす。prefixの後に :layout new

もしかして/tmpに作られてんのかな
0454450
垢版 |
2012/03/13(火) 00:18:57.07
>>453
一回どっかのscreenで:layout newすれば、その後に別のセッションを新規に作っても
そこでもレイアウトは有効になってるんで、どこかに書いてるのかと思うんだけど・・・
0455名無しさん@お腹いっぱい。
垢版 |
2012/03/13(火) 00:45:02.71
違う端末でも、じゃなくて違うセッションでも共有してるの?
古い記述だけど ttp://yudai.arielworks.com/memo/2008/11/08/184006 には
ファイルに書かれないとあるね。今はあるかもしれないけど。

セッション間共有なら screen として特別なファイルはなくてもできるだろうし、
強いていうならソケットディレクトリ内のソケットがそれにあたるかな。
0457名無しさん@お腹いっぱい。
垢版 |
2012/03/14(水) 00:21:53.88
なんだ man にあるんかい。
開発版っていってもそんな新しい機能じゃないからあるか。
開発版じゃない方には当然書いてないけど。
0458名無しさん@お腹いっぱい。
垢版 |
2012/03/17(土) 15:01:22.46
昔 sudo のパスワード不要期間って window 間で共有してた気がするけど、
今は端末毎に制御しているのか window 毎に管理されてるよね。
端末毎は別の方がいいと思うけど、screen のセッション内で
分けてもあまり意味がない気がする。
でもさくっと screen のセッション内で共有するのはならないか。設定とかで。
端末毎の別管理をやめるとかなら sudo の設定であるかもしれないけど。
0459名無しさん@お腹いっぱい。
垢版 |
2012/03/17(土) 15:15:15.13
>>458
sudoの作りは知らんけど、端末上で実行するプログラムから見ると、普通は
screenの別windowと端末の別ウインドウは区別できないからね。
0460名無しさん@お腹いっぱい。
垢版 |
2012/03/17(土) 16:35:51.39
>>458
window間じゃなくて、ホスト内で共通のticket timeoutだったんじゃないの?
(screen内に暮らしていると、どっちも同じ事ではあるんだけども)
sudoers(5)のtty_ticketsがoff。要するにsudo(8)の話題。
0461名無しさん@お腹いっぱい。
垢版 |
2012/03/17(土) 21:17:49.96
うんそう。書き方が悪かったね。window 間共有は本質として書いた訳じゃない。
tty_tickets の設定か。thx.

で言いたかったのは screen 内では端末毎に分けてもあまり意味ないし
STY あたりで分けてるといいかなー(環境変数を使う訳にはいかないだろうけど)という
screen user の勝手な考え、だったんだけど…
よく考えたら screen 内で sudo 使ったんなら外からアタッチできるんだし、
突き詰めると端末、セッションで分けても意味ないね。
# 突き詰めなければ少しは意味あるか。STY あったらそれで分けるとかで。

いつも screen 内なら tty_tickets off でいいのかもな。
0463名無しさん@お腹いっぱい。
垢版 |
2012/05/31(木) 09:11:09.99
windowsからputtyでmulti display modeなscreenをアタッチしたときに文字コードがリセットされちゃいます。
毎度:encoding utf-8 utf-8しないといけないぽです。
linuxではこんなこと無いんですが、freebsdだとなってしまいます。
何か原因あったりするんでしょうか。

以下抜粋です
> grep encoding ~/.screenrc
defencoding utf-8 utf-8
encoding utf-8 utf-8
> cat /var/db/ports/screen options
_OPTIONS_READ=screen-4.0.3_8
WITH_CJK=true
WITH_INFO=true
WITH_MAN=true
WITH_NETHACK=true
WITHOUT_XTERM_256=true
WITHOUT_HOSTINLOCKED=true
WITHOUT_SHOWENC=true
0464名無しさん@お腹いっぱい。
垢版 |
2012/08/20(月) 00:17:16.90
screen縦分割ってそろそろ標準になった?
まだ?
後、分割を1つのセッションにしてC-a nで別セッションでは一画面、更に別のセッションでは横分割みたいにしたいんだが
まだかね?

0465名無しさん@お腹いっぱい。
垢版 |
2012/09/05(水) 05:53:51.29
byobuの話題もここでいい?

ステータスに任意の監視項目を追加するために、man byobu にあるサンプルを
~/.byobu/bin配下に作ってみたんだけど、うまく表示されない。

#!/bin/sh
printf "\005{= bw}%s\005{-}" "$(uname -r)"

海外のフォーラムでも話題になったようなんだけど、わかるかた
何かアドバイスください。

http://unix.stackexchange.com/questions/41596/colour-bleeds-right-when-writing-a-custom-script-in-byobu
0467463
垢版 |
2012/11/17(土) 02:31:53.60
>>466
亀レスに亀レスなんだけどありがとう。今試したらばっちり問題解決されますた!
0468名無しさん@お腹いっぱい。
垢版 |
2013/03/21(木) 10:09:27.40
保守
0469名無しさん@お腹いっぱい。
垢版 |
2013/05/08(水) 02:40:35.63
screen内で新規作成されたセッションのシェルって、最初にそのscreenを作ったときの環境変数とかを引き継いだりしますか?
それとも純粋なログインシェルとして処理されますか?
0471名無しさん@お腹いっぱい。
垢版 |
2013/05/09(木) 23:25:22.07
>>470
ありがとうございます。どうもそうみたいですね。
何個もセッションがある状態で.zshenvや.zshrcを書き換えると、全セッションを落として
screenを作り直すのがすごい億劫になってしまいますね。
0472名無しさん@お腹いっぱい。
垢版 |
2013/05/10(金) 08:11:31.35
screenを起動したマシンでssh-agentを起動するのをつい忘れて、
手元のマシンからのagent forwardingでscreenを起動してしまうと
$SSH_AUTH_SOCK的な意味ですごく億劫になる。
0473名無しさん@お腹いっぱい。
垢版 |
2013/05/10(金) 11:37:27.69
ssh-agentやdisplayをどうするかというのは悩ましいところだよね
最近はめんどくなって、ログインするホスト全部に鍵(しかもパスフレーズなし)を置いちゃってるし…
0476名無しさん@お腹いっぱい。
垢版 |
2013/06/09(日) 22:57:29.68
セッション内で何個もウィンドウを立ち上げたまま長期間使い続けてると
セッションが死ぬことがある
いまいち再現性がなくて厄介だわ
0478名無しさん@お腹いっぱい。
垢版 |
2013/06/10(月) 23:21:06.78
>>477
zshなんだけどTMOUTはセットされてなかった
長期間というのは2,3週間くらいかな
いちおう環境晒すとCentOS6.2、zsh 5.0.2、screen 4.01.00dev
0480名無しさん@お腹いっぱい。
垢版 |
2013/06/12(水) 00:00:55.33
>>479
cronは自分ではいじってないんだけど、デフォでそんな設定になってるっけ?
あとで確認してみます

てか、screenが死ぬなんてのはやはりレアなことなのか…
0481480
垢版 |
2013/06/15(土) 15:00:12.18
調べたら普通にcronで/tmp以下を削除するtmpwatchの設定がされてた。
てか、/tmpを掃除するのがcronの仕事だと今頃知った・・・

でも最終アクセス日時から10日以上が対象だから、screenソケットファイルは
まず対象にならないはずだけど、いちおうチェックしてみます。
0482名無しさん@お腹いっぱい。
垢版 |
2013/08/08(木) NY:AN:NY.AN
少し長いですが質問いたします。

[prefix] Ctrl-H を prev に設定しているんですが、ローカル(Fedora Linuxとか)でxtermを
立ち上げる場合もあれば、Winodwsからputtyで接続したり、あるいはVNCでログインして
xtermを立ち上げる場合もあります。
しかもWinodwsではyamyというキーバインドソフトで常時Ctrl-HをBackspaceにしています。

こういう状況で、設定をいじったりしているうちにprevが効かなくなって困ることがあるのですが、
この手のトラブルはどういう風に調べて解決していけばいいですか?
あと、このような複数の接続方法に共通の.screenrcを使うのはそもそも推奨されないことですか?

# screenrcは他人のをパクったレベルの人間なので、キーコードとかtermcapとかの仕組みは
何度調べても理解できず、自分的に鬼門になっています・・・。
0483482
垢版 |
2013/08/08(木) NY:AN:NY.AN
あ、もちろんyamyをオフにしておくというのは試しています。が、不思議なことに
[prefix] Ctrl-H の効き具合に影響があったことはないです。
0484名無しさん@お腹いっぱい。
垢版 |
2013/08/08(木) NY:AN:NY.AN
BS(0x08)とDEL(0x7F)を交換してるやつがどこかに潜んでいるんじゃないの?
Linuxの端末エミュレータにはこの手の余計な世話するのがいるよ

[prefix] DEL も prev に設定しておけばよい
0485482
垢版 |
2013/08/10(土) NY:AN:NY.AN
>>484
レスありがとうございます。
.screenrcで bind ^? prev と書けばいいのかな、と思ったら駄目でした。
実際にどんなキーコードがscreenへ送られているのか調べる方法があればなぁ・・・
0487482
垢版 |
2013/08/13(火) NY:AN:NY.AN
GNOME端末のプロファイル設定でBSキーのコードがASCII DELになっていたのを
Ctrl-Hに変えると解決しました。Ctrl-v もちゃんと ^? から ^H に変わってました。

でも、今までシェルとかでは普通にバックスペースの動作になったんですよね。
シェルが^?も^HもBSとして解釈してるからかな?いまいちよく分からんです。

というわけで皆様お騒がせしました。ありがとうございました。
0488名無しさん@お腹いっぱい。
垢版 |
2013/09/27(金) 10:35:38.02
今動かしてるshを、screenで拾いたいんだけど
どうしたらできるかな
0495名無しさん@お腹いっぱい。
垢版 |
2014/01/23(木) 06:40:29.45
grepの実行結果が、端末の一番右端の文字が「.」だとスペースに置き換わってしまうんだけど、何故だろう
screenじゃない素の端末だとそんなことないんだけど
0496名無しさん@お腹いっぱい。
垢版 |
2014/01/23(木) 06:48:06.27
どうも端末がGnome terminalで、grepにオプション--colorを付けてるときに起きるみたい

screenと端末って相性みたいなのあるんですかね?
0498名無しさん@お腹いっぱい。
垢版 |
2014/03/20(木) 13:11:45.88
byobuを布教されたんだが、凄いのかこれは?
0500名無しさん@お腹いっぱい。
垢版 |
2014/03/28(金) 03:42:11.64
hardstatus のアクティブウィンドウ前後のウィンドウって %-w や %+w でしか指定できなくて、
パターンも「%n %t」で固定されちゃってるけど、細かく設定できるようにならんのかなぁ

screenしか使ったことないんだけどtmuxやbyobuだったらできたりする?
0503名無しさん@お腹いっぱい。
垢版 |
2014/05/20(火) 11:55:55.15
一つ前に copy したものを paste することってできませんか?
(Emacsでいうキルリングの C-y M-m みたいに)
0507名無しさん@お腹いっぱい。
垢版 |
2014/10/28(火) 09:26:35.45
すでに起動しているシェルを
あとからscreenに取り込みたい
けど、そんなことできないよね?
0508名無しさん@お腹いっぱい。
垢版 |
2014/10/31(金) 03:53:42.77
Linuxならreptyr使えるんじゃない?
使ったことないけど。
0517名無しさん@お腹いっぱい。
垢版 |
2015/02/10(火) 09:32:44.75
screenは保護されるべきだ。

いまだにK&R C形式でソースコードで書かれてて
実際に使われてるアプリって少ないぞ。
0522名無しさん@お腹いっぱい。
垢版 |
2015/03/05(木) 14:59:51.60
GNU Screen上でemacs-evilを使うときに
.screenrcにmaptimeoutを設定し、
$ emacsclient -nw text.txt
で立ち上げるとEscは正常に機能するんですが、
$ emacsclient text.txt
では正常に動きません。
なにか解決策はありませんでしょうか。
0525名無しさん@お腹いっぱい。
垢版 |
2016/09/26(月) 11:04:31.91
コマンドの出力が長すぎてページがスクロールしてしまう場合に自動的にlessみたいに
ページングすることってscreenやtmuxでできないのかね?
0530名無しさん@お腹いっぱい。
垢版 |
2016/09/28(水) 09:52:05.62
screenが擬似端末から読み込んだデータを実端末に書き込むときに、
・短時間内に端末サイズ以上の行数を書き込んだ
・書き込む文字列にはカーソルを移動するようなエスケープシーケンスは含まれていない
ならポーズするという感じか。
完璧な解は無理なのかな。
0532名無しさん@お腹いっぱい。
垢版 |
2016/10/02(日) 00:46:14.00
それってコマンド打つたびにパイプで | richpager としないといけないんじゃない?
それならそこにも書いてある通りless -Fでいつもやってる($LESS="-iFMXR -j10"と設定している)。
パイプしないでも自動的にページングしてほしい。
シェルで全てのコマンドに対して自動でパイプするようにするとvimとか端末を使うアプリが困るし。
自動ページングというのはscreen(または端末ドライバ)のような端末そのものが持っているのが
ふさわしい場所じゃないだろうか。

ちなみにlessでもシンタックスハイライトとかは$LESSOPENで実現できる。
0533名無しさん@お腹いっぱい。
垢版 |
2016/11/27(日) 02:03:36.76
誰か altscreen on の時に一番下の行を一番上の行に出力って誰か出来ませんか ?

例えば editor viewer filer でも一番下が行数等の出力先なので一括して変更出来ますし
端末の方いじった方がいいのかな..とも思うけど
screenでやった方が便利だしやっぱりscreenいじりたい

別の話だけど SetRendition, SetRenditionMline に文字判定で色いれると良い
foreGround の色指定されてない時だけ判定
お勧めは 記号種類別(例えば'
0534名無しさん@お腹いっぱい。
垢版 |
2016/11/27(日) 02:07:34.15
誰か altscreen on の時に一番下の行を一番上の行に出力って誰か出来ませんか ?

例えば editor viewer filer でも一番下が行数等の出力先なので一括して変更出来ますし
端末の方いじった方がいいのかな..とも思うけど
screenでやった方が便利だしやっぱりscreenいじりたい

別の話だけど SetRendition, SetRenditionMline に文字判定で色いれると良い
foreGround の色指定されてない時だけ判定
お勧めは 記号種類別(例えば”’は同じ使われ方が多いから同じ色)、数字、 カタカナ、ひらがな、その他の言語や記号、A-zだけ色なし
画面のみの判定だから軽い点も良い

後、変数一個用意して
連続で同じ色だったらスルー

プログラマーじゃないのでコードに自信ない
けど異常に気に入ってるから毎回 screen 入れる度に display.c 書き換えてる

か誰

’半角で遂ぎれた...失礼
0536名無しさん@お腹いっぱい。
垢版 |
2016/12/07(水) 09:59:54.63
>> 誰か altscreen on の時に一番下の行を一番上の行に出力って誰か出来ませんか ?

>> SetRendition, SetRenditionMline に文字判定で色いれると良い
だけです。
ついでに上はncursesの話だと書いた後思い出しました。

って2ch_scに書いてた...話だと書いた後思い出しました。
0541名無しさん@お腹いっぱい。
垢版 |
2017/07/07(金) 01:49:35.81
めっちゃ過疎っているんでレスもらえるか不安ですが・・・

シェルのプロンプトを以下のように二段にしているんですけど、このカレントディレクトリを
screenのバッファにワンキーでコピーするキーバインドはどう書けばいいですか?

[ユーザ名@ホスト名] カレントディレクトリ
$ ■ ←←←カーソル
0542名無しさん@お腹いっぱい。
垢版 |
2017/07/07(金) 07:42:17.01
copy modeに入らずに画面上から一部を拾う方法が思いつかない。
カレントディレクトリをコピーしたいだけならshell側で
f=`tempfile`; pwd > $f; screen -X readbuf $f
とかやれば一応できる。これをstuffで実行文字列として送るという
方法なら取れると思う。
0543名無しさん@お腹いっぱい。
垢版 |
2017/07/07(金) 07:44:47.13
ところでscreen 4.6.0出てましたね。
http://git.savannah.gnu.org/cgit/screen.git/log/?h=v.4.6.0

ChangeLogより
http://git.savannah.gnu.org/cgit/screen.git/tree/src/ChangeLog?h=v.4.6.0
Version 4.6.0 (28/06/2017):
* Update Unicode wide tables to 9.0
* Support more serial speeds
* Improved namespaces support
* Migrate from fifos to sockets
* Start viewing scrollback at first line of output

ChangeLogといいつつNEWSファイルの位置づけになってるんだな。
0544名無しさん@お腹いっぱい。
垢版 |
2017/07/29(土) 19:46:36.85
C-a 数字で window を選択する際に、キーボードの数字キーの並びと合わせたくて、
window番号を 1始まりにしたい。

https://wiki.archlinuxjp.org/index.php/GNU_Screen#.E3.82.A6.E3.82.A3.E3.83.B3.E3.83.89.E3.82.A61.E3.81.8B.E3.82.89.E8.B5.B7.E5.8B.95
にあるように .screenrc に

bind c screen 1
bind ^c screen 1
bind 0 select 10
screen 1

を入れると、C-a c したときには 0番を無視してくれるんですが、
コマンドラインから screen vim prog.c
などとしたときは 0番にwindowが作られてしまいます。
この場合でも 0番を無視する良い方法はないでしょうか?
0545名無しさん@お腹いっぱい。
垢版 |
2017/12/29(金) 07:31:31.10
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

4FHO84LNCS
0546名無しさん@お腹いっぱい。
垢版 |
2018/02/14(水) 09:54:11.03
☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、
改憲議員が3分の2を超えております。『憲法改正国民投票法』、
でググってみてください。国会の発議はすでに可能です。
平和は勝ち取るものです。お願い致します。☆☆
0547名無しさん@お腹いっぱい。
垢版 |
2018/05/12(土) 18:22:23.90
今日4.6.2に上げてみたんだけど、zshが起動しなくなった
何事と思って調べたらTERMがbce系の状態でPROMPTに改行を意味する「$'¥n'」があると駄目みたい
0548名無しさん@お腹いっぱい。
垢版 |
2018/05/22(火) 06:18:15.20
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

HH2I0
レスを投稿する


ニューススポーツなんでも実況