トップページunix
981コメント276KB

GNU screen その5

■ このスレッドは過去ログ倉庫に格納されています
0001ミスタースクリーン2006/05/27(土) 18:18:42
前スレがdetachされたので再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/
0606名無しさん@お腹いっぱい。2008/03/06(木) 00:41:16
>>605
一番メリットを感じるのは、リモートからsshとかで使っているときじゃないでしょうかね。
複数のコネクションを張らずにすんだり、コネクションが切れても大丈夫とか。
0607名無しさん@お腹いっぱい。2008/03/06(木) 00:56:45
便利に感じない人間までが無理して使う必要があるものとは思えん。
0608名無しさん@お腹いっぱい。2008/03/06(木) 01:52:57
>>605
タ ブ を 使 わ な く て い い と こ ろ
0609名無しさん@お腹いっぱい。2008/03/06(木) 10:55:56
突然端末が死んでもなんとかなるところ。
0610名無しさん@お腹いっぱい。2008/03/06(木) 12:38:55
^端末^俺?
0611名無しさん@お腹いっぱい。2008/03/06(木) 16:09:55
俺が死んだらどうにもならん。
それはさておき >604

> 何もしてないのにcaptionの内容が変わるのか?

時刻とか出すと変わるよ。あとcaptionじゃないけど、monitorとか
してるとactivityがあった時にttyに出力されるよね。

0612名無しさん@お腹いっぱい。2008/03/08(土) 18:52:46
複数スクリーンはあんまり恩恵感じない。
やっぱマシン側に端末があるってのがうれしいね。
0613名無しさん@お腹いっぱい。2008/03/09(日) 16:11:52
スクリーンの起動時に複数ウィンドウを開いてそれぞれをcd する方法を
教えてください。

1: /var/www/root
2: /var/www/app
3: /var/www/action
4: /var/www/view
5: /var/www/template
6: /var/www/log

なかんじで、 .screenrcに書いて出来たら最高でーーす。
おながいします。
0614名無しさん@お腹いっぱい。2008/03/09(日) 18:35:37
>>613
chdir /var/www/root
screen foo
chdir /var/www/app
screen bar
てな感じでどうかね。
06156132008/03/09(日) 18:47:59
>>614様 ありがとうございます。
できました。

screen -t root
chdir /var/www/root
screen -t app
chdir /var/www/app

な感じで出来ました。
.screenrcでコマンドが動くんですね。
設定を記述するのかと思っていました。

よくよく考えたら
bindkey とか ^A: bindkey -k F9 〜
とかやるのと同じ記述をscreenrcにも書きますね。
06166132008/03/09(日) 19:18:18
と思ったら、最初の chdirしか効いていないみたい。
06176132008/03/09(日) 20:01:34
とさらに思ったら、途中から相対パスで書いてたorz

すべて絶対パスで書いたらうまく行きますた。
0618名無しさん@お腹いっぱい。2008/03/21(金) 19:33:44
シェルがscreen上で実行されているかどうか知る方法はありますか?
0619名無しさん@お腹いっぱい。2008/03/21(金) 19:47:51
$TERM見るとか?
06206182008/03/21(金) 19:56:48
>>619
ありがとうございました
0621名無しさん@お腹いっぱい。2008/03/21(金) 21:37:57
$STY の有無で判断することが多いな
0622名無しさん@お腹いっぱい。2008/03/23(日) 01:42:20
screenの中からxtermのタイトルバーをいじる方法。
ESC P ... ESC \ で囲めばできるけど、俺の環境じゃ日本語が通らない。
printf "\033P\033]2;%s\007\033\134" "title"
0623名無しさん@お腹いっぱい。2008/03/23(日) 02:40:38
Linuxの話で恐縮ですが、putty+screen上でmake menuconfigが
崩れずに表示できてる人っていますか?
0624名無しさん@お腹いっぱい。2008/03/23(日) 05:57:06
TERMとかいじったらなんとかならない?
0625名無しさん@お腹いっぱい。2008/03/23(日) 11:27:52
>>623
UTF-8か?
0626名無しさん@お腹いっぱい。2008/03/23(日) 18:00:43
>>624
screen上なのでTERM=screenになっていました。
TERM=xterm make menuconfig
としてみましたが、表示は変わりませんでした。

