GNU screen その3
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。
2005/03/21(月) 07:24:04前スレ
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/
0838名無しさん@お腹いっぱい。
2006/02/25(土) 22:59:210839名無しさん@お腹いっぱい。
2006/02/26(日) 01:55:460840名無しさん@お腹いっぱい。
2006/02/28(火) 01:35:29Ctrl+A
って使ってないの?
0841名無しさん@お腹いっぱい。
2006/02/28(火) 01:39:200843名無しさん@お腹いっぱい。
2006/02/28(火) 01:51:23今はC-tにしたよ
0844名無しさん@お腹いっぱい。
2006/02/28(火) 01:52:27emacs 風に ^x^x にしている人も知合いにいたけどあれは正直おすすめしない。
0845名無しさん@お腹いっぱい。
2006/02/28(火) 01:54:250846名無しさん@お腹いっぱい。
2006/02/28(火) 02:04:18bind ^] mapdefault
escape ]
0847名無しさん@お腹いっぱい。
2006/02/28(火) 02:20:14だな。telnetとかぶるけどtelnetなんてもう使わないし。
0848名無しさん@お腹いっぱい。
2006/02/28(火) 03:41:26にしているのって俺だけかな。
0849名無しさん@お腹いっぱい。
2006/02/28(火) 03:58:17w3mやvimの再描画キーを潰すのは勇気がいるな
escape ^\\\
0850名無しさん@お腹いっぱい。
2006/02/28(火) 04:40:310851848
2006/02/28(火) 06:19:06ホームポジションから動かないから多用する場合がとても楽。
^L^Lじゃないのがポイントかな。
0852名無しさん@お腹いっぱい。
2006/02/28(火) 06:37:08別にこれでもなくてもいいのだが。
0853フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/02/28(火) 06:46:210854名無しさん@お腹いっぱい。
2006/02/28(火) 13:44:31だな
0855フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/02/28(火) 13:48:080856名無しさん@お腹いっぱい。
2006/02/28(火) 13:52:030857名無しさん@お腹いっぱい。
2006/02/28(火) 22:47:530858名無しさん@お腹いっぱい。
2006/02/28(火) 23:00:27stty で SIGQUIT 送出のバインディングも変更したほうがよいのかな?
0859名無しさん@お腹いっぱい。
2006/02/28(火) 23:51:370860名無しさん@お腹いっぱい。
2006/02/28(火) 23:57:150861名無しさん@お腹いっぱい。
2006/03/01(水) 01:55:35screen 無しの時に間違って叩いても被害が非常に小さいので。
>>859-860
それどうやって入力すればいいの?
0862名無しさん@お腹いっぱい。
2006/03/01(水) 01:57:09端末の設定
0863名無しさん@お腹いっぱい。
2006/03/01(水) 02:19:00晒してちょ。
0864名無しさん@お腹いっぱい。
2006/03/01(水) 14:12:09どーせ X使用を暗黙の前提としてるんじゃねーの?
ツカエネー
0865名無しさん@お腹いっぱい。
2006/03/01(水) 15:04:170866名無しさん@お腹いっぱい。
2006/03/01(水) 15:18:120867フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/01(水) 15:31:130868名無しさん@お腹いっぱい。
2006/03/01(水) 16:04:520869名無しさん@お腹いっぱい。
2006/03/01(水) 16:05:40X使用は普通かもしれないけどデフォルトとまでは言えないな
少なくともscreen使う人にとってX限定のネタは汎用性低そうだ
0870名無しさん@お腹いっぱい。
2006/03/01(水) 16:10:53だから X 限定じゃないっつってんだろ、文盲。
0871名無しさん@お腹いっぱい。
2006/03/01(水) 16:19:130872フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/01(水) 16:40:50生コンソールでもloadkeysで設定できる気がする
0873名無しさん@お腹いっぱい。
2006/03/01(水) 17:33:20変更した結果は結局は特定の ascii コードにしかならないわけですが...
(X のイベントならアスキーコードにマップしなくても扱えるけどさ)
^; みたいなのを実際的に普通のキーコードじゃない
何かにマップして使えるんですか?
(ターミナル側は KTerm*VT100*Translations みたいなので
何とかするものとします)
0874名無しさん@お腹いっぱい。
2006/03/01(水) 17:37:05>変更した結果は結局は特定の ascii コードにしかならないわけですが...
もちろんそうだが。大事なのはどのキーを押すかだ。
0875フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/01(水) 17:47:14C-:にESC [ 65 ~というキーコードを吐かせているがscreenにはバインドしていない
Emacsならfunction-key-mapで[C-:]と定義できるがな
screenでもbindkeyでなんとかなるんじゃない?
0876名無しさん@お腹いっぱい。
2006/03/01(水) 18:08:20それはXの話でしょ。
>screenでもbindkeyでなんとかなるんじゃない?
なにが?
0877フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/01(水) 18:30:18>それはXの話でしょ。
Xに限らないと思うが。
ターミナルかコンソールの設定でC-:の吐くコードが指定できることが必要条件。
>>screenでもbindkeyでなんとかなるんじゃない?
>なにが?
bindkey C-:に吐かせるコード コマンド
0878名無しさん@お腹いっぱい。
2006/03/01(水) 18:41:33>>>screenでもbindkeyでなんとかなるんじゃない?
>>なにが?
>bindkey C-:に吐かせるコード コマンド
これはできないでしょ。
0879フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/01(水) 20:24:52bindkey "[65~" exec unko.sh
0880フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/01(水) 20:26:13bindkey "^[[65~" exec unko.sh
0881名無しさん@お腹いっぱい。
2006/03/01(水) 20:50:42それはmltermでC-:に吐かせるコードを変えていて、
screenで^[[65~に対応するコマンドを決めているだけ
なので、
>bindkey C-:に吐かせるコード コマンド
ができているとは言えない。
0882名無しさん@お腹いっぱい。
2006/03/01(水) 21:06:37何かメッセージが表示されると、ウィンドウサイズが
変ってしまう場合があるけど、これって防ぐ方法
ありますか?
この現象は使っているXのウィンドウマネージャにも
依存するみたいです。twmとかだと、大丈夫だけど、
KDEやicewmだと発生します。
0883名無しさん@お腹いっぱい。
2006/03/01(水) 21:12:55/usr/share/keymaps/i386/qwerty/jp106.kmap.gz
いじくりまくり恐縮です
0884名無しさん@お腹いっぱい。
2006/03/01(水) 21:13:26セージを調べてみたら?
0885フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/01(水) 21:23:39なぜ?
> それはmltermでC-:に吐かせるコードを変えていて、
> screenで^[[65~に対応するコマンドを決めている
このお膳立てをしているから
C-:を押すことで exec unko.sh が実行されるんじゃないか。
>>882
hardstatus lastline "%f%n:%LW"
hardstatus on
でどうだ?
0886882
2006/03/01(水) 22:43:11通常ならbellが表示される時に Wuff - Wuff ってstatus lineに
表示されると同時に、ktermのウィンドウが勝手にぴょんこぴょんこ
サイズが変って、それが収まるとウィンドウの高さが1〜2行
低くなっているという状況ですね。
>>885 さんの方法だと、ウィンドウのぴょんこぴょんこが、
止らなくなってしまいました。
0887名無しさん@お腹いっぱい。
2006/03/01(水) 22:49:11Ctrl + 真ん中ボタンで「ステータス行を表示」
0888フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/01(水) 23:57:30# これでステータスラインが消えなくなる
termcapinfo kterm 'hs:ts=\E[?2S\E[?E\E[?%i%dT:fs=\E[?F:es:ds=\E[?E'
0889882
2006/03/02(木) 01:38:02消えてしまいます。
>>888 これでぴょんこぴょんこしなくなりました。
ありがとうございました。
0890フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/02(木) 01:41:050891名無しさん@お腹いっぱい。
2006/03/03(金) 02:45:13で、普段はSSH経由でリモートからしか使わないから、~/.loginにscreen -xRR
と書いています。
この状態でXでログインしようとすると途中で固まるのですがなぜ?
0892名無しさん@お腹いっぱい。
2006/03/03(金) 11:07:410893名無しさん@お腹いっぱい。
2006/03/03(金) 11:59:43`tty`しなくても$ttyでOK
でも ssh接続かXの仮想端末かってttyで区別つくのか??
0894名無しさん@お腹いっぱい。
2006/03/03(金) 12:22:22~/.ssh/authorized_keysにcommand="command" で指定するといいよ
0895名無しさん@お腹いっぱい。
2006/03/03(金) 12:41:270896名無しさん@お腹いっぱい。
2006/03/03(金) 14:57:10d
取りあえず、~/.loginには
if ( $?SSH_TTY ) screen -xRR
と書くことにしました。これでXでログイン自体は出来るようになったけど
出来ればXの仮想端末の中でもscreenを自動起動したいところ…。
何かいい方法はありませんか?
ちなみに、
if ( $?tty ) screen -xRR
だとXにログイン時に固まってしまいました。
0897こういうことじゃネーノ?
2006/03/03(金) 15:01:510898名無しさん@お腹いっぱい。
2006/03/03(金) 16:41:03xterm -lsでいいんじゃないの?
もしくは環境変数STYあたりで切り分けかね。
0899名無しさん@お腹いっぱい。
2006/03/03(金) 21:18:12だろ。マニュアルちゃんと読め。
$ttyでやるなら、
if ( $tty =~ "/dev/pty*") screen -xRR
あたりだろうな。
けど端末エミュレータもscreenでいきたいなら、この方法じゃダメ。
0900名無しさん@お腹いっぱい。
2006/03/05(日) 12:21:49いままでzshで
function title {
if [[ $TERM == "screen" ]]; then
print -nR $'\033k'$1$'\033'\\\
elif [[ $TERM == "xterm" || $TERM == "rxvt" ]]; then
print -nR $'\033]0;'$*$'\a'
fi
}
function dirTitle {
title "[$(pwd | sed "s#^$HOME#\~#;s#^\(\~*/[^/]*/\).*\(/[^/]*\)#\1...\2#")]"
}
function cd {
pushd $argv > /dev/null
dirTitle
ls
}
てなかんじの関数をどっかからパクッてcdするたびに
screenのタイトルをカレントディレクトリを表示させるように
していたんだけれど
bashでどうやればいいかわからない。
同じ事やってもprintに-nRオプションなんかねぇ!とか起こられる。
0901名無しさん@お腹いっぱい。
2006/03/05(日) 12:38:53俺は、
$ echo $PS1
\[\033]2;\h:\w\007\]\h\$
してるけどね。
0902名無しさん@お腹いっぱい。
2006/03/05(日) 13:13:50orzすまんパクッた関数つかってただけだから何やってるのか
いまいち把握してなくてよくわからん。
>$ echo $PS1
>\[\033]2;\h:\w\007\]\h\$
これなにやってんの〜どういう意味〜?って感じ
出直してくるわ。スレ汚しスマソ
0903フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/05(日) 13:21:160904名無しさん@お腹いっぱい。
2006/03/05(日) 15:04:40.bashrcに
case $TERM in
screen)
PROMPT_COMMAND='echo -ne "\033k${PWD/$HOME/~}\033\\"'
;;
esac
って書いとくと表示されますよ。
0905900
2006/03/05(日) 15:23:54サンキュ!!できた!!
0906フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/05(日) 15:55:450907名無しさん@お腹いっぱい。
2006/03/05(日) 16:03:080908フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/05(日) 16:05:400909名無しさん@お腹いっぱい。
2006/03/05(日) 18:19:19全然わかってなかったんだけど >904 を見て
見よう見まねで
zsh の precmd() に
print -Pn "\ek%n@%m:%~ \e\\"
なんて入れてみた。
ところで そのstatus行の文字の色を変えたいんですが
man screen の STRING ESCAPES の Colors are coded either as a hexadecimal number
とかの辺りって、上記の \ek... みたいな中に具体的に
どうやって組み込むんでしょう?
\ek%{r}string... じゃ変わらないみたい... orz
0910名無しさん@お腹いっぱい。
2006/03/06(月) 10:34:06hardstatus の飾り付けは hardstatus string で設定する
0911909
2006/03/06(月) 10:48:37変えたいってことです:
window 切替える毎に hard status 行を現 window に合わせて変える
(たしかに shell prompt に仕込んでおいても
window 切替タイミングでは変わらないか...)
kterm のwindow title を切替毎に変更できれば尚良いです。
現在は kterm のお題は "screen@" に固定になっちゃってるんで。
0912名無しさん@お腹いっぱい。
2006/03/06(月) 11:09:32hardstatus string '%w %c'
してる。
0913名無しさん@お腹いっぱい。
2006/03/10(金) 05:52:120914フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/10(金) 06:28:090915名無しさん@お腹いっぱい。
2006/03/10(金) 10:57:460916名無しさん@お腹いっぱい。
2006/03/15(水) 21:37:50bind '^ ' next
としてもだめでした。
どうやればいいのか教えてください。
0917名無しさん@お腹いっぱい。
2006/03/15(水) 22:28:350918名無しさん@お腹いっぱい。
2006/03/15(水) 22:54:42bind ' ' next
でいいよ
0920名無しさん@お腹いっぱい。
2006/03/16(木) 10:31:52bind \000 next
0921(I love GNU screen)
2006/03/16(木) 22:44:400922名無しさん@お腹いっぱい。
2006/03/16(木) 22:47:37間違って「グヌーの群れだな」と言ってしまった。
0923(I love GNU screen)
2006/03/17(金) 00:02:210924名無しさん@お腹いっぱい。
2006/03/17(金) 10:44:510925フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/19(日) 13:22:080926名無しさん@お腹いっぱい。
2006/03/20(月) 09:29:56しゃべり場スレで見つけたYO!!
0927名無しさん@お腹いっぱい。
2006/03/27(月) 00:18:02screenを使用して1ヶ月の者です。
googleやヤフーにて検索しましたが、なかなかいい情報見つからず、
.bashrcや.bash_profileをsourceコマンドで再読み込みすればもちろん、
環境が適用されるのですが、screenコマンド実行と同時に、
実行前の環境が読み込まれる、もしくは引き継がれるような設定ありますでしょうか?
的外れな質問かもしれませんが、ご教授いただければ幸いです。
RedhatLinux9です。
0928名無しさん@お腹いっぱい。
2006/03/27(月) 00:35:19user の shell が bash なら
screen が bash 勝手に起動して、
.bashrc も読まれるはずだけど?
0929名無しさん@お腹いっぱい。
2006/03/27(月) 00:35:37環境変数のこと? 普通は何もしなくても引き継がれるよね
0930名無しさん@お腹いっぱい。
2006/03/27(月) 00:37:58.screenrcのことか?
それともscreen -rdとかのコマンドの事か?
0931名無しさん@お腹いっぱい。
2006/03/27(月) 00:51:14レスありがとうございます!
bashなので、.bashrcにエイリアスや、プロンプトの設定等を
書いておけば引き継がれると思っていましたが、
何度やっても駄目だったので。。。
0932名無しさん@お腹いっぱい。
2006/03/27(月) 00:54:27.screenrcにはもちろん直接エイリアスとかを書いても意味がなかったので、
何か設定で.bashrcを再読み込みさせることができると言うことでしょうか。。。
screen -rd は、初めてみましたのでちょっと調べてみます。
(screen -r プロセスID でデタッチした物を復活させる。の、関連?)
0933927
2006/03/27(月) 01:08:16原因分かった気がします。
自分は、元々.bash_profileに、プロンプトやエイリアスの設定を
全てまとめて記述していたのですが、
それとそのままcpで.bashrcにコピーすれば同じ設定になるだろうと
安易に考えてしまい、正常に動作しておりませんでした。
.bashrcはシェルが起動される度に読み込まれるファイルで、
.bash_profileはログイン時に読み込まれるユーザー固有のファイルと認識しておりましたが、
勉強不足でした。
皆さん、即レス頂けて非常に感動しております、ありがとうございました
0934名無しさん@お腹いっぱい。
2006/03/27(月) 02:40:49postcmdの部分がうまく言ってないけど
プロセスが表示されないんだよね
if ( $TERM == "screen" ) then
alias abbrevTitle 'pwd | sed "s#^$HOME#\~#;s#^\(\~*/[^/]*/\).*\(/[^/]*\)#\1...\2#"'
alias precmd 'echo -n "\033_`abbrevTitle`\033\\"'
alias postcmd 'echo -n "\033k`jobs`\033\\"'
endif
0935名無しさん@お腹いっぱい。
2006/03/30(木) 13:21:27「●」を含む文字列を表示しようとすると文字化けしてしまいます。
おそらく utf8encodings の変換マッピングの問題なのかなと思うのですが、
化けないようにされている方がいらっしゃいましたら方法を教えてください。
utf8encodings をいじれば直せるかなと思ったのですが、
中身はバイナリみたいなので自分の手に負えるか微妙なもので。
0936名無しさん@お腹いっぱい。
2006/04/07(金) 18:22:25emacs20だったことが判明。screenのせいだな。
0937名無しさん@お腹いっぱい。
2006/04/07(金) 18:34:55レス数が900を超えています。1000を超えると表示できなくなるよ。