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/
0004名無しさん@お腹いっぱい。
垢版 |
2009/07/12(日) 08:48:48
このままだとまたすぐ落ちるね
0011名無しさん@お腹いっぱい。
垢版 |
2009/07/12(日) 21:42:46
tmuxは異なるユーザで同じセッションを共有する機能あるのかな?
man page読んだ感じではどうも無さそうなのだが…
0014名無しさん@お腹いっぱい。
垢版 |
2009/07/13(月) 00:56:06
デフォルトprefix keyの違いは決定的だな。>tmux
一体どれだけの人間がscreenをC-aで諦めてきたことか・・・

#世の中の90%の人間はデフォルトで詰まると諦める
0017名無しさん@お腹いっぱい。
垢版 |
2009/07/13(月) 02:40:17
C-aになれてしまった体
emacs使ってるがC-a aもしぜんになっちまった。左利きだからかね。
C-tも考えたけど小指+中指になるとつりそうだ。
0025名無しさん@お腹いっぱい。
垢版 |
2009/07/13(月) 07:09:56
>>24
っていう程tmuxは流行りそうなのか?
このスレが即死しなければ1000まで行くのにかなり時間がかかるだろうから自ずとわかるけど。


俺は C-z にしてるな。screen使ってるとC-zで裏に回す必要性無いしなあ。
0027名無しさん@お腹いっぱい。
垢版 |
2009/07/13(月) 10:39:21
>>26
VMMは コンソールで動く window managerに過ぎない。
screenとは別物だろう。attach / detach できなければ意味がない。

パッと見、前世紀のBolandのCUI IDEみたいだ。TC2.xの頃??
0032名無しさん@お腹いっぱい。
垢版 |
2009/07/13(月) 15:06:43
「俺は C-* にしてる」ネタって、どこかにまとめサイトみたいなのないのかな?

頻出でうんざりしない?
003532
垢版 |
2009/07/13(月) 15:53:28
おお、あるんですね。

みんな、そこに書くようにしようよ。
0037名無しさん@お腹いっぱい。
垢版 |
2009/07/13(月) 16:05:18
いや、私はデフォルトのまま C-a なんで既に書かれてたみたいです。
というわけで各自あとはよろしくですー。
0051名無しさん@お腹いっぱい。
垢版 |
2009/07/15(水) 16:47:51
putty接続から即screen呼び出しおいしいです^q^

でもマシン再起動とかで指定されたセション名のscreen死んでると立て直しに別設定でつなぐ必要が・・・。
0052名無しさん@お腹いっぱい。
垢版 |
2009/07/16(木) 05:24:52
>>1 神奈川県民、乙。

screen使ってないけど、即死回避のネタ。
NetBSD/OpenBSDはGPL Freeにすべく必死にBSDライセンスで
車輪の再発明中。一番の大物、GCCを不要にしてpccに回帰してみたり、
LLVM/clangでmake world出来るようにしてみたり、挑戦中。
意外とmanのgroff(&ghostscript)を撲滅するのに苦労してるが。

それもこれもGPLv3がウザくて、組込みBSDで生計を建ててる人達が
GPL clean-roomを欲しがってるせい。
0058名無しさん@お腹いっぱい。
垢版 |
2009/07/17(金) 11:19:14
>>53
だから、>>52が書かれてるんだろ。流れ読めよ。

>>56
だから、そういう話。gsに限らず、組込みの中の小人さんと
screen(or tmux)経由で会話できると嬉しい開発者は
ゴマンと居るわけで。
でも組込みファームウェアがGPLに感染するのは嫌、と。
富士Xeroxのコピー機の中の小人さんとお話できたり
しないかなぁ。
0061名無しさん@お腹いっぱい。
垢版 |
2009/07/17(金) 14:17:17
悪魔くんのことを小人さんというよね?
休日出勤しろと指示する代わりに
小人さんにお願いすることってあるよね?
0069名無しさん@お腹いっぱい。
垢版 |
2009/07/19(日) 17:18:16
画面を普通に分割した状態で、デタッチ

アタッチ

こうすると、画面分割が解除されてしまうのだけど、
解除されない方法はありませんか???
0075名無しさん@お腹いっぱい。
垢版 |
2009/07/20(月) 02:48:06
tmuxだと画面分割がemacsぽく垂直方向にも出来るな。
ソースコードも、screenはK&Rで書いてある上結構ゴチャゴチャしているのに
対して、確かにtmuxは綺麗に書いてあって可読性が高いんだが、まだ機能不足の
感が否めない。
008669
垢版 |
2009/07/20(月) 17:49:12
>>74
うは! しかも縦分割も出きるのかよw

リリース版が待ち遠しいな
0094名無しさん@お腹いっぱい。
垢版 |
2009/07/30(木) 19:29:59
てか、terminalの制御コマンド体系からして、分割スクロールに明日はないだろう。mlterm2つ並べてscreen -xしたほうがよい。
0095名無しさん@お腹いっぱい。
垢版 |
2009/08/02(日) 13:58:52
git最新版でもパッチを当てないtハングするなぁ。
でも、社内の別の人はハングしたことがないといってるし
使い方にコツでもあるのか
0105名無しさん@お腹いっぱい。
垢版 |
2009/08/10(月) 16:07:58
tscreenは?
0106名無しさん@お腹いっぱい。
垢版 |
2009/08/12(水) 10:15:03
UTF-8でuim-fep-tickまともに使えてる人いるかな。
或いはtmuxのステータスラインでuim-fepのモード表示
させてる人とか。
0107名無しさん@お腹いっぱい。
垢版 |
2009/08/12(水) 20:15:21
tmux、aptitudeとかのcuressで画面制御するアプリケーションで表示が
崩れまくるんだけど、上手く出来ている人、設定教えて。
0109名無しさん@お腹いっぱい。
垢版 |
2009/08/12(水) 22:04:37
デフォからちょっといじって、.tmux.confは
set-option -g prefix C-z
unbind-key C-b
bind-key C-z send-prefix

set-option -g status off