>>625
UTF-8です。非screen環境ではUTF-8でも表示は崩れません。
LANG=C make menuconfig
をやってみましたが、変わりませんでした。
0627名無しさん@お腹いっぱい。2008/03/23(日) 20:07:31
>>626

screen -T $TERM

で起動してみる.
0628名無しさん@お腹いっぱい。2008/03/23(日) 20:15:01
>>627
ありがとうございます。
やってみましたが、状況は変わりませんでした。
06296272008/03/23(日) 20:28:55
>>628

ていうか PuTTY + Linux で素の screen (TERM は screen になってる) を起動して
make menuconfig してもくずれなかった.

PuTTY: 0.60-jp20070430
Linux: Debian lenny
screen: 4.00.03
06306272008/03/23(日) 20:32:39
う,もしかして linux 上で動く putty (or pterm) ?
0631名無しさん@お腹いっぱい。2008/03/23(日) 20:42:12
ありがとうございます。とりあえず、解決しました。
環境は
PuTTY 0.60-JP_Y-2007-08-06 on WindowsXP
Gentoo Linux(2.6.24のmake menuconfig)
Screen version 4.00.03 (FAU) 23-Oct-06
です。で、変換の文字コードが「UTF-8/Auto-Detect Japanese」
になっていたのを「UTF-8」に変えたら崩れなくなりました。
日本語もおkです。

色々教えてくださった方々、ありがとうございました。
0632名無しさん@お腹いっぱい。2008/03/30(日) 22:18:47
screen 実行中に変更した .screenrc 反映する方法わかんね
0633名無しさん@お腹いっぱい。2008/03/30(日) 22:45:50
^a :source ~/.screenrc だったような
0634名無しさん@お腹いっぱい。2008/03/30(日) 22:48:17
~ は使えなかったので $HOME で。
0635名無しさん@お腹いっぱい。2008/03/30(日) 23:04:44
screenでウィンドウ間のコピーペーストをすると、
途中で途切れるんですけど、コピーする際のサイズとかって
どうやって設定するんですか?
0636名無しさん@お腹いっぱい。2008/03/31(月) 00:01:07
>>633-634

トン
screen のコマンドで source ってのがあるわけか

>>635

さかのぼれる行数のことなら defscrollback
0637名無しさん@お腹いっぱい。2008/03/31(月) 00:22:11
> screen のコマンドで source ってのがあるわけか

え?
0638名無しさん@お腹いっぱい。2008/03/31(月) 11:19:34
>>637
え?
俺もそうだと思ってるんだけど違うの?
0639名無しさん@お腹いっぱい。2008/03/31(月) 11:29:37
>>637,638
へぇ,うちじゃ
$ type source
source is a shell builtin
って出るよ.うちが変わってるのかな.
0640名無しさん@お腹いっぱい。2008/03/31(月) 11:32:24
>>639
> $ type source
> source is a shell builtin
うちもそうでるけど、それが何の関係があるの?
0641名無しさん@お腹いっぱい。2008/03/31(月) 11:36:01
man 見ろよ。アホか。
0642名無しさん@お腹いっぱい。2008/03/31(月) 11:56:11
吹いたwww
0643名無しさん@お腹いっぱい。2008/03/31(月) 11:59:04
これね。
http://www.linux.or.jp/JM/html/GNU_screen/man1/screen.1.html#lbAH
0644名無しさん@お腹いっぱい。2008/04/03(木) 07:49:41
screen使っていると一部の文字が突然文字化けするんだが、
これを防ぐにはどうすればよいいのでしょうか?
0645名無しさん@お腹いっぱい。2008/04/03(木) 11:52:15
>>644
文字化けする環境を述べよ
特に文字コードや端末エミュレータについて
0646名無しさん@お腹いっぱい。2008/04/03(木) 20:38:35
screen でも :encoding ほにゃらら ができるというのを知ってからは
文字化けは回避できるようになったよ。

