GNU screen その6(再生) (567レス)
上下前次1-新
383(1): 2011/02/27(日)15:00 AAS
方法1 素直にログインシェルをzshにする
何らかの理由でそれができないなら
方法2 .bashrcにPATHを設定するスクリプトを書く
384(1): 2011/02/27(日)15:51 AAS
回避策としてはそれだろうねぇ。
なんでbashが起動してるのかわからないけど。
385: 2011/02/27(日)16:19 AAS
なんでって ログインシェルが/bin/bashだからでしょ?
386(1): 2011/02/27(日)20:18 AAS
> ~/.screenrc には shell zsh と書いてます。
> bash から screen を起動すると zsh が立ち上がります
じゃあこの挙動が不正ってこと?
387: 2011/02/27(日)21:41 AAS
.bashrcに exec /path/to/zsh って書いとけよ
388(1): 2011/02/28(月)00:21 AAS
>>382
>端末の起動には、mintty.exe -e screen -xRR のショートカットを作成し
cygwin は詳しくないんだけど、おそらくそれだと zsh の環境変数が screen 本体に継承されてないので、
screen -X setenv PATH "$HOME/bin:$PATH"
してみたら?
自分でも試してみようと久々に screen をインストールしていざ起動したら「$TERM too long - sorry.」
とか出るし。もういいや。
389(1): 2011/02/28(月)03:03 AAS
>>383-384
ログインシェルを zsh にしてみましたが同じでした。
説明不足で申し訳ありませんが ~/.bashrc にもPATHは設定してます。
>>386
それは不正ではないんじゃないですか?
>>388
~/.screenrc に setenv PATH "$HOME/bin:$PATH"
省5
390: 2011/02/28(月)13:40 AAS
>>389
SHELL=/bin/zsh
みたいな環境変数セットすればいい
391(1): 2011/03/16(水)05:39 AAS
・utf-8
・ambiguous widthは2
・↑の設定のhogeterm + screen上でdialog等の罫線表示が崩れない
これを実現できる設定教えて欲しい。
実現できるなら端末エミュはなんでもいい。
・euc-jpにする
・ambiguous widthは1で我慢
省5
392: 2011/03/16(水)14:50 AAS
euc で困ることないし
393: 2011/03/16(水)23:15 AAS
>>391
その3つの条件だけなら、terminfoいじればいいよ。好きな端末を起動してこ
のコマンドを実行しておくだけ。
$ infocmp | sed 's/[a-z]*acs[a-z]*=[^,]*,//' > /tmp/tmp
$ tic /tmp/tmp
394: 2011/03/17(木)16:25 AAS
だれもが通る道だ
そしてascii表示でお茶を濁す。この人とか
外部リンク:d.hatena.ne.jp
395: 2011/03/17(木)17:52 AAS
んん?
その人がしてるのはmltermにせっかく1カラムのDEC特殊文字で
表示してくれる機能あるのにscreenが間に入ると先に処理されて
mltermの機能が生かせないって話だ
396: 2011/03/18(金)18:42 AAS
とりあえず mlterm+screen+w3m で折り合ってくれている現状で満足だ
深入りすると腹が立ってくる
397: 2011/03/27(日)18:02 AAS
infoの出力箇所をかえることはできますか?
4.1だとステータスラインにでてくれるけど4.0.3だとウィンドウのタイトルバーにでてくるのでいつも見失う
398: 2011/03/27(日)18:21 AAS
本番サーバーに4.1いれて解決した
399(1): 2011/04/22(金)21:55 AAS
コピーモードで一旦スペース押してマークして、
でもやっぱやめたくてマークをキャンセルするキーってありますか?
400(1): 2011/04/23(土)00:21 AAS
>>399
なさそうだけどx(マークとカーソルの入れ替え)で対処できる。
401: 2011/04/23(土)00:47 AAS
>>400
なるほど!
xは押してみたけど一見してダメだと思い込んでました。
ありがとう!
402: 2011/05/01(日)12:28 AAS
質問させてください
detachして再接続をするとウインドウの分割した状態が復元されません
公式のFAQを見るとウインドウの復元は基本的にできない、もしやるならscreenをネストするとありました
普段ウインドウを分割している方はどのようにセッションを復元されていますか?
Screen version 4.00.03です
403: 2011/05/07(土)08:46 AAS
tmuxの質問はここでいいのかな?
404: 2011/05/07(土)08:50 AAS
tmux その1
2chスレ:unix
405: 2011/05/07(土)08:51 AAS
あっちでお願いします。
406: 2011/05/07(土)23:56 AAS
screenの中からX clientを起動したときに
外のDISPLAYに接続できるようにするスクリプトをかいてみたです。
screenの中のemacsからでもいけます。
hg clone 外部リンク:koie@bitbucket.org/koie/screenx
407: 2011/06/29(水)21:52 AAS
今osxのiTerm2で使っているのですが
ctrl-tabで次のscreenに移動するのが実現できません。
どなたかosxでやっているかたいませんでしょうか?
いちおう.screenrcには他のOSでもやっているとおりで
bindkey "^[[1;5I" next
bindkey "^[[1;6I" prev
と書いているのですが
省3
408(1): 2011/06/30(木)01:33 AAS
tab = ctrl+i だと思ったことはない?
409: 2011/06/30(木)10:49 AAS
ないです。
410: 2011/07/06(水)00:39 AAS
vis の入力で ctrl-tab 打ってみれば?
osx に vis あるかしらんけど。
411: 2011/07/06(水)10:38 AAS
OSXにも vis あるよ
NAME
vis -- display non-printable characters in a visual format
SYNOPSIS
vis [-cbflnostw] [-F foldwidth] [file ...]
でもiTerm2の問題だと思うならMac板のUNIX系スレのが良いのでは
412: 2011/07/08(金)12:17 AAS
>408 を理解できない人になにをいっても無駄でしょ
413: 2011/07/22(金)20:43 AAS
外部リンク:bogytech.blogspot.com
GNU screen JIS X 0213 /UTF-8 拡張パッチ
というものを見つけました。
jless utf-8 パッチとkterm JIS X 0213/UTF-8 パッチもあり。
(個人的には、jless utf-8 パッチがありがたいです)
414: 2011/08/01(月)23:22 AAS
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
省5
415(1): 2011/08/13(土)00:31 AAS
どうやら screen の exec 終了時に SIGHUP が送られているようです。
xsel は background process になるので、すぐに exec が終わり
SIGHUP 発行となっているようす。
なので nohup を使って以下のようにすることで、問題は解消しました。
screen -X exec sh -c "nohup xsel -i < ~/.screen_exchange &>/dev/null"
# nohup 使いにくい。nohup.out 作ったり、その旨のメッセージを出したりしなくていいのに。
416: 2011/08/22(月)19:09 AAS
何も案を出せずにごめん、そして解決方法を書いてくれてありがとう
417(1): 2011/08/24(水)07:45 AAS
xselをwaitしたらいいのでは?
418(1): 2011/08/24(水)08:22 AAS
>>417
自分自身でforkするプロセスはwaitできないよ(笑)
>>415
xsel -n で、forkしないようにできるけど。
あと、nohupの代わりに trap '' 1 で HUP無視する方法も。
419: 2011/08/26(金)14:14 AAS
復帰
420: 2011/08/29(月)00:38 AAS
>>418
-n 付けて detach 抑制すると xsel が生きている間、
端末に制御が戻ってこないので問題があります。
trap は色々試した結果、このケースだとうまく trap されなかったんですが…
気になって今試したら trap '' HUP だとうまくいくことが判明。
前に試した時は trap 'echo foo' HUP とかやってたんですが、これだとうまく trap されない。
(nohup されないのはいいんですが、echo されず、trap されていることが確認できなかった。touch /tmp/trapped でも同じ)
省4
421: 2011/09/01(木)03:38 AAS
どのnohup/trap使ってる? 内部/外部?
tcshの内部nohupを使えば解決するような希ガスんだが、どうしてもzsh使いたいの?
422: 2011/09/02(金)00:35 AAS
別にそんなことはありません。
nohup は /usr/bin/nohup です。
trap は sh というか bash です。済みません、まぎらわしいですね。linux です。
zsh は試しに使いましたが、screen に渡しているのは bash です。
# nohup 使う方法も zsh から呼ぶとなぜかうまく動かなかったし、
# 適当に試しただけですが、&! も setopt nohup もうまく動かず、disown はちょっと違うので、
# 結局 zsh は採用していません。
省2
423: 2011/09/25(日)20:12 AAS
ウインドウを新規作成した時
ホームディレクトリじゃなくて、
作成元のディレクトリをカレントディレクトリにしたいのですが
どうすればいいですか?
424(1): 2011/09/26(月)14:27 AAS
シェルから screen と入力してウィンドウを新規作成すると
起動元のシェルのカレントディレクトリが引き継がれるよ
425: 2011/09/26(月)14:38 AAS
>>424
ほんとだっ
こんなに簡単に実現できるとは
ありがとうございました
426: 2011/10/25(火)22:52 AAS
各windowのカレントディレクトリのリストを確認したいのですが
どうすればできますか?
427: 2011/11/20(日)22:30 AAS
whoコマンドかwコマンドでscreenから起動されてるttyを調べて
/procファイルシステムを舐めてカレントディレクトリを調べる
スクリプトを書けば不可能ではなさそう
428(2): 2011/12/08(木)06:58 AAS
screen使うと、viとか起動/終了した時に画面が戻らないんですけど、
普通のxtermと同じように画面を復帰するようにできませんか?
429(2): 2011/12/08(木)07:53 AAS
TERMINFO/TERMCAPのscreen端末設定を修正すればできるよ
$ man terminfo
430: 2011/12/08(木)07:57 AAS
>>429
それはすでにやりましたが、直りません。
「man hoge」の回答者って確認せずに回答する人多いですよね。
431(1): 2011/12/08(木)08:08 AAS
そりゃ環境もやったことも書かないような間抜けにはそういう回答しかできないのでは
432: 2011/12/08(木)08:10 AAS
>>431
横レスだが、環境問わずscreenではそもそも >>428 の設定は不可能なのだが、
可能かのように知ったか回答してる >>429 が間抜けかと。
433: 2011/12/08(木)08:52 AAS
つまり「できない」がベストアンサーってことですね
434: 2011/12/08(木)10:08 AAS
tmuxならできる
435(1): 2011/12/08(木)12:12 AAS
>>428
altscreenをonにしろ
436: 2011/12/08(木)12:19 AAS
>>435
できました!!ありがとう!!!
ちなみにterminfoの設定は元に戻しました(笑)
437: 2011/12/08(木)12:46 AAS
横レスだが、環境によってはできるにもかかわらず、環境に問わず不可能だという回答をする人は…
438: 2011/12/08(木)12:50 AAS
横レスだが、環境問わず TERMINFO/TERMCAPのscreen端末設定では設定不可能だよw
439: 2011/12/08(木)13:16 AAS
おっ条件が増えたぞ
440: 2011/12/08(木)14:52 AAS
くやしいのう くやしいのう
441(2): 2012/01/03(火)06:18 AAS
vim上でHomeやファンクションキーが効かないので、
.screenrcで
term xterm
と元のTERMを書いちゃったんですが、これって正しい使い方ですか?
そもそもなんでscreenを起動するとTERM=screenになるのか
意義がわからないのですが。
442: 2012/01/04(水)07:28 AAS
>>441
screen自身がエスケープシーケンス解釈するから、アプリケーションから
screenの知らないエスケープシーケンスが飛んでくることを避けるために
TERM=screenにしてるんだよ
443: 2012/01/04(水)11:17 AAS
term xtermと書くのって普通ですか?
それともファンクションキーとかを使うのはあきらめる?
444: 2012/01/05(木)13:37 AAS
色々調べた結果、~/.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の知らないエスケープシーケンスが
という問題はなくなるかと。
445(2): 2012/01/05(木)23:52 AAS
>>184の問題って今どうなってるの?
あんまりみんな気にしてないのかな
446(1): 2012/01/07(土)13:03 AAS
>>445
tmuxだと環境変数を自動で設定してくれるみたい。
screenだとvncのなかでscreenを起動して
Xは全部vncに表示するのが一番簡単・無難かと。
detachしてもXは生きたままにできるし、遅い回線でも使い物になる。
ただvncだとscreenとXが同じマシンのときに遅さが気になるので
screenxというのをつくってつかっています。
447(1): 2012/01/07(土)14:27 AAS
>>446
>tmuxだと環境変数を自動で設定してくれるみたい。
マジですか
どういう仕組みでやってんだろ
448: 2012/01/07(土)18:12 AAS
>>447
すまん、やりたいことが
すでに起動しているshの環境変数を書き換えることならNoだわ。
あたらしいwindowを開いたときに、そのときの環境変数が設定されるだけ。
449(1): 2012/01/29(日)12:38 AAS
コピーモードから抜けるとき一瞬もたつく感じしない?
とくにコピーしてから抜けるときは
設定いじればもう少し早くなるんだろうか
450(2): 2012/03/11(日)00:14 AAS
layout newでレイアウト情報が作成されるらしいけど、どこのファイルに書いているの?
451(1): 2012/03/12(月)02:20 AAS
それって colon から打つの?
>>449
特にしません。
>>441
TERM=xterm だと xterm の制御シーケンスを扱えない端末からマルチディスプレイモードで
アタッチした時に困ったことになる。マルチディスプレイモードじゃなくても。
または、端末より screen が認識する(かつ screen のみでなんとかなる)
省7
452: 450 2012/03/12(月)02:31 AAS
>>451
そうっす。prefixの後に :layout new
もしかして/tmpに作られてんのかな
453(1): 2012/03/12(月)21:29 AAS
man screen になかったけど開発版の機能か。
それ内部的に作られてるだけなんじゃない?
454: 450 2012/03/13(火)00:18 AAS
>>453
一回どっかのscreenで:layout newすれば、その後に別のセッションを新規に作っても
そこでもレイアウトは有効になってるんで、どこかに書いてるのかと思うんだけど・・・
455: 2012/03/13(火)00:45 AAS
違う端末でも、じゃなくて違うセッションでも共有してるの?
古い記述だけど 外部リンク:yudai.arielworks.com には
ファイルに書かれないとあるね。今はあるかもしれないけど。
セッション間共有なら screen として特別なファイルはなくてもできるだろうし、
強いていうならソケットディレクトリ内のソケットがそれにあたるかな。
456: 2012/03/13(火)17:13 AAS
LANG=C man screen
保存したければlayout dump使えって
457: 2012/03/14(水)00:21 AAS
なんだ man にあるんかい。
開発版っていってもそんな新しい機能じゃないからあるか。
開発版じゃない方には当然書いてないけど。
458(2): 2012/03/17(土)15:01 AAS
昔 sudo のパスワード不要期間って window 間で共有してた気がするけど、
今は端末毎に制御しているのか window 毎に管理されてるよね。
端末毎は別の方がいいと思うけど、screen のセッション内で
分けてもあまり意味がない気がする。
でもさくっと screen のセッション内で共有するのはならないか。設定とかで。
端末毎の別管理をやめるとかなら sudo の設定であるかもしれないけど。
459: 2012/03/17(土)15:15 AAS
>>458
sudoの作りは知らんけど、端末上で実行するプログラムから見ると、普通は
screenの別windowと端末の別ウインドウは区別できないからね。
460: 2012/03/17(土)16:35 AAS
>>458
window間じゃなくて、ホスト内で共通のticket timeoutだったんじゃないの?
(screen内に暮らしていると、どっちも同じ事ではあるんだけども)
sudoers(5)のtty_ticketsがoff。要するにsudo(8)の話題。
461: 2012/03/17(土)21:17 AAS
うんそう。書き方が悪かったね。window 間共有は本質として書いた訳じゃない。
tty_tickets の設定か。thx.
で言いたかったのは screen 内では端末毎に分けてもあまり意味ないし
STY あたりで分けてるといいかなー(環境変数を使う訳にはいかないだろうけど)という
screen user の勝手な考え、だったんだけど…
よく考えたら screen 内で sudo 使ったんなら外からアタッチできるんだし、
突き詰めると端末、セッションで分けても意味ないね。
省2
462: 2012/03/17(土)23:50 AAS
つーか俺は常にオフ。
sudoの仕様が変わった時から。
463(2): 2012/05/31(木)09:11 AAS
windowsからputtyでmulti display modeなscreenをアタッチしたときに文字コードがリセットされちゃいます。
毎度:encoding utf-8 utf-8しないといけないぽです。
linuxではこんなこと無いんですが、freebsdだとなってしまいます。
何か原因あったりするんでしょうか。
以下抜粋です
> grep encoding ~/.screenrc
defencoding utf-8 utf-8
省10
上下前次1-新書関写板覧索設栞歴
あと 104 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s