set-option status-utf8
set-window-option utf8 on
ってな具合。
0112名無しさん@お腹いっぱい。
垢版 |
2009/08/13(木) 10:44:45
>>107
tmuxはUTF-8における文脈依存な文字幅問題への対応が不十分だから
ソース弄らなきゃムリだと思う。オレはscreenのcjkwidthパッチ参考
に直したよ。
0114名無しさん@お腹いっぱい。
垢版 |
2009/08/20(木) 19:20:57
            _,,‐─-v‐、,,、
         ,,-‐'": : : : : : : : : : `ヽ
        /: : : : : : : ,,__ : : : : : : \
      r': ,、,,.-─''"゛   ミ : : : : : : : 'i、
       `/ /        ミ_ : : : : : : :,、}
      i l    _,,..-‐^‐-、 `゙i: : : /l.l|
      i、}‐-、 ヽ;;/,rェッ;;'"  ゙ー' 9iリ!
      |  ',tテi  ヽ='"     ゞ t'
       |  'i"´| , -、         ヽ-、,,___
       |  '}、 !,,tu'"  ヽ、  ,l: ‐-‐" }: : : : :
       }   lヽ、__,,,.-‐ヽ  /: : : : : : /|: : : : :
     ,r/  /: : :ヽー‐'  ノ: : : : : : : / .|: : : : :
     /: \ /: : : : : 丶,, -''_: : : : : : /  |: : : : :
    /: : : : :ヽ/: : : : : : : ヾ''‐--‐ヽ   |: : : : :
   /: : : : : : : : : : : : : : : : : : ヽ\: : /   |: : : : :

    [Tmux-Thread De Yale]
         (1955〜 フランス)

0116名無しさん@お腹いっぱい。
垢版 |
2009/08/22(土) 23:07:55
bindkey -m って…
colon の入力も変換しちゃうの?してるみたいだけど。
コピーモードのテーブルを変更って man にはあるけど、colon もコピーモードなのでしょうか?
copy の入力だけ変換できないの?
…どうなんでしょうか
0117名無しさん@お腹いっぱい。
垢版 |
2009/09/29(火) 00:14:50
あげときますね
0118名無しさん@お腹いっぱい。
垢版 |
2009/10/11(日) 02:03:04
age
0120119
垢版 |
2009/10/12(月) 05:48:52
分かりました。
単純にUTF8-MACのせいのようでした。
これ解決しなさそう・・・。
0122名無しさん@お腹いっぱい。
垢版 |
2009/10/12(月) 12:26:24
日本としか使わないならEUC-JP
いろんな言語を表示したいならISO2022
MACのターミナルソフトが対応しているかは知らん。
0123名無しさん@お腹いっぱい。
垢版 |
2009/10/12(月) 14:04:11
MacのTerminal.appの対応エンコーディング見たら、

日本語 (Mac OS) ←もはや負債
日本語 (Windows, DOS) ← Windows 31Jなんだろうか
日本語 (Shift JIS X0213)
日本語 (ISO 202-JP)
日本語 (ISO 202-JP-2)
日本語 (ISO 202-JP-1)
日本語 (EUC)
日本語 (Shift JIS)

とメニューにあった。実装的に正確であるかは知らん。
0135名無しさん@お腹いっぱい。
垢版 |
2009/10/20(火) 12:29:47
bashとscreenでウィンドウタイトルにコマンド名表示するようにしてますがsuでrootになるとタイトルがsuのまま更新されません。
shelltitle "$ |bash"になってて$を#にするとrootでタイトルが更新されますが
そうすると$で終わる一般ユーザで更新されなくなります。
$の時も#の時も更新されるようにできませんか?
0136名無しさん@お腹いっぱい。
垢版 |
2009/10/21(水) 00:41:04
そもそもウィンドウタイトルなんて見ないんだが。
どんな時に見るの? 何の役に立つの?

とは言え、fvwm1.24で日本語だとウィンドウタイトル
化けるのは何とかして欲しいが、とっくに開発は2.xに
移ってるしなぁ。
0137名無しさん@お腹いっぱい。
垢版 |
2009/10/21(水) 01:29:32
すげぇな。いまだにfvwm使ってんのか。どんな環境なんだよ。
仕事もせずに設定いじるのに時間使って輪。10年以上前か。
0147名無しさん@お腹いっぱい。
垢版 |
2009/10/25(日) 12:31:42
デスマご苦労さまでちゅ!

仕事がなくてヒマしているPGさんも
ご苦労さまでちゅ!

壊れて辞めてしまったPGさんも
これまた本当にご苦労さまでちゅた!

さて、フロは入ったほうがさっぱりいたしますが、
スレタイどおりと思いませんか?
0149名無しさん@お腹いっぱい。
垢版 |
2009/11/09(月) 21:35:25
少し前にも話題が出てましたが、screenのウィンドウ名を実行中のコマンド名にする方法が分かりません。

http://aperiodic.net/screen/titles?DokuWiki=80186b2d88c0b5b254724a18b5647d4b
ここを見ながら設定しているのですが、
.screenrcに、
shelltitle "$ | bash"
と記述するところまでは分かるのですが、.bashrcの記述方法が理解できません。
例にあるように、export PS1='\[\033k\033\\\]\u@\h:\w\$ '
というのを.barshrcにペーストしても、タイトルはずっと"bash"のままでコマンド名にはなってくれません。
それどころかbashのプロンプトが文字化けっぽくなっておかしなことになってます。
アドバイス頂けないでしょうか。
0150名無しさん@お腹いっぱい。
垢版 |
2009/11/09(月) 21:36:51
ついでにスレあげておきます。
0152名無しさん@お腹いっぱい。
垢版 |
2009/11/10(火) 12:38:42
リンク先見てみたけど
> screenのウィンドウ名を実行中のコマンド名にする
とは関係ないように読めるんだけどなぁ。俺の読み間違いかな。
0154名無しさん@お腹いっぱい。
垢版 |
2009/11/24(火) 04:33:20
tscreen 0.4.9使ってるんだけどvertical splitしたときの帯の色って変更できない?
captionやhardstatusで横方向の帯はなんとでもなるのに
縦は~/.Xdefaultsのurxvt.foregroundの色と強制的に同じにってのがなんか歯がゆい。
0158名無しさん@お腹いっぱい。
垢版 |
2009/11/24(火) 15:24:41
そうなの?うちではtmux-1.1, CVS HEADともダメだったんだが。
下はgnome-terminalとxterm、どちらでも。zshで
repeat $((COLUMNS - 5)) echo -n ' '; echo あいうえお
とか。これでうの途中に行端がくるのだが、あいまで表示されて
次の行がすぐプロンプトになる。うえおはどこかへ消えてしまう。
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なんかでもちゃんと表示されるしなあ。
0163160
垢版 |
2009/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 とかをしたときに
他の人も連れてウィンドウ間を行き来するにはどうしたらいいですか?
0172名無しさん@お腹いっぱい。
垢版 |
2009/12/26(土) 22:03:32
screenのバックバッファをマウスのホイールで見たいのですが、できますか?

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