0647>>6442008/04/04(金) 07:12:01
>>645
文字コードは、EUCです。
端末エミュレータはteraterm使っています。
環境変数TERMはvt100-colorです。
0648名無しさん@お腹いっぱい。2008/04/04(金) 09:13:59
>>646
thx

これは、うれしー
0649名無しさん@お腹いっぱい。2008/04/07(月) 04:23:20
501 :名無しさん@お腹いっぱい。:2007/09/24(月) 19:39:31
>>500
ターミナルエミュレータとTERMの値おせーてください。
自分のとこだとカーネルの make menuconfig すら崩れまくりで
ホント悩んでます。Putty(UTF-CJK)+screen+TERM=screen環境では
ダメダメです。
-------
漏れは putty で UTF-8 (non CJK) を指定しています。
0650名無しさん@お腹いっぱい。2008/04/14(月) 13:35:52
いろんな端末から attach してるとき
端末変えるたびに :encoding するのがめんどくさい
0651名無しさん@お腹いっぱい。2008/04/14(月) 13:39:49
ショートカットをアサインしとけば?
0652名無し募集中。。。2008/04/16(水) 00:15:07
xterm を開いたときに screen を実行している状態になっていてほしいと思い、
xterm -e screen としたのだが、xterm がちらっと開いてすぐに終了してしまう
どうすればよいのでしょうか
0653名無しさん@お腹いっぱい。2008/04/16(水) 00:25:19
普通にできるよ。
すでに起動してるscreenからやるとそういう風になる。
xterm -e screen -x
とかいろいろやりようはあるけど。
0654名無しさん@お腹いっぱい。2008/04/16(水) 01:18:06
shellをscreenにする。
06556522008/04/16(水) 10:58:06
>>653 ありがとうございます 確かに screen 上から実行していました
また VNC のスタートアップファイル (~/.vnc/xstartup) から
xterm -e screen を実行しても xterm が開かなかったので気付きませんでした
VNC の場合はなぜ開かないのでしょう?
.xinitrc に書いて startx したときは開くのに。。。
0656名無しさん@お腹いっぱい。2008/04/16(水) 14:03:55
自動screenは>654 みたいなことしそうで怖いので、alias sc=screen してる。
eeの入力がタルい。
0657名無しさん@お腹いっぱい。2008/04/16(水) 16:38:13
Linuxの操作説明でscreenのマルチユーザーモードを使ってみようと思い、
テスト用ユーザーアカウントを作って色々試しています。

私自身のアカウントをhoge、操作を見てもらうユーザーをtest1、test2として
 1.私のPCからPuTTYでサーバーにhogeでログイン
 2.「screen -S demo」でscreen開始(.screenrcでmultiuser onを指定済み)
 3.「C-a : aclchg test1 -wx "#?"」でtest1に見せるだけの権限を設定
 4.「C-a : aclgrp test2 test1」でtest2がtest1と同じ権限になるよう設定…したつもり
 5.私のPCでPuTTYをもう1つ起動してサーバーにtest1でログイン
 6.「screen -S hoge/demo -x」でセッションに接続
 7.私のPCでPuTTYをさらに起動してサーバーにtest2でログイン
 8.「screen -S hoge/demo -x」でセッションに接続
…という手順をやってみたところ、
test1のPuTTYウィンドウは見るだけの状態になっているものの、
test2のPuTTYウィンドウではls等のコマンド入力ができてしまいます。
ただ、「C-a ?」などとしても「: help: permission denied (user test2)」と出るので
-xの制限はかかっているようなのですが…?