ターミナルはgnome-terminalを使ってます。
0173 【大吉】
垢版 |
2010/01/01(金) 16:11:01
あけましておめでとう
0181174
垢版 |
2010/01/06(水) 17:30:00
ここにしか貼ってないよ。
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きめうち
みたいなことをやっています。
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までシグナルが飛んで、そこから逆戻りでシェルに
環境変数突っ込んでくれるようなのがいいのだけど。
0189185
垢版 |
2010/01/09(土) 16:50:36
>>187
emacsからXclientを立ち上げることも多いので、こんな形に落ち着いています。
ただnmapだけではscreen番号がわからないのは欠点ですが、
:0.1は完全にサブディスプレイなので問題になってません。
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したまま、$を表示させない方法は知らん。
0201名無しさん@お腹いっぱい。
垢版 |
2010/03/15(月) 08:47:26
tmux1.0のとき表示おかしくて使うのやめた記憶があるけど
1.2を試したら問題ないみたいなので常用することにした。
0220名無しさん@お腹いっぱい。
垢版 |
2010/04/10(土) 08:02:48
Teraterm 4.65にバージョンアップしたらscreenと相性が悪くて使えない・・・。
tail -fとかすると改行がひどいことに。誰か解決した人いませんか?
0223名無しさん@お腹いっぱい。
垢版 |
2010/04/11(日) 21:47:40
ローカルでscreen常用してて、そこからsshで他のサーバに入ってscreen使うときって、
エスケープキーがかぶらないように設定するもん?それともssh用に違う端末立ち上げて使うべき?
0225185
垢版 |
2010/04/12(月) 03:20:24
多重起動したときに自動的にエスケープしてくれるとありがてーな
0227名無しさん@お腹いっぱい。
垢版 |
2010/04/12(月) 08:24:24
ふだん、screenからsshして2重になってるな。
status line表示してるから、それが2段になってれば
エスケープを2度打ちするような条件反射になった。
さすがにscreen3重にして作業することはないな。
0228名無しさん@お腹いっぱい。
垢版 |
2010/04/12(月) 10:06:40
>>223
基本的には違う端末使ってる。
切断回避のためだけに screen 起動する場合には、サーバ側で複数ウィンドウを
使う必要がないのでエスケープキーはそのまま。
0231220
垢版 |
2010/04/19(月) 08:33:24
>>222
レスありがとう。遅くなってすみません。
いったんTeraTermのバージョンを戻したのですが、これを書くために改めてインストールすると
問題は解決していました。一過性かこちらのホスト側の問題だったようです。お騒がせしました。

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

なおご質問の環境ですが、シェルはzsh、TERM, Term type共にvt100です。
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コマンドで抜けた場合は期待どおりの動作してるの?
0235233
垢版 |
2010/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が一応実行されます。

引き続きよろしくお願い致します。
0238233
垢版 |
2010/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)を通ったときはこれまで私が行っていた設定と同じ挙動なので問題ありません。

お手数をおかけしますが、アドバイスの程よろしくお願い致します。
0240233
垢版 |
2010/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にすべし

「ログインできず」とは具体的にどんな振る舞い?
0242233
垢版 |
2010/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が大量に呼ばれてしまってるのでしょうか…(?)
引き続きお願い致します。
0244233
垢版 |
2010/04/27(火) 18:47:22
レスありがとうございます。
exec screen bash --login --noprofile
に変えてみたところ、ログアウト時の.bash_logout動作を確認できました。
しかし、--noprofileオプションであるが故に.bashrc等が読まれませんorz

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

何度も申し訳ありませんが、よろしくお願い致します。
0245233
垢版 |
2010/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するぐらいしかないでしょうか。
立て続けに申し訳ありませんが、アドバイスを頂けると幸いです。
0248246
垢版 |
2010/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使っても喜び少ない

がんばって独りで修羅の道を貫いてくれ
0255名無しさん@お腹いっぱい。
垢版 |
2010/05/23(日) 22:13:02
rxvt-unicodeで利用してるんですが、HS行のみ文字化けしてしまいます。
terminfoでKJにjisを指定するとHS行の文字化けは無くなりますが、今度
は端末文字が化けてしまいます。HS行に%Dで曜日を漢字で表示したいので
すが、どのように設定すればいいでしょう?
0257名無しさん@お腹いっぱい。
垢版 |
2010/07/01(木) 00:01:17
MacOSX上のscreenとATOKの話なのでスレ違いかもしれませんが質問させてください。

hardstatus に時間の表示をさせると、時間が変わるタイミングで日本IMで入力中の
文字列がクリアされるのですが、これを避ける方法ってないですか?
0258名無しさん@お腹いっぱい。
垢版 |
2010/07/02(金) 01:06:27
>>257

それってTerminal.appお使いの時ですよね?iTermだとクリアされませんよ。

Terminal.appだと16色表示しかできなくて不便なことが多いので、同じ問題に遭遇してiTermに乗り換えました。お試しあれ。
0260名無しさん@お腹いっぱい。
垢版 |
2010/07/02(金) 20:19:43
>>258
たしかに iTerm だとクリアされないですね。
でも、Visor から離れられないので、何とか Terminal.app での解決を探したいんですよね……。


    ガッ _, ,_   _, ,_ガッ♪
ガッ _, ,_ ( ・д・)(・д・ ) _, ,_ガッ♪
  ( ・д・)☆ミ⊂ ⊃彡☆(・д・ )
   ⊂彡☆))゚△´*)>>259☆ミ⊃ガッ♪
    , ,∩彡☆ ☆ミ∩, ,
  (   )  ガッ  (   )
  ガッ         ガッ♪
0261名無しさん@お腹いっぱい。
垢版 |
2010/08/04(水) 13:47:13
tmuxなんてあったのか、いいなぁ
screenはredhatとかお堅いのにも入ってるのが有り難いんだけど
tmuxはまだ時間がかかるか・・・
0262名無しさん@お腹いっぱい。
垢版 |
2010/08/10(火) 21:50:56
screen単独起動時に端末アプリの上にあるアプリタイトルバーが「screen」という文字に
上書きされてしまうんだけど何でだろう。hardstatus alwayslastlineにしてるから
アプリのタイトルバーには出力されないはずだと思ったけど、理解が間違ってる?
端末はputtyなんだけどこれのせいかな
0265名無しさん@お腹いっぱい。
垢版 |
2010/08/11(水) 23:37:49
libevent1.4ってかいてあるから、そうなんじゃないの。
あと、tmuxのスレあるよ。
0266264
垢版 |
2010/08/12(木) 13:05:49
>>265
CentOS5でyumで1.4.13-1に上げたんだけど駄目で、
自分で1.4.14bを落としてきて入れたらコンパイルできたんで
アルェーっと思った次第

つかtmuxスレあったんだ、スマン
0272名無しさん@お腹いっぱい。
垢版 |
2010/08/17(火) 15:53:29
hardstatusでタイトルにカレントディレクトリ含めてる人多いと思うけど
ウィンドウ数が多すぎたり、同じ名前だったりすると混乱しない?

hardstatusを最下行の1ラインではなく、リージョン1つに丸々割り当ててしまって
縦にリスト表示できたりしたら便利なんだが
0273名無しさん@お腹いっぱい。
垢版 |
2010/08/18(水) 07:06:49
>>272
ウインドウ数が多い場合はウィンドウ番号で分けるのも一つの手。
デフォルトのコンパイルオプションだと40まで割りふれるはず。

常に表示される訳じゃないけど、:windowlist の一覧では物足りない?
0276名無しさん@お腹いっぱい。
垢版 |
2010/08/31(火) 22:36:57
10000だけど、別に普通だよね
てか、今もう一度試したら大丈夫だった
時間経過で変わるんだろうか・・・うーむ分からん
0277名無しさん@お腹いっぱい。
垢版 |
2010/09/04(土) 19:48:57
C-Iのウィンドウ移動って横分割・縦分割の区別なく作った順に移動するけど、
区別して移動することってできませんか?
例えばC-Iは横分割のみの移動、C-Uは縦分割のみ、って設定できるといいんですが。
0279名無しさん@お腹いっぱい。
垢版 |
2010/09/04(土) 21:52:12
>>278
tmuxならできるんですか。前に使ってみたけどイマイチ慣れなくてやめちゃったんだよなぁ。。。
もう一度やってみようかしら
0282名無しさん@お腹いっぱい。
垢版 |
2010/09/07(火) 13:56:36
screenをコマンドと一緒に起動して、そのコマンドが終了されてもscreenが残るようなオプションって何かあります?