ユーザー毎の権限確認をする方法もわからないので状況がよくわかりません。
「C-a *」でhoge、test1、test2のリストが表示されますが
右端に表示されるのがすべて「rwx」というのも謎です。
aclgrpを使わずにaclchgで全ユーザーを列挙して設定するしかないのでしょうか…?

サーバー側はCentOS 5.0、screen.i386 4.0.3-1.el5で
私のPCはXP Pro(SP2)でPuTTY 0.60 ごった煮版 2007年8月6日版を使っています。
0658名無しさん@お腹いっぱい。2008/04/16(水) 17:50:54
screenをshellにして、そのscreenがscreenを起動して、(ry
ってなった人いる?w
0659名無しさん@お腹いっぱい。2008/04/17(木) 08:09:52
screen でスクロールバックってできるんだっけ?
0660名無しさん@お腹いっぱい。2008/04/17(木) 08:23:12
できるよ。copy mode でカーソル上まで持っててみ。
0661名無しさん@お腹いっぱい。2008/04/17(木) 09:24:24
.bashrc の最後に screen -ls を入れておくと便利。
0662名無しさん@お腹いっぱい。2008/04/17(木) 09:36:23
俺は下のように書いてるな。

if [ $SHLVL = 1 ]; then
screen -dr
fi
0663名無しさん@お腹いっぱい。2008/04/17(木) 09:54:24
>>662
なんかたまにトチ狂って screen のソケットが複数できて
異なる screen がいくつも走ってることがあったので、
念のため screen -ls するようにしてます。
で、手動で screen -dR 。まぁ確かにひと手間多くはなるが。

ところで screen の中から他のホストにつないでその中で
さらに screen って何段にもするとわけわかめ。
こういうことで不具合って出るもん?
0664名無しさん@お腹いっぱい。2008/04/17(木) 11:20:09
>663

不具合っつーほどのものは経験したことがないが、エスケープ何段入れれば
いいのかわからなくなるよね... (キーを変えるという手もあるが)
0665名無しさん@お腹いっぱい。2008/04/20(日) 21:49:19
screen上でemacsを使っていますが,TabキーをEmacsが認識してくれません.
どうすればemacsがtabキーを拾えるようになりますかね?
0666名無しさん@お腹いっぱい。2008/04/20(日) 22:15:40
666ゲト
>665
俺のemacsは認識するよ?
control+i とかでもダメ?
0667名無しさん@お腹いっぱい。2008/04/23(水) 10:53:01
>>666
C-i押してもうまくいきません...
ちなみにTabキー自体は取れないんですか?
screenが取っちゃってるとか?
0668名無しさん@お腹いっぱい。2008/04/23(水) 10:58:06
とりあえずemacsでM-x describe-key C-iしてキーコードが渡ってるか調べるべきだな。
0669名無しさん@お腹いっぱい。2008/04/23(水) 23:49:05
> TabキーをEmacsが認識してくれません

は具体的にどういうことを言ってるのかが問題な気がする。
0670名無しさん@お腹いっぱい。2008/04/24(木) 11:10:45
S で上下にスプリットしたのを元に戻したいんだけど、
どうしたらいいんすか?
0671名無しさん@お腹いっぱい。2008/04/24(木) 12:13:53
>>670
? => only
0672名無しさん@お腹いっぱい。2008/04/24(木) 13:24:05
only か・・・
そういう記述になってるとわ・・
0673名無しさん@お腹いっぱい。2008/04/24(木) 23:14:37
>>656
ナカーマ。sc() { screen -xRR $@; } してる。

>>658
screenセッション中でリモートサーバに入って、そこでうっかり
また screen して親亀小亀状態になりハマったことならある。
0674名無しさん@お腹いっぱい。2008/04/26(土) 01:18:40
>>673
たまには /usr/bin/sc のことも思いだしてあげて下さい。
外部コマンドという理由だけで関数やエイリアス達に邪険にされる不憫に、僅かな慈悲を。

Homepage: http://ibiblio.org/pub/Linux/apps/financial/spreadsheet/
Description: sc is a free curses-based spreadsheet program that uses key bindings similar to vi and less.
0675名無しさん@お腹いっぱい。2008/04/26(土) 04:02:06
ar as at bc cc ci co cp dc dd df
du ed ex hd id ld ln ls lv lz m4 mf
mt mv nl nm od pg pr ps sg sq rl
rm sh sl su tr uz ul vi wc

手元のマシンの二文字コマンド。
0676名無しさん@お腹いっぱい。2008/04/26(土) 06:16:17
せいぜい /usr/local/bin/sc だろ
/usr/binに得体の知れないものをつっこむな
0677名無しさん@お腹いっぱい。2008/04/26(土) 14:57:32
FreeBSDユーザー乙
0678名無しさん@お腹いっぱい。2008/04/26(土) 14:59:40
なんでもかんでも/usr/binにつっこむのは犬糞ぐらいだろ
0679名無しさん@お腹いっぱい。2008/04/26(土) 15:59:57
なんでもかんでも/binに重ねるOSもあるという話が
0680名無しさん@お腹いっぱい。2008/04/26(土) 17:30:31
はじめて/optというのを見たときにはまったく何だかわからなかったものだ

0681名無しさん@お腹いっぱい。2008/04/26(土) 17:39:28
gentoo使ってるけど、おれのイメージだと/optは3rd partyとかベンダー用かな
$ cd /opt; ls
Adobe/
RealPlayer/
opera/
sun-jdk-1.6.0.05/

screen とは全く関係ないんでもうここら辺で
0682名無しさん@お腹いっぱい。2008/04/26(土) 17:44:47
イメージもなにもFHSに載ってるだろ
http://www.pathname.com/fhs/pub/fhs-2.3.html#OPTADDONAPPLICATIONSOFTWAREPACKAGES
0683名無しさん@お腹いっぱい。2008/04/26(土) 23:20:02
screen で開いてるウィンドウリストを vim のタブのように
1行削ってでも常に表示しておきたいんですが、どうしたらいいですか?
0684名無しさん@お腹いっぱい。2008/04/26(土) 23:22:00
理解してないけど、どっかからパクってきた設定

caption always '%{= wk} %-w%{=bu dc}%n %t%{-}%+w %= %{=b wb}%y/%m/%d(%D) %{=b wb}%c'
0685名無しさん@お腹いっぱい。2008/05/01(木) 05:41:22
>>684 に便乗で。
caption でウィンドウリストを表示させてるんだけど、
一番下の行にあると、プロンプトのすぐそばで目障りなんで
caption の表示位置を画面上部に変えたいんだけど、そういうのって可能?
0686名無しさん@お腹いっぱい。2008/05/11(日) 20:49:02
俺は一番下に常時表示してるけど
プロンプトの最後に改行いれてるので
目障りじゃない
0687名無しさん@お腹いっぱい。2008/05/11(日) 21:10:34
>>685
上下分割して上の画面を1行に設定。
そこに、screenのcaptionを擬して表示するスクリプトを動かしとけばOK.


かな
0688名無しさん@お腹いっぱい。2008/05/11(日) 21:44:38
これってemacsみたいに横分割は出来ないんですか?
0689名無しさん@お腹いっぱい。2008/05/11(日) 22:12:55
>>363
0690名無しさん@お腹いっぱい。2008/05/15(木) 13:36:05
>>685
画面最下行の一行を取られるのは頭にくるので、
ウィンドウの枠に表示させてる。

常時表示は不要なので、見るときはprefix wで。
0691名無しさん@お腹いっぱい。2008/05/15(木) 15:38:56
一瞬windowの枠ってなんだ‥‥‥と考えてしまったratpoison歴3年目の春

0692名無しさん@お腹いっぱい。2008/05/15(木) 16:52:35
mutt と screen って相性悪いんだろうか。
メールの一覧をスクロールさせてると表示が崩れる。

$TERM を xterm や vt100 に変更してみても変わらない。
0693名無しさん@お腹いっぱい。2008/05/15(木) 16:57:18
UTF-8で使用してるなら勘だけで答えると、曖昧な文字の幅のせい
0694名無しさん@お腹いっぱい。2008/05/15(木) 17:21:44
少なくとも EUC 環境で使っている分には
mutt + screen に問題を感じたことはないなぁ…

mutt の表示をマウスでコピペすると
後ろに画面幅分のスペースがダダダとついちゃうのは
screen に限った話じゃないし…
0695名無しさん@お腹いっぱい。2008/05/15(木) 18:01:51
UTF-8 環境での表示
http://up2.viploader.net/upphp/link.php?updir=src&file=vlphp204759.png

EUC-JP 環境での表示
http://up2.viploader.net/upphp/link.php?updir=src&file=vlphp204760.png

EUC-JP での文字化けは置いといて、 UTF-8でもEUC-JP でも崩れる。
EUC-JPのほうが崩れかたが少ないけど。
0696名無しさん@お腹いっぱい。2008/05/15(木) 18:20:20
>>695
ターミナルエミュレータは? あと、screenになんらかのパッチは当たっている?

ちなみにPuTTYで文字コード UTF-8で、screenにscreen-4.0.2-patch-cjkwidth-cvs-2006052001が
当たっている場合だと無問題。この場合、PuTTYで文字コードUTF-8 (CJK) では問題が出る。
0697名無しさん@お腹いっぱい。2008/05/15(木) 21:28:08
>>696
画像のは gnome-terminalで、他にも konsole, xterm, mlterm 等
いろいろ試したけれどすべてのターミナルエミュレータでほとんど変わらず。

使ってるのはこれ。

$ screen -v
Screen version 4.00.03 (FAU) 23-Oct-06

http://packages.debian.org/etch/screen
0698名無しさん@お腹いっぱい。2008/05/15(木) 22:06:45
>>695
~/.screenrcに
defencoding eucJP
とか書いてる?
0699名無しさん@お腹いっぱい。2008/05/15(木) 22:43:27
>>697
ちなみにUTF-8パッチはバージョンナンバーには現れない。
んまぁ九分九厘パッチは当たっていないのかな。それならEUCのほうが
表示は崩れないだろうね。


>>698
んで、
UTF-8の場合は
defutf8 on
utf8 on
defencoding utf-8
encoding utf-8 utf-8
ってな感じ。
0700名無しさん@お腹いっぱい。2008/05/15(木) 23:07:59
cjkwidth off
がいるかも。
0701名無しさん@お腹いっぱい。2008/05/16(金) 08:25:38
cjkwidth のパッチもなんか微妙だよな。
Emacs の utf-8 の文字幅と一部違う所あるし。
0702名無しさん@お腹いっぱい。2008/05/16(金) 09:37:06
それはEmacsの方がおかしい
0703名無しさん@お腹いっぱい。2008/05/16(金) 10:27:53
utf8だと何やってもキャプション部分の日本語が化けるよね
0704名無しさん@お腹いっぱい。2008/05/16(金) 10:42:27
>>702
例えば japanese-jisx0208 のギリシャ文字と greek-iso8859-7 のギリシャ文字があるとする。
emacs はそれぞれの文字幅が違うことを認識してくれるんだけど、screen は cjkwidth の
ON/OFF でしか切り替わらないから、多言語環境だとどうしてもずれるんだよね。
まぁemacsの方でどちらも同じ幅だと指定すればあまり綺麗ではないけど解決できるが。

mule-unicode-0100-24ff の範囲の文字幅が screen と違うのは mule-ucs が悪いな。
0705名無しさん@お腹いっぱい。2008/06/28(土) 02:38:11
TERMがscreenにならない環境なのですが、screenを実行中なのを
しることはできませんか。
■ このスレッドは過去ログ倉庫に格納されています