shell>screen tail -f /var/log/messages
ってやって、C-c送ったらscreenごと落ちちゃう。
manには
>When a program terminates, screen (per default) kills the window that contained it.
ってあるからdefaultじゃないオプションがありそうなんだけど見つからず・・・。
0288(´・(ェ)・`)
垢版 |
2010/09/15(水) 17:28:55
git版でそうなる。4.00.03とか古いのだと問題なし・・・
>>287
stty eraseかな?<undef>にしても変わらんかった
もうめんどくなってキーバインドごと変えてしまった
0289sage
垢版 |
2010/10/02(土) 12:11:51
Windows から Mac に変えたんだけど、キーボードの右Ctrlキーが無くて困ってる。
escape に Mac の Command キーを割り当てる方法ってあるのかな?
0290名無しさん@お腹いっぱい。
垢版 |
2010/10/02(土) 15:24:34
KeyRemap4MacBook (という名前だけどiMacでも使えてた) に

Remap Escape Key > Escape to Command_L

という項目があるのは見つけた。
0291名無しさん@お腹いっぱい。
垢版 |
2010/10/08(金) 15:55:13
Page Up キーを押したら、copy モードで1ページスクロールアップして欲しいのですが、
これを実現するには設定ファイルにどう記述すれば良いですか?
0293名無しさん@お腹いっぱい。
垢版 |
2010/10/20(水) 01:22:47
ウィンドウをいくつか開いてる状態で、あるウィンドウを任意の場所(例えば左端とか)に移動させる事って出来ないのかな?
0295名無しさん@お腹いっぱい。
垢版 |
2010/10/20(水) 21:49:13
コピーモードではキーの移動とかがvi的になりますが、この操作についてのキーバインド設定はできますか?
(できれば自分の.vimrcを読ませられれば便利なんですが、さすがに無理ですか?)
0296名無しさん@お腹いっぱい。
垢版 |
2010/10/20(水) 22:35:21
OS X 10.6 でscreen(Ver 4.00.03)使ってるんですが、
hardsstatusに[%m/%d %02c:%s]を入れて日時を表示させるようにしたら、
日本語を入力できなくなったんですが回避策ってありますか?
秒の数字が変わるたびに、未確定の日本語が全部クリアされてしまいます。
0298名無しさん@お腹いっぱい。
垢版 |
2010/10/25(月) 16:36:23
captionはフォーカスがあるやつだけ表示、hardstatusは全部表示って人多いと思うけど
長く設定したらhardstatusが詰まるし、短くしたらcaptionがスカスカになるんだよなぁ。
タイトルが両者共有なのが原因なわけだけど、なんか上手い方法ないものか・・・。
0299名無しさん@お腹いっぱい。
垢版 |
2010/11/04(木) 01:51:28
別所に誤爆してしまった


リモートAから他のリモートBにssh接続するときにリモートAに接続するときの鍵でリモートBに接続したいと思っています。
これはagent forwardingの話だと思うのですが、
puttyでリモートAで接続したときに接続時にscreenを立ち上げるようにするとagent forwardingができません。
screenを立ち上げずに接続した場合は、リモートBに接続できることを確認しました。

ssh-add -lするとやはりscreenなしで接続した場合はちゃんと鍵の情報が追加されており、
screenの場合は追加されていません。

上手いことヤル方法はないでしょうか?
0303名無しさん@お腹いっぱい。
垢版 |
2010/11/05(金) 01:04:54
screen使ってるとマシンの電源が落ちても大丈夫、みたいな錯覚に陥りがちだなw
間違えてシャットダウンしちゃって、一瞬「危ねーセフセフ」って思ったあと「いや駄目じゃんorz」って気づいたり

俺だけかw
0305299
垢版 |
2010/11/05(金) 09:13:58
ありがと
試してみる

環境変数がわたらない問題なのか
0307!omikuji
垢版 |
2010/11/12(金) 08:31:59
パックスペースは ^H だろうな
0308名無しさん@お腹いっぱい。
垢版 |
2010/11/12(金) 14:56:05
>>307
ありがとうございます。^HにするとCtrl-Hで効いてくれました。
ただ、Backspaceキー自体は何のキーコードで効いてくれるんでしょうか?
screen以外では普通に効きますし、xevで調べてるとちゃんとkeycode 22
として認識されていました。キーカスタマイズなどはしていません。

ググってみたところ、どうもscreenのCtrl-hには色々と面倒なことがあるようで
Debianだと bindkey -k kb stuff "\177" を付ける付けないといったtipsがあるようです。
0311名無しさん@お腹いっぱい。
垢版 |
2010/11/12(金) 22:17:46
>>309
はい。
stty eraseを ^? と ^h 、screenのbindを ^? と ^h、キーボード入力を Ctrl-h と Ctrl-BS
と全ての組み合わせを試してみましたが、全てにおいてCtrl-BSが効きませんでした。

環境ですが、WindowsXP 32bit からPuTTY 0.60 ごった煮版で CentOS 5.3 64bit にsshしています。
screenのせいではないかもしれないので、他の環境でも試してみます。
ありがとうございました。
0314名無しさん@お腹いっぱい。
垢版 |
2010/11/13(土) 00:27:52
ctrl-BS を端末エミュレータがどんな文字列に変換するかによるね
一般的解 そんな変態コンビネーションは使わないに限る
0316311
垢版 |
2010/11/13(土) 18:50:16
先のCentOSをローカルから使うと、今度はCtrl-hが効きませんでした。
ああもう訳が分からない・・・。
0320名無しさん@お腹いっぱい。
垢版 |
2010/11/28(日) 20:26:41
リソースモニターが一望できない欠点があるけどネタになるかな?

backtick 0 0 0 conky -c hoge

conky側は設定ファイルに

out_to_console yes
out_to_x no


TEXT
${scroll 30 5 CPU:$cpu Mem:$men 〜一行内容を記述}

こうすると、電光掲示板のように内容が流れる。
30が文字幅数、5が送り文字数って意味、後はhardstatusの空き幅に併せて設定するだけ。
console表示なんで若干制約受けるが(カラーやグラフバー等)conkyの機能が丸々使え、
文字数を気にせず表示できます(その気になればrssをだらだらと)。

dzenにconky表示してる人がいて思いついたが概出ならスマソ。
まあ、CPUリソースとかが流れちゃうのは気持ち悪いちゅーのはあるが…
0322名無しさん@お腹いっぱい。
垢版 |
2010/11/29(月) 13:26:35
>>320
すんげー、なんでも出来ちゃうぞこれ。
多段captionにして色々表示したくなってきた。
ついでにネタ投下、conky側のカラー指定は当然無視されるが、
${exec echo "\005{= Bw}"}等と送ってやればscreen側で認識してくれる。
とりあえずやっつけのconkyrc、hardstatusは手狭になったのでconky以外は表示してないw

background no
no_buffers yes
out_to_stderr no
out_to_console yes
out_to_x no
update_interval 1.0

TEXT
${exec echo "\005{= Bw}"}$sysname${exec echo "\005{= Mk}"} ${exec echo "\005{= Gk}"}Uptime: $uptime${exec echo "\005{= Mk}"\
${exec echo "\005{= yk}"}RAM Usage: $mem/$memmax${exec echo "\005{= Mk}"} ${exec echo "\005{= wr}"} \
${scroll 30 5Proc: $running_processes/$processes Disk: $fs_used/$fs_size $fs_bar | $nodename - $kernel on $machine} \
${exec echo "\005{= Mk}"}$time
0323320
垢版 |
2010/11/29(月) 18:12:49
>${exec echo "\005{= Bw}"}等と送ってやればscreen側で認識してくれる

うわー、さすが2chこんな手あったんですね。
色も付くなら、もうbyobuいらんね〜。
あれもこれもでhardstatusがいっぱい、タイトル表示するスペースが無い。
0326名無しさん@お腹いっぱい。
垢版 |
2010/11/30(火) 00:09:20
正攻法はscreenを改造して、そういう設定が簡易にできるようにすることかな。
procmail捨て捨てしてmaildropが出来たという感じで。
0327名無しさん@お腹いっぱい。
垢版 |
2010/11/30(火) 01:27:22
うちの環境だとconkyで${exec echo "\005{= Bw}"としてもそのまま文字列になっちゃう。
試しにbacktick 0 0 0 echo "\005{= Bw}" と直線やると巧くいく。
どっちの問題かようわからん??
0328名無しさん@お腹いっぱい。
垢版 |
2010/11/30(火) 02:56:16
個人用途ならそれでもいいかも知れんけど、ノウハウにすらならなくね?
ああでもちゃんとコミットするならそれでいいか。パッチ公開とかforkとか残念な結果にしかならないよな。
0329名無しさん@お腹いっぱい。
垢版 |
2010/11/30(火) 07:43:55
元から、お手製スクリプトで色々出来た部分を、汎用性の高いconkyで置き換えられるって話だから、
副次的なバグでもあれば別だけどscreen側をどうこうってのは違うんじゃないかな?

0330名無しさん@お腹いっぱい。
垢版 |
2010/11/30(火) 10:52:54
リソースなんてそんな表示させておきたいもんかね?
個人的にはゴテゴテしてんのはあんま好きじゃないな
0338名無しさん@お腹いっぱい。
垢版 |
2010/12/07(火) 20:29:09
ローカルの screen からリモートの screen に接続することってできるんでしょうか。
今は、ローカルの screen をデタッチして、リモートに ssh で接続し、リモートの screen にアタッチしてます。
0340338
垢版 |
2010/12/07(火) 21:38:54
>>339
それだと screen が2重になりませんか?
0342338
垢版 |
2010/12/07(火) 22:31:38
>>341
ローカルで screen 開いている端末とは別に端末を開いて、そこから ssh してリモートで screen
ということで理解しました。
慣れてないのでまだしっくりこないですが、しばらくこれで運用してみます。
ありがとうございました。
0343名無しさん@お腹いっぱい。
垢版 |
2010/12/07(火) 22:46:42
screen2重だと、慣れてるので操作自体に困らないな。
リモートはエスケープの2回押しするように指が覚えたらしい。
3重になると途端にわけわかになるけど。
0348名無しさん@お腹いっぱい。
垢版 |
2010/12/09(木) 09:45:33
screenのせいにするなよ!
リモートからログインできればscreen関係なしにそんなこと誰だって一回はやるだろ!
0350名無しさん@お腹いっぱい。
垢版 |
2010/12/09(木) 17:02:54
シャットダウン自体をめったにしないからとか?
俺はそうなので、違う鯖をシャットダウンした!なんてことはないなぁ。
0352名無しさん@お腹いっぱい。
垢版 |
2010/12/10(金) 10:49:06
ホスト名をプロンプトに表示してるし、トラブル時を除いて遠隔からの
リブート自体基本的にやらないから、そういうので焦ったことは無いかも。
計画的に電源落とす時はシリアルケーブル繋いでやるし。
0354名無しさん@お腹いっぱい。
垢版 |
2010/12/11(土) 08:55:15
サーバーラックの後ろに廻って
シャットダウンした鯖の電源ケーブル抜いたつもりが
違う鯖だったので焦ったことはある
0363名無しさん@お腹いっぱい。
垢版 |
2010/12/11(土) 23:54:00
サーバメーカは5文字くらい表示制御できる液晶を前後の蓋に
付けて欲しいよな。そんで起動時にhostname>/dev/namelabelすると
そこに表示されるの。
0370名無しさん@お腹いっぱい。
垢版 |
2010/12/17(金) 09:15:33
putty+screenで
termcapinfo xterm* ti@:te@
と設定したのですがスクロールが出来ません
何か他に設定があるんでしょうか?
0371名無しさん@お腹いっぱい。
垢版 |
2010/12/19(日) 15:08:13
debian etchのパッケージを使ってたんですが、screen上でmuttの表示が崩れるのを直したくて
でかいのネットさんの非公式パッチを頂いてソースからビルドしてみたのですが
どうも表示の崩れが直らず、試行錯誤していたところ、どうも defbce "on" をすると崩れなくなる
ようでした。本家Gitの最新ソースでも、やはり同じ結果でした。

みなさんそういう感じでしょうか? それとも何か自分おかしなことしてそうでしょうか?
0372名無しさん@お腹いっぱい。
垢版 |
2011/01/27(木) 03:08:43
screen頻繁に使っている人がいそうなので質問させてください
こちらの方は、GUIやブラウザの重さに飽き飽きしてきました。
なるべくCUIで快適にすごしたいのですが、みなさんはどのように画面を構成しているのでしょうか?

おすすめな環境構築の方法を教えてください。

主にWindowsからUnix機へ繋いで繋いで使うことも多いのですがさんこうにならないかと
0373名無しさん@お腹いっぱい。
垢版 |
2011/02/06(日) 05:39:19
日本語入力ON にして keybind で paste . すると
<81><82> 2バイトが入力されるんですが、
これどういう仕様か判る人います?
ちなみに keybind は

escape ^]]
bind a paste .

です。 xterm 上。
あと colon から :paste . すると普通に paste できます。

... とここまで書いてふと気付いた。

% xxd

0000000: e381 820a ....

そりゃそうか。いやでもこれなんとかならんかな。
xterm に screen と協調してもらうのは無理か。
bind あ paste . はできないようだ。
bind ^a paste . が落とし所か。てか既に .screenrc にあった。
bind a に慣れてるからなー。 a でいきたいけどダメかなこれ。
ダメですかね。まーいいか。いやあまりよくない。
0376名無しさん@お腹いっぱい。
垢版 |
2011/02/06(日) 22:59:33
>>374
普通ローマ字入力だろう、と思っていたが。
カナキー入力とか azik より少数だと思ってましたよ。

>>375
それ paste . と同じじゃないです?
わざわざ書くからには違うのか。からくりが解らん。
0378名無しさん@お腹いっぱい。
垢版 |
2011/02/25(金) 18:43:48.75
screen-4.00.03/zsh-4.3.11/mintty-svn/cygwin-1.7 で
別ウィンドウに ~/bin/hoge を実行しようと zsh から screen hoge すると
Cannot exec 'hoge': No such file or directory
とタイトルバーに表示されて実行できません

~/.zshrc ~/.zshenv ~/.zprofile の全部に
export PATH=$HOME/bin:$PATH
を書いても同じで実行できませんでした

zsh で hoge とすれば実行できるのでPATHは通ってると思うんですが
screen hoge で実行できない原因は何が考えられるでしょうか?
0380名無しさん@お腹いっぱい。
垢版 |
2011/02/26(土) 14:23:37.65
>>379
screen `which hoge` だとちゃんと実行できました
(which hoge がフルパスを返すので当たり前かもしれませんが)
zsh の内部コマンドではなく自作のpythonスクリプトで
パーミッション755にして実行可能になってます
0382名無しさん@お腹いっぱい。
垢版 |
2011/02/27(日) 13:06:17.96
>>381
~/.zlogin はなかったので作ってやってみましたが同じでした。

自分で調べてみてわかったことがあるので補足します。
/etc/passwd のログインシェルはデフォルトの /bin/bash のままで
~/.screenrc には shell zsh と書いてます。

端末の起動には、mintty.exe -e screen -xRR のショートカットを作成し、
これを実行すると screen 上に zsh が立ち上がり、
~/.zshenv と ~/.zshrc を読み込んでることを確認しました。
(各ドットファイルの先頭に echo ファイル名 >> $HOME/log.txt でログ出力して)
この状態で screen hoge すると >>378 のようになります。
このとき、log.txt には何も追記されてませんでした。
(つまり、screen hoge 実行時には ~/.zshenv も ~/.zshrc も読まない?)

上とは別にテストのために minnty.exe を直接起動してみました。
すると当然 bash が立ち上がります(~/.bashrc を読み込む)。
bash から screen を起動すると zsh が立ち上がります(~/.zshenv と ~/.zshrc を読み込む)。
この状態で screen hoge すると正常に別ウィンドウで実行できました。
このとき、log.txt には何も追記されてませんでした。

下の方法では bash が無駄なプロセスに思うので、
上の方法でも screen hoge できるようにしたいのですが、
何かわかる方いれば助言をお願いします。
0383名無しさん@お腹いっぱい。
垢版 |
2011/02/27(日) 15:00:07.87
方法1 素直にログインシェルをzshにする

何らかの理由でそれができないなら
方法2 .bashrcにPATHを設定するスクリプトを書く


0386名無しさん@お腹いっぱい。
垢版 |
2011/02/27(日) 20:18:38.88
> ~/.screenrc には shell zsh と書いてます。
> bash から screen を起動すると zsh が立ち上がります
じゃあこの挙動が不正ってこと?
0388名無しさん@お腹いっぱい。
垢版 |
2011/02/28(月) 00:21:31.67
>>382
>端末の起動には、mintty.exe -e screen -xRR のショートカットを作成し
cygwin は詳しくないんだけど、おそらくそれだと zsh の環境変数が screen 本体に継承されてないので、
screen -X setenv PATH "$HOME/bin:$PATH"
してみたら?

自分でも試してみようと久々に screen をインストールしていざ起動したら「$TERM too long - sorry.」
とか出るし。もういいや。
0389名無しさん@お腹いっぱい。
垢版 |
2011/02/28(月) 03:03:45.07
>>383-384
ログインシェルを zsh にしてみましたが同じでした。
説明不足で申し訳ありませんが ~/.bashrc にもPATHは設定してます。

>>386
それは不正ではないんじゃないですか?

>>388
~/.screenrc に setenv PATH "$HOME/bin:$PATH"
を追加したら screen hoge を実行できるようになりました。

あるいは、ショートカットを mintty.exe -e bash -i -c screen -xRR
とすることでも screen hoge を実行できるようになりました(-i なしじゃダメ)。
この場合 bash のプロセスは残らないんですがどこ行ったんでしょ?

ともかく原因と対処法はわかりましたのでありがとうございました。
0391名無しさん@お腹いっぱい。
垢版 |
2011/03/16(水) 05:39:25.98
・utf-8
・ambiguous widthは2
・↑の設定のhogeterm + screen上でdialog等の罫線表示が崩れない

これを実現できる設定教えて欲しい。
実現できるなら端末エミュはなんでもいい。

・euc-jpにする
・ambiguous widthは1で我慢
・罫線表示するようなコマンド打つ前にset TERM=vt100

などの回避策はなしで。

誰も答えられないようなら
「いや〜screen内で全部済むからw」
とか言う奴を見かけたら次から心の底でバカにすることにする。
0393名無しさん@お腹いっぱい。
垢版 |
2011/03/16(水) 23:15:43.80
>>391
その3つの条件だけなら、terminfoいじればいいよ。好きな端末を起動してこ
のコマンドを実行しておくだけ。

$ infocmp | sed 's/[a-z]*acs[a-z]*=[^,]*,//' > /tmp/tmp
$ tic /tmp/tmp
0395名無しさん@お腹いっぱい。
垢版 |
2011/03/17(木) 17:52:18.30
んん?

その人がしてるのはmltermにせっかく1カラムのDEC特殊文字で
表示してくれる機能あるのにscreenが間に入ると先に処理されて
mltermの機能が生かせないって話だ
0397名無しさん@お腹いっぱい。
垢版 |
2011/03/27(日) 18:02:59.76
infoの出力箇所をかえることはできますか?
4.1だとステータスラインにでてくれるけど4.0.3だとウィンドウのタイトルバーにでてくるのでいつも見失う
0399名無しさん@お腹いっぱい。
垢版 |
2011/04/22(金) 21:55:58.07
コピーモードで一旦スペース押してマークして、
でもやっぱやめたくてマークをキャンセルするキーってありますか?
0402名無しさん@お腹いっぱい。
垢版 |
2011/05/01(日) 12:28:05.17
質問させてください
detachして再接続をするとウインドウの分割した状態が復元されません
公式のFAQを見るとウインドウの復元は基本的にできない、もしやるならscreenをネストするとありました
普段ウインドウを分割している方はどのようにセッションを復元されていますか?
Screen version 4.00.03です
0407名無しさん@お腹いっぱい。
垢版 |
2011/06/29(水) 21:52:06.45
今osxのiTerm2で使っているのですが
ctrl-tabで次のscreenに移動するのが実現できません。
どなたかosxでやっているかたいませんでしょうか?

いちおう.screenrcには他のOSでもやっているとおりで
bindkey "^[[1;5I" next
bindkey "^[[1;6I" prev
と書いているのですが
sshで外からwindowsのminttyでmacにつなぐと
うまくいくので.screenrcではなく
iTerm2の設定の問題だと思うのですが

0411名無しさん@お腹いっぱい。
垢版 |
2011/07/06(水) 10:38:47.50
OSXにも vis あるよ

NAME
vis -- display non-printable characters in a visual format

SYNOPSIS
vis [-cbflnostw] [-F foldwidth] [file ...]

でもiTerm2の問題だと思うならMac板のUNIX系スレのが良いのでは
0413名無しさん@お腹いっぱい。
垢版 |
2011/07/22(金) 20:43:03.88
ttp://bogytech.blogspot.com/search/label/screen
GNU screen JIS X 0213 /UTF-8 拡張パッチ
というものを見つけました。
jless utf-8 パッチとkterm JIS X 0213/UTF-8 パッチもあり。
(個人的には、jless utf-8 パッチがありがたいです)
0414名無しさん@お腹いっぱい。
垢版 |
2011/08/01(月) 23:22:38.44
screen -X exec sh -c "xsel -i < ~/.screen_exchange" ; sleep 0.1; xsel

を実行するとよく X selection の内容が変わらなかったりします。

sh -c "xsel -i < ~/.screen_exchange" ; sleep 0.1; xsel

だと変わります。screen -X exec sh -c と sh -c で何が違うのでしょうか?
試しに zsh で

i=$RANDOM; screen -X exec zsh -c "xsel -i <<<$i" ; echo -n $i: ; sleep 0.1; xsel

を連続実行するとやはり内容が変わらなかったりします。4回くらい実行すると変わったりします。

i=$RANDOM; zsh -c "xsel -i <<<$i"; echo -n $i: ; sleep 0.1; xsel

だとやはり変わります。

i=$RANDOM; screen -X exec zsh -c "xsel -i <<<$i;sleep 0.1" ; echo -n $i: ; sleep 0.1; xsel

でも変わります。
0415名無しさん@お腹いっぱい。
垢版 |
2011/08/13(土) 00:31:58.46
どうやら screen の exec 終了時に SIGHUP が送られているようです。
xsel は background process になるので、すぐに exec が終わり
SIGHUP 発行となっているようす。

なので nohup を使って以下のようにすることで、問題は解消しました。

screen -X exec sh -c "nohup xsel -i < ~/.screen_exchange &>/dev/null"

# nohup 使いにくい。nohup.out 作ったり、その旨のメッセージを出したりしなくていいのに。
0418名無しさん@お腹いっぱい。
垢版 |
2011/08/24(水) 08:22:30.22
>>417
自分自身でforkするプロセスはwaitできないよ(笑)

>>415
xsel -n で、forkしないようにできるけど。
あと、nohupの代わりに trap '' 1 で HUP無視する方法も。
0420名無しさん@お腹いっぱい。
垢版 |
2011/08/29(月) 00:38:00.96
>>418
-n 付けて detach 抑制すると xsel が生きている間、
端末に制御が戻ってこないので問題があります。

trap は色々試した結果、このケースだとうまく trap されなかったんですが…
気になって今試したら trap '' HUP だとうまくいくことが判明。
前に試した時は trap 'echo foo' HUP とかやってたんですが、これだとうまく trap されない。
(nohup されないのはいいんですが、echo されず、trap されていることが確認できなかった。touch /tmp/trapped でも同じ)

というか trap '' HUP だとシグナル無視だけど、 '' じゃないと書いてあることを追加で実行するだけで、
元の挙動を抑制する訳じゃないのか。勘違いしていた。そういえばそうだった気もする。

シグナル無視と追加実行で trap される範囲が違うのか…?

まあもう nohup にしときますけどね。trap '' HUP の方が &>/dev/null 書かなくていいし多分速いけど。
0421名無しさん@お腹いっぱい。
垢版 |
2011/09/01(木) 03:38:20.62
どのnohup/trap使ってる? 内部/外部?
tcshの内部nohupを使えば解決するような希ガスんだが、どうしてもzsh使いたいの?
0422名無しさん@お腹いっぱい。
垢版 |
2011/09/02(金) 00:35:19.11
別にそんなことはありません。
nohup は /usr/bin/nohup です。
trap は sh というか bash です。済みません、まぎらわしいですね。linux です。
zsh は試しに使いましたが、screen に渡しているのは bash です。
# nohup 使う方法も zsh から呼ぶとなぜかうまく動かなかったし、
# 適当に試しただけですが、&! も setopt nohup もうまく動かず、disown はちょっと違うので、
# 結局 zsh は採用していません。

その builtin nohup は正に期待するもののようですが、
今は csh/tcsh を入れていないので残念ながら &>/dev/null しときます。
0423名無しさん@お腹いっぱい。
垢版 |
2011/09/25(日) 20:12:12.85
ウインドウを新規作成した時
ホームディレクトリじゃなくて、
作成元のディレクトリをカレントディレクトリにしたいのですが
どうすればいいですか?
0424名無しさん@お腹いっぱい。
垢版 |
2011/09/26(月) 14:27:38.87
シェルから screen と入力してウィンドウを新規作成すると
起動元のシェルのカレントディレクトリが引き継がれるよ
0426名無しさん@お腹いっぱい。
垢版 |
2011/10/25(火) 22:52:40.66
各windowのカレントディレクトリのリストを確認したいのですが
どうすればできますか?
0427名無しさん@お腹いっぱい。
垢版 |
2011/11/20(日) 22:30:51.28
whoコマンドかwコマンドでscreenから起動されてるttyを調べて
/procファイルシステムを舐めてカレントディレクトリを調べる
スクリプトを書けば不可能ではなさそう
0428名無しさん@お腹いっぱい。
垢版 |
2011/12/08(木) 06:58:55.53
screen使うと、viとか起動/終了した時に画面が戻らないんですけど、
普通のxtermと同じように画面を復帰するようにできませんか?
0441名無しさん@お腹いっぱい。
垢版 |
2012/01/03(火) 06:18:49.77
vim上でHomeやファンクションキーが効かないので、
.screenrcで
term xterm
と元のTERMを書いちゃったんですが、これって正しい使い方ですか?
そもそもなんでscreenを起動するとTERM=screenになるのか
意義がわからないのですが。
0442名無しさん@お腹いっぱい。
垢版 |
2012/01/04(水) 07:28:01.33
>>441
screen自身がエスケープシーケンス解釈するから、アプリケーションから
screenの知らないエスケープシーケンスが飛んでくることを避けるために
TERM=screenにしてるんだよ
0444名無しさん@お腹いっぱい。
垢版 |
2012/01/05(木) 13:37:57.30
色々調べた結果、~/.screenrcに
termcapinfo xterm* 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
とk1からk4を書いておけばファンクションキーが使えるようになりました。
多分term xtermでも大丈夫と思うんですが、screenの知らないエスケープシーケンスが
という問題はなくなるかと。
0446名無しさん@お腹いっぱい。
垢版 |
2012/01/07(土) 13:03:49.90
>>445
tmuxだと環境変数を自動で設定してくれるみたい。
screenだとvncのなかでscreenを起動して
Xは全部vncに表示するのが一番簡単・無難かと。
detachしてもXは生きたままにできるし、遅い回線でも使い物になる。
ただvncだとscreenとXが同じマシンのときに遅さが気になるので
screenxというのをつくってつかっています。
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
0549名無しさん@お腹いっぱい。
垢版 |
2018/06/21(木) 12:29:00.03
たまにhardstatusの行が消えるとこがある
多分何かのscreenコマンドを打ったんだろうけど
わかる人いたら教えください
0550名無しさん@お腹いっぱい。
垢版 |
2018/11/15(木) 09:05:38.81
ssh foobar@example.com screen -dRU みたいなことをやりたいんですが、
なにか良い方法ありませんでしょうか?
ログインしてからコマンドを打つのがめんどくさくて。
0551550
垢版 |
2018/11/15(木) 09:13:37.35
ssh -t foobar@example.com screen -dRU
で解決しました。
ありがとうございました。
0552名無しさん@お腹いっぱい。
垢版 |
2020/05/31(日) 21:55:57.62
過去にコピーモードでヤンクしたものを順に参照する方法ってないですか?
VIMのYankRing.vimみたいな感じで
0554名無しさん@お腹いっぱい。
垢版 |
2020/06/01(月) 08:28:55.90
ないと思う…外部コマンドと連携するとかしかないんじゃないかなあ
readbuf/writebuf/registerを駆使するとか

一応upstreamはそこそこメンテはされてる
tmuxの影響も多分ありそう
0555名無しさん@お腹いっぱい。
垢版 |
2020/06/04(木) 01:20:16.46
screenほどUnixらしいコマンドもないと思う
今の子はターミナルマルチプレクサなんて使わんのかもしれんが
0557名無しさん@お腹いっぱい。
垢版 |
2020/12/08(火) 10:46:49.52
遂にvimが端末エミュレータ/マルチプレクサになってしまったけど、すこぶる使い勝手が良くて困る
manやinfoからもtagjumpできるし、tail, head, cutとかで出力成形めんどい人には、何も考えずにガッと書き出して後方検索&編集できるのがいい感じ
タブもウィンドウ分割もリモートの接続もネイティブ
おすすめ
0561名無しさん@お腹いっぱい。
垢版 |
2024/02/21(水) 11:03:47.27
>>557
アタッチ、デタッチもできるん?
0563名無しさん@お腹いっぱい。
垢版 |
2024/03/27(水) 19:33:29.81
ほんと一発でアウトなんだよな
0565名無しさん@お腹いっぱい。
垢版 |
2024/03/27(水) 20:34:45.51
興味ないよ
0566名無しさん@お腹いっぱい。
垢版 |
2024/03/27(水) 20:44:42.58
丸投げしたらそれはもはよ地球からぶっ飛んでいけよ
0567名無しさん@お腹いっぱい。
垢版 |
2024/03/27(水) 21:10:14.88
キャンプみたいなんが多すぎて一部の人のスターには入れてるから
レスを投稿する


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