GNU screen その6(再生)
スレ立てホスト規制がかかっていて、なかなか立てられなかった 今回は即死しないように、適度にレスをつけてくれ とりあえず話題ふる tmuxというのが最近あるようだが、どうよ? http://sourceforge.net/projects/tmux/ BSDライセンスらしい blog記事 http://d.hatena.ne.jp/tmatsuu/20090709/1247150771 とりあえず3Kバイト前後(20レス〜30レス)のあたりに設定されてるらしい。 じゃぁ、使ってる環境書いてこ screen+byobu+emacs+zsh+(gnome-terminal|teraterm) BSDはtmuxに乗り換えたみたいだな ちょっと使ってみたが、ほとんどscreenのクローンじゃねーか tmuxは異なるユーザで同じセッションを共有する機能あるのかな? man page読んだ感じではどうも無さそうなのだが… >>9 > BSDはtmuxに乗り換えたみたいだな kwsk デフォルトprefix keyの違いは決定的だな。>tmux 一体どれだけの人間がscreenをC-aで諦めてきたことか・・・ #世の中の90%の人間はデフォルトで詰まると諦める いまちょっと tmux を試してるんだけど、俺の手指が短いせいか、 C-b はちと辛いな。 C-aになれてしまった体 emacs使ってるがC-a aもしぜんになっちまった。左利きだからかね。 C-tも考えたけど小指+中指になるとつりそうだ。 >>5 こんな過疎板で即死基準30レスは厳しい・・・ tmux、UTF-8の位置合わせがダメだ。 バイト数イコール桁数になってる感じ。 片手で押したい派と両手でもいい派はどっちが優勢なのだ? >>20 本当だ、これは話にならんな。今時Unicodeも考えてないなんて。 tmux単独スレを立てても過疎りそうだから 次スレはscreen/tmux共通スレにする? >>24 っていう程tmuxは流行りそうなのか? このスレが即死しなければ1000まで行くのにかなり時間がかかるだろうから自ずとわかるけど。 俺は C-z にしてるな。screen使ってるとC-zで裏に回す必要性無いしなあ。 こんなのもあるな。 見た目のインパクトはあるけどどれほど使えるのやら。 http://sourceforge.net/projects/vwm >>26 VMMは コンソールで動く window managerに過ぎない。 screenとは別物だろう。attach / detach できなければ意味がない。 パッと見、前世紀のBolandのCUI IDEみたいだ。TC2.xの頃?? どうでもいい。おれは C-y にしてる。、 C-y h で前窓、C-y l で次窓。失せろ。、 screen のescape を変換キーに割り当てるにはどうすればいいんですか? 「俺は C-* にしてる」ネタって、どこかにまとめサイトみたいなのないのかな? 頻出でうんざりしない? おお、あるんですね。 みんな、そこに書くようにしようよ。 いや、私はデフォルトのまま C-a なんで既に書かれてたみたいです。 というわけで各自あとはよろしくですー。 というか即死回避のためにみんな無理矢理ネタ作って書き込んでただけだよ。 あ、そうなんだ。先に言ってよ。 じゃあまあこれでこのスレも安泰かな? >>39 おまえのせいですげー不快な思いしたわ。失せろ。、 >>40 ん?何か不快にするようなこと言ったっけ? うーん、なんかよくわからないけど引っ掻き回しちゃったようで。もうおとなしくします。 つなげたらすぐにshellがscreenよびだす派?手打ち派? 俺は手で入力する派 ログインスクリプトでscreen起動させるのは落とし穴がいろいろとあってやばい screen -listだけは実行してる。 けど、あまり意味ない気がしてる。 手打ち派になるのかな? ウインドウマネージャにショートカットキーを割り当ててる putty接続から即screen呼び出しおいしいです^q^ でもマシン再起動とかで指定されたセション名のscreen死んでると立て直しに別設定でつなぐ必要が・・・。 >>1 神奈川県民、乙。 screen使ってないけど、即死回避のネタ。 NetBSD/OpenBSDはGPL Freeにすべく必死にBSDライセンスで 車輪の再発明中。一番の大物、GCCを不要にしてpccに回帰してみたり、 LLVM/clangでmake world出来るようにしてみたり、挑戦中。 意外とmanのgroff(&ghostscript)を撲滅するのに苦労してるが。 それもこれもGPLv3がウザくて、組込みBSDで生計を建ててる人達が GPL clean-roomを欲しがってるせい。 上でtmuxの話してるだろ。せめてログ読んでからレス書けよ。 >>53 だから、>>52 が書かれてるんだろ。流れ読めよ。 >>56 だから、そういう話。gsに限らず、組込みの中の小人さんと screen(or tmux)経由で会話できると嬉しい開発者は ゴマンと居るわけで。 でも組込みファームウェアがGPLに感染するのは嫌、と。 富士Xeroxのコピー機の中の小人さんとお話できたり しないかなぁ。 悪魔くんのことを小人さんというよね? 休日出勤しろと指示する代わりに 小人さんにお願いすることってあるよね? 「小人さん」は言うけど、 daemon のことを「小人さん」とは死んでも言わないな。 >>58 馬鹿か?ライセンスの話はスレ違いだ。いい加減にしろ レス数が50越えてる時点で即死なんてしないわ 次からはLinux板に立てようよ あっちのほうが人多いだろ 画面を普通に分割した状態で、デタッチ ↓ アタッチ こうすると、画面分割が解除されてしまうのだけど、 解除されない方法はありませんか??? GPLはただ乗りを防ぐよいライセンス BSD厨はフリーライダー だからライセンスの話はスレ違いだと何度言ったら分かるんだ >>69 最新開発版ならできるらしいよ。 ttp://ishikawa.arielworks.com/memo/2008/11/08/184006 tmuxだと画面分割がemacsぽく垂直方向にも出来るな。 ソースコードも、screenはK&Rで書いてある上結構ゴチャゴチャしているのに 対して、確かにtmuxは綺麗に書いてあって可読性が高いんだが、まだ機能不足の 感が否めない。 tmuxって韓国発のWindows互換OSの事か? >>75 機能追加していくときっとぐちゃぐちゃになるよ ちなみにscreenでも開発版なら縦分割できるってのはもちろんみんなもう知ってるんだよな? 同じ事が出来るならライセンスが自由な tmux の方が良いな >>74 うは! しかも縦分割も出きるのかよw リリース版が待ち遠しいな >>74 どうしてくれるんだ、左上の高輝度部分が網膜に焼きついた。 昔、縦分割したらスクロールが劇おそだったが、 ずいぶん改善されてるね。 >>88 と思ったが、やっぱり遅い。 mltermがよくないのかな? >>91 screenとフォントにどういう関係が? てか、terminalの制御コマンド体系からして、分割スクロールに明日はないだろう。mlterm2つ並べてscreen -xしたほうがよい。 git最新版でもパッチを当てないtハングするなぁ。 でも、社内の別の人はハングしたことがないといってるし 使い方にコツでもあるのか terminal typeが違うとか。infocmpして比較してみれば? tmuxはutf-8な環境でもステータスに日本語表示出来るね。 tmuxためしてみた。 左右分割でのスクロール速度がぜんぜん違ってさっくさくだな。 キーバインドと起動オプションをscreen互換にしてくれたら 乗り換え考える UTF-8でuim-fep-tickまともに使えてる人いるかな。 或いはtmuxのステータスラインでuim-fepのモード表示 させてる人とか。 tmux、aptitudeとかのcuressで画面制御するアプリケーションで表示が 崩れまくるんだけど、上手く出来ている人、設定教えて。 人に設定を晒させるにはまず自分からということわざがありましてうんぬんかんぬん・・・ デフォからちょっといじって、.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 ってな具合。 108がtmuxのこと何も知らないで、ただ単に>>108 にケチをつけたがっていただけという可能性95% >>107 tmuxはUTF-8における文脈依存な文字幅問題への対応が不十分だから ソース弄らなきゃムリだと思う。オレはscreenのcjkwidthパッチ参考 に直したよ。 tmux は xselection と paste buffer (があるのか知らないが)の自動同期ってできますのん? _,,‐─-v‐、,,、 ,,-‐'": : : : : : : : : : `ヽ /: : : : : : : ,,__ : : : : : : \ r': ,、,,.-─''"゛ ミ : : : : : : : 'i、 `/ / ミ_ : : : : : : :,、} i l _,,..-‐^‐-、 `゙i: : : /l.l| i、}‐-、 ヽ;;/,rェッ;;'" ゙ー' 9iリ! | ',tテi ヽ='" ゞ t' | 'i"´| , -、 ヽ-、,,___ | '}、 !,,tu'" ヽ、 ,l: ‐-‐" }: : : : : } lヽ、__,,,.-‐ヽ /: : : : : : /|: : : : : ,r/ /: : :ヽー‐' ノ: : : : : : : / .|: : : : : /: \ /: : : : : 丶,, -''_: : : : : : / |: : : : : /: : : : :ヽ/: : : : : : : ヾ''‐--‐ヽ |: : : : : /: : : : : : : : : : : : : : : : : : ヽ\: : / |: : : : : [Tmux-Thread De Yale] (1955〜 フランス) bindkey -m って… colon の入力も変換しちゃうの?してるみたいだけど。 コピーモードのテーブルを変更って man にはあるけど、colon もコピーモードなのでしょうか? copy の入力だけ変換できないの? …どうなんでしょうか tscreen も github のscreenも濁点が化ける。 結局cvs版に舞い戻り。 なんでだ。 分かりました。 単純にUTF8-MACのせいのようでした。 これ解決しなさそう・・・。 濁点ならUTF-8-MACというよりNFDのせいのような気がする。 日本としか使わないならEUC-JP いろんな言語を表示したいならISO2022 MACのターミナルソフトが対応しているかは知らん。 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) とメニューにあった。実装的に正確であるかは知らん。 bashとscreenでウィンドウタイトルにコマンド名表示するようにしてますがsuでrootになるとタイトルがsuのまま更新されません。 shelltitle "$ |bash"になってて$を#にするとrootでタイトルが更新されますが そうすると$で終わる一般ユーザで更新されなくなります。 $の時も#の時も更新されるようにできませんか? そもそもウィンドウタイトルなんて見ないんだが。 どんな時に見るの? 何の役に立つの? とは言え、fvwm1.24で日本語だとウィンドウタイトル 化けるのは何とかして欲しいが、とっくに開発は2.xに 移ってるしなぁ。 すげぇな。いまだにfvwm使ってんのか。どんな環境なんだよ。 仕事もせずに設定いじるのに時間使って輪。10年以上前か。 10年時が止まっているスレにでも移りましょう :-P まんが初めて物語 ミンキーモモ ポケットモンスター の脚本家? デスマご苦労さまでちゅ! 仕事がなくてヒマしているPGさんも ご苦労さまでちゅ! 壊れて辞めてしまったPGさんも これまた本当にご苦労さまでちゅた! さて、フロは入ったほうがさっぱりいたしますが、 スレタイどおりと思いませんか? 少し前にも話題が出てましたが、screenのウィンドウ名を実行中のコマンド名にする方法が分かりません。 http://aperiodic.net/screen/titles?DokuWiki=80186b2d88c0b5b254724a18b5647d4b ここを見ながら設定しているのですが、 .screenrcに、 shelltitle "$ | bash" と記述するところまでは分かるのですが、.bashrcの記述方法が理解できません。 例にあるように、export PS1='\[\033k\033\\\]\u@\h:\w\$ ' というのを.barshrcにペーストしても、タイトルはずっと"bash"のままでコマンド名にはなってくれません。 それどころかbashのプロンプトが文字化けっぽくなっておかしなことになってます。 アドバイス頂けないでしょうか。 >>149 すくなくともPS1はプロンプトの形式を指定するための環境変数なので関係ないかと。 リンク先見てみたけど > screenのウィンドウ名を実行中のコマンド名にする とは関係ないように読めるんだけどなぁ。俺の読み間違いかな。 ごめん>< 前半だけしか読んでなかった俺のばかorz tscreen 0.4.9使ってるんだけどvertical splitしたときの帯の色って変更できない? captionやhardstatusで横方向の帯はなんとでもなるのに 縦は~/.Xdefaultsのurxvt.foregroundの色と強制的に同じにってのがなんか歯がゆい。 tmux、全角文字の途中で行の折り返しにかかるとおかしくなるね。 そうなの?うちではtmux-1.1, CVS HEADともダメだったんだが。 下はgnome-terminalとxterm、どちらでも。zshで repeat $((COLUMNS - 5)) echo -n ' '; echo あいうえお とか。これでうの途中に行端がくるのだが、あいまで表示されて 次の行がすぐプロンプトになる。うえおはどこかへ消えてしまう。 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. */ ってとこにひっかかってるような。 試しにその処理をコメントアウトしたらちゃんと表示された。(副作用は知らない) そっか、問題ない環境もあるのか。tmuxが悪いわけじゃないのかな? だけどscreenだとxtermなんかでもちゃんと表示されるしなあ。 おっと、書き込む前にリロードすべきでした。結局puttyでも動いてないのかな。 コードを見る限り UTF-8 だとダメそうなんだけど、157(=159?)の元だと正常に 動作しているんだよなあ。 まあ、BTS につっこんでみてもいいんじゃない? ttp://sourceforge.net/tracker/?func=add&group_id=200378&atid=973262 マルチユーザモードにみんなで入ってて、ウィンドウの操作の c/n/p とかをしたときに 他の人も連れてウィンドウ間を行き来するにはどうしたらいいですか? screen -x だと複数の clientで違う window表示できるけど tmuxだとできない? statusのタイトルは実行中のコマンドよりもカレントディレクトリの方が使いやすい気がする 俺はシェルのプロンプトのときはカレントディレクトリ、 コマンド実行中はそのコマンドにしてる。 precmdとpromptに変更シーケンスを仕込む screenのバックバッファをマウスのホイールで見たいのですが、できますか? OS-X向けの解説に出てくる termcapinfo xterm* ti@:te@ ではうまくいきませんでした。 ターミナルはgnome-terminalを使ってます。 うわぁ… すごく頑張って書いたんだろうけど、痛々しさ以外ほとんど何も伝わらない文章だな あちこちにブログのURL貼りすぎ こういう宣伝厨大嫌い ちょっと環境変数の引き渡し方で質問です。 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の知らない使い方の 工夫でできるのではないかと。。。 >>184 ローカルでも:0.0か:0.1とかあるし ssh X11 forwardingもあるし VNCの中から使うこともあるし けっきょくシェルスクリプトでコマンドランチャを書いて 1. nmap で6000から6020までをポートスキャン 2. 複数候補があるときはプロンプト出してユーザが選択 3. stdinが端末じゃないときは選択できないので最初に見つかったDISPLAYきめうち みたいなことをやっています。 >>184 質問:screenだけでなくshellにも手を入れて現在の端末のDISPLAYを受け継ぐようにしたの? >>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までシグナルが飛んで、そこから逆戻りでシェルに 環境変数突っ込んでくれるようなのがいいのだけど。 >>184 >これだけ枯れてるソフトをいまさら改造というのも変なので、 GNU screenはいまも開発が続いているし、コミュニティにも 活気が戻ってきています。 http://lists.gnu.org/mailman/listinfo/screen-users >>187 emacsからXclientを立ち上げることも多いので、こんな形に落ち着いています。 ただnmapだけではscreen番号がわからないのは欠点ですが、 :0.1は完全にサブディスプレイなので問題になってません。 emacsの中で何でもやろうとする奴って何かある毎に躓いて時間潰すよね マイナーなOS使ってるやつはみんな 何かある毎に躓いて時間潰すだろ >何かある毎に躓いて時間潰すだろ それなんてWindows? ダウト! 何事も無くても、トラブって躓いて時間潰すのがWindows いつのまにかウィンドウフラグに$が含まれるようになってました。 ^Awでウィンドウリストを表示すると 0*$ bash 1$ bash 2-$ bash 3$ bash のようになります。 hardlinestatusにフラグ付きでウィンドウリストを表示してるので $を消したいんですけどどこで設定するんでしょうか。 $なしで表示できてるPCから~/.screenrcや~/.bashrc、~/.bash_profile、/etc/profile、/etc/bashrc、/etc/screenrc あたりをコピーしてきてもだめでした。 フラグ$はそのwindowがloginしていることを意味しているらしい。 deflogin off にすればloginしないので$はつかなくなるな。 loginしたまま、$を表示させない方法は知らん。 あるウィンドウがkillされたとき自動的にremoveを 実行させることってできますか? >>197 ステータスバーの設定がめんどくさくてtmuxはあきらめた. byobu(screen-profile)はありがたい. capture-paneコマンドのおかげで画面上の内容で補完できるようになった > * utf8 improvements. これはどんな感じなのでしょうか tmux1.0のとき表示おかしくて使うのやめた記憶があるけど 1.2を試したら問題ないみたいなので常用することにした。 tmux なら、elinks で utf8 の日本語ページをスクロールしても ゴミが表示されなくて良いな。 >>204 うちでは特に問題ないみたいだが。 >>210 tmuxもここでいいじゃん。次スレたてるときに統合スレにしようず。 これだけ連続してレス付いてんだから30〜40のレスくらい確保出来るだろ tmuxスレ立てろよマジで 自分なんかにはあまり両者の違いが分からないんだけど windowsで使いたいんだけどmsysで使える? それともcygwinじゃないとダメかな? ここら辺のツール使ってるとwindowsのCUI環境はpower shellとか出たけど、まだまだだなぁと思うね 釣りなんだろうけど それはshellの問題じゃなくて コンソール側の問題だからね Teraterm 4.65にバージョンアップしたらscreenと相性が悪くて使えない・・・。 tail -fとかすると改行がひどいことに。誰か解決した人いませんか? >>220 別になんともなく使えてるけど、どうひどくなんの? リモート側のTERMとかシェルは?Tera Term側のTerm typeは? ローカルでscreen常用してて、そこからsshで他のサーバに入ってscreen使うときって、 エスケープキーがかぶらないように設定するもん?それともssh用に違う端末立ち上げて使うべき? 多重起動したときに自動的にエスケープしてくれるとありがてーな >>225 名前は間違って入ってしまっただけなんで無視してくだされ ふだん、screenからsshして2重になってるな。 status line表示してるから、それが2段になってれば エスケープを2度打ちするような条件反射になった。 さすがにscreen3重にして作業することはないな。 >>223 基本的には違う端末使ってる。 切断回避のためだけに screen 起動する場合には、サーバ側で複数ウィンドウを 使う必要がないのでエスケープキーはそのまま。 スレ主のギレン総帥に2世が産まれたそうだ。 screenの英才教育を施して、公国が永遠に続くように願う。 >>219 power shellでscreenライクな機能使えるの? winのserver coreとかただただ、機能が減っただけで使いにくそう。 >>222 レスありがとう。遅くなってすみません。 いったんTeraTermのバージョンを戻したのですが、これを書くために改めてインストールすると 問題は解決していました。一過性かこちらのホスト側の問題だったようです。お騒がせしました。 ちなみに発生した事象ですが、tail -f 中に改行(ENTER)を押すと、通常であればカーソルが TeraTerm画面の左端に移ると思いますが、当時は「40個位のスペースが入った後に ^M」が 表示される状況でした。(わかるかな。。。表現力に乏しくて申し訳ない) なおご質問の環境ですが、シェルはzsh、TERM, Term type共にvt100です。 teratermが変な制御コード食うとよく出る現象 Control -> Reset Terminal で直るよ 現在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のようなものが用意されていることなのですが… 解決法があれば教えていただけませんでしょうか。 よろしくお願い致します。 >>233 > ctrl+Dを使ってscreenを抜け出す癖があり、ctrl+Dを利用した場合は > exitコマンドやlogoutコマンドが直接叩かれているわけではないので んじゃexitコマンドで抜けた場合は期待どおりの動作してるの? レスありがとうございます。 >んじゃexitコマンドで抜けた場合は期待どおりの動作してるの? はい、しています。 bash利用時はctrl+Dで抜けてもexitで抜けてもlogoutで抜けても .bash_logoutが実行されるみたいなんです。 また、screen利用時でも alias exit='bash $HOME/.bash_logout;exit' のようなものを.bashrcにでも書いておくことで、exitを叩いたときに .bash_logoutが一応実行されます。 引き続きよろしくお願い致します。 alias screen='screen;exit' レスありがとうございます。 >>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)を通ったときはこれまで私が行っていた設定と同じ挙動なので問題ありません。 お手数をおかけしますが、アドバイスの程よろしくお願い致します。 ~/.screenrc には何が書いてある? (ココんとこ重要) レスありがとうございます。 .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 よろしくお願い致します。 直接問題解決にはならないが .screenrcに scrollbackを書いても無視されるはず (一瞬エラーメッセージが出てないか?) defscrollbackにすべし 「ログインできず」とは具体的にどんな振る舞い? レスありがとうございます。 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が大量に呼ばれてしまってるのでしょうか…(?) 引き続きお願い致します。 exec screen bash -l の代わりに exec screen bash --login --noprofile ってやってみたら? レスありがとうございます。 exec screen bash --login --noprofile に変えてみたところ、ログアウト時の.bash_logout動作を確認できました。 しかし、--noprofileオプションであるが故に.bashrc等が読まれませんorz .bashrcが悪いのかと思い、.bashrcをリネームした後に exec screen bash -l で試してみましたが、こちらも状況変わらずログインできませんでした。 何度も申し訳ありませんが、よろしくお願い致します。 !?? 連投すみません。.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が呼ばれていて落ちていたということなのでしょうか。 この度は数々のアドバイスありがとうございました。 >>233 です。 すみません、どうしても後1点だけお聞きしたいことがあります。 .bash_profile内でexec screenにてscreenを起動すると、 Last login: Tue Apr 27 18:58:15 2010 from hoge.jp 等のログインメッセージがターミナル上には(実質)表示されないことになってしまうと思います。 これを表示させる方法はあるでしょうか? ログインメッセージをファイルに書き出しておいて、それを.bashrcでcatするぐらいしかないでしょうか。 立て続けに申し訳ありませんが、アドバイスを頂けると幸いです。 last $USER | sed -n '2p' で勘弁してくれ レスありがとうございます。 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以外にもログインメッセージとして表示されるものがあるんです;; > bashログイン後にscreenを立ち上げると、psでプロセスを見たときに > シェルのプロセス(?)が複数立ち上がってしまうことが嫌 ま、この手のキテレツな美意識に共感できる人はこのスレには少ないだろうから これ以上の助言は出てこないかも知れん screen使ってたらshellのプロセスが多数存在するのが普通だからね つーかshellプロセスががひとつだけの状態でscreen使っても喜び少ない がんばって独りで修羅の道を貫いてくれ ツリー表示した時に一段深くなるのがいやってことかもよ psはいいけどログインが2重にカウントされるのがいやです 解決策はありますか>< hardcopy 使ったときに文字化けするのってFAQ? patchどこかにある? rxvt-unicodeで利用してるんですが、HS行のみ文字化けしてしまいます。 terminfoでKJにjisを指定するとHS行の文字化けは無くなりますが、今度 は端末文字が化けてしまいます。HS行に%Dで曜日を漢字で表示したいので すが、どのように設定すればいいでしょう? >>255 つ git clone git://git.savannah.gnu.org/screen.git MacOSX上のscreenとATOKの話なのでスレ違いかもしれませんが質問させてください。 hardstatus に時間の表示をさせると、時間が変わるタイミングで日本IMで入力中の 文字列がクリアされるのですが、これを避ける方法ってないですか? >>257 それってTerminal.appお使いの時ですよね?iTermだとクリアされませんよ。 Terminal.appだと16色表示しかできなくて不便なことが多いので、同じ問題に遭遇してiTermに乗り換えました。お試しあれ。 >>258 たしかに iTerm だとクリアされないですね。 でも、Visor から離れられないので、何とか Terminal.app での解決を探したいんですよね……。 ガッ _, ,_ _, ,_ガッ♪ ガッ _, ,_ ( ・д・)(・д・ ) _, ,_ガッ♪ ( ・д・)☆ミ⊂ ⊃彡☆(・д・ ) ⊂彡☆))゚△´*)>>259 ☆ミ⊃ガッ♪ , ,∩彡☆ ☆ミ∩, , ( ) ガッ ( ) ガッ ガッ♪ tmuxなんてあったのか、いいなぁ screenはredhatとかお堅いのにも入ってるのが有り難いんだけど tmuxはまだ時間がかかるか・・・ screen単独起動時に端末アプリの上にあるアプリタイトルバーが「screen」という文字に 上書きされてしまうんだけど何でだろう。hardstatus alwayslastlineにしてるから アプリのタイトルバーには出力されないはずだと思ったけど、理解が間違ってる? 端末はputtyなんだけどこれのせいかな tmuxってlibeventのバージョン最新じゃないと使えない? libevent1.4ってかいてあるから、そうなんじゃないの。 あと、tmuxのスレあるよ。 >>265 CentOS5でyumで1.4.13-1に上げたんだけど駄目で、 自分で1.4.14bを落としてきて入れたらコンパイルできたんで アルェーっと思った次第 つかtmuxスレあったんだ、スマン 見えないから何かと思ったら「CentOS」の文字列が含まれてるのか。 うざいからNGワードにしてるよ。 hardstatusでタイトルにカレントディレクトリ含めてる人多いと思うけど ウィンドウ数が多すぎたり、同じ名前だったりすると混乱しない? hardstatusを最下行の1ラインではなく、リージョン1つに丸々割り当ててしまって 縦にリスト表示できたりしたら便利なんだが >>272 ウインドウ数が多い場合はウィンドウ番号で分けるのも一つの手。 デフォルトのコンパイルオプションだと40まで割りふれるはず。 常に表示される訳じゃないけど、:windowlist の一覧では物足りない? screenを10個ぐらい起動したらかなり重くなった topで見てもメモリもCPUも全然余裕なのに なんでじゃろ 10000だけど、別に普通だよね てか、今もう一度試したら大丈夫だった 時間経過で変わるんだろうか・・・うーむ分からん C-Iのウィンドウ移動って横分割・縦分割の区別なく作った順に移動するけど、 区別して移動することってできませんか? 例えばC-Iは横分割のみの移動、C-Uは縦分割のみ、って設定できるといいんですが。 >>278 tmuxならできるんですか。前に使ってみたけどイマイチ慣れなくてやめちゃったんだよなぁ。。。 もう一度やってみようかしら >>277 tmuxだとselect-paneコマンドの-D/L/R/Uで移動方向を指定できる。 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じゃないオプションがありそうなんだけど見つからず・・・。 >>282 zombieとかdefzombieあたりを設定するとなんとかなるかもしれない .>>283 thx! やってみたら思い通りにならなかったけどもうちょっと調べてみる!! bind ^h xxx と設定したのに何故か^hが効かない クマッタ(´・(ェ)・`) git版でそうなる。4.00.03とか古いのだと問題なし・・・ >>287 stty eraseかな?<undef>にしても変わらんかった もうめんどくなってキーバインドごと変えてしまった Windows から Mac に変えたんだけど、キーボードの右Ctrlキーが無くて困ってる。 escape に Mac の Command キーを割り当てる方法ってあるのかな? KeyRemap4MacBook (という名前だけどiMacでも使えてた) に Remap Escape Key > Escape to Command_L という項目があるのは見つけた。 Page Up キーを押したら、copy モードで1ページスクロールアップして欲しいのですが、 これを実現するには設定ファイルにどう記述すれば良いですか? >>291 page upをターミナルエミュレータがフックしてたら無理だな ウィンドウをいくつか開いてる状態で、あるウィンドウを任意の場所(例えば左端とか)に移動させる事って出来ないのかな? きっとお求めの機能と違うと思うけど、number じゃだめ? コピーモードではキーの移動とかがvi的になりますが、この操作についてのキーバインド設定はできますか? (できれば自分の.vimrcを読ませられれば便利なんですが、さすがに無理ですか?) OS X 10.6 でscreen(Ver 4.00.03)使ってるんですが、 hardsstatusに[%m/%d %02c:%s]を入れて日時を表示させるようにしたら、 日本語を入力できなくなったんですが回避策ってありますか? 秒の数字が変わるたびに、未確定の日本語が全部クリアされてしまいます。 captionはフォーカスがあるやつだけ表示、hardstatusは全部表示って人多いと思うけど 長く設定したらhardstatusが詰まるし、短くしたらcaptionがスカスカになるんだよなぁ。 タイトルが両者共有なのが原因なわけだけど、なんか上手い方法ないものか・・・。 別所に誤爆してしまった リモートAから他のリモートBにssh接続するときにリモートAに接続するときの鍵でリモートBに接続したいと思っています。 これはagent forwardingの話だと思うのですが、 puttyでリモートAで接続したときに接続時にscreenを立ち上げるようにするとagent forwardingができません。 screenを立ち上げずに接続した場合は、リモートBに接続できることを確認しました。 ssh-add -lするとやはりscreenなしで接続した場合はちゃんと鍵の情報が追加されており、 screenの場合は追加されていません。 上手いことヤル方法はないでしょうか? リモートBにリモートAに接続するときの鍵を追加する macportsのtmuxにある,+screenってどういう効果? >>299 echo $SSH_AUTH_SOCKしてからscreenにはいってsetenvする。 screen使ってるとマシンの電源が落ちても大丈夫、みたいな錯覚に陥りがちだなw 間違えてシャットダウンしちゃって、一瞬「危ねーセフセフ」って思ったあと「いや駄目じゃんorz」って気づいたり 俺だけかw ありがと 試してみる 環境変数がわたらない問題なのか バックスペースをバインドするときって bind ^? で合ってますか? 何故か効かないのですが。 >>307 ありがとうございます。^HにするとCtrl-Hで効いてくれました。 ただ、Backspaceキー自体は何のキーコードで効いてくれるんでしょうか? screen以外では普通に効きますし、xevで調べてるとちゃんとkeycode 22 として認識されていました。キーカスタマイズなどはしていません。 ググってみたところ、どうもscreenのCtrl-hには色々と面倒なことがあるようで Debianだと bindkey -k kb stuff "\177" を付ける付けないといったtipsがあるようです。 >>308 バックスペース押しても消えないっていう状態でよい? stty erase バックスペース押す エンター押す escapeのため^Q とか ^V いらないんだっけ? >>309 はい。 stty eraseを ^? と ^h 、screenのbindを ^? と ^h、キーボード入力を Ctrl-h と Ctrl-BS と全ての組み合わせを試してみましたが、全てにおいてCtrl-BSが効きませんでした。 環境ですが、WindowsXP 32bit からPuTTY 0.60 ごった煮版で CentOS 5.3 64bit にsshしています。 screenのせいではないかもしれないので、他の環境でも試してみます。 ありがとうございました。 全てにおいてCtrl-BSが効きませんでした う? PC-98のキーボードだと^hだけど、SUN type4キーボードだと^? 発生するんだよなぁ。 ctrl-BS を端末エミュレータがどんな文字列に変換するかによるね 一般的解 そんな変態コンビネーションは使わないに限る 先のCentOSをローカルから使うと、今度はCtrl-hが効きませんでした。 ああもう訳が分からない・・・。 >>311 PuTTYだったらバックスペースのコードを選択するオプションがあるでしょ DELとかBSとかの仕様は正直よくわからん 読む気がせんわ リソースモニターが一望できない欠点があるけどネタになるかな? 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リソースとかが流れちゃうのは気持ち悪いちゅーのはあるが… >>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 >${exec echo "\005{= Bw}"}等と送ってやればscreen側で認識してくれる うわー、さすが2chこんな手あったんですね。 色も付くなら、もうbyobuいらんね〜。 あれもこれもでhardstatusがいっぱい、タイトル表示するスペースが無い。 正攻法はscreenを改造して、そういう設定が簡易にできるようにすることかな。 procmail捨て捨てしてmaildropが出来たという感じで。 うちの環境だとconkyで${exec echo "\005{= Bw}"としてもそのまま文字列になっちゃう。 試しにbacktick 0 0 0 echo "\005{= Bw}" と直線やると巧くいく。 どっちの問題かようわからん?? 個人用途ならそれでもいいかも知れんけど、ノウハウにすらならなくね? ああでもちゃんとコミットするならそれでいいか。パッチ公開とかforkとか残念な結果にしかならないよな。 元から、お手製スクリプトで色々出来た部分を、汎用性の高いconkyで置き換えられるって話だから、 副次的なバグでもあれば別だけどscreen側をどうこうってのは違うんじゃないかな? リソースなんてそんな表示させておきたいもんかね? 個人的にはゴテゴテしてんのはあんま好きじゃないな >>331 感謝、echo -e で出来た。 シェルの問題なのね。 そもそもscreenがバッドノウハウの集合体じゃね バッドノウハウであることを喜々として言うやつには虫酸が走る ローカルの screen からリモートの screen に接続することってできるんでしょうか。 今は、ローカルの screen をデタッチして、リモートに ssh で接続し、リモートの screen にアタッチしてます。 (screen内でsshしてリモートのシェルからアタッチするだけじゃ)いかんのか? >>339 それだと screen が2重になりませんか? >>341 ローカルで screen 開いている端末とは別に端末を開いて、そこから ssh してリモートで screen ということで理解しました。 慣れてないのでまだしっくりこないですが、しばらくこれで運用してみます。 ありがとうございました。 screen2重だと、慣れてるので操作自体に困らないな。 リモートはエスケープの2回押しするように指が覚えたらしい。 3重になると途端にわけわかになるけど。 screen2重って使ってる人多いのか すげえな俺には無理 2重どころではない人の例 ttp://shyouhei.tumblr.com/post/313410522/screenrc いやそういう表示のための多重化じゃなくて 普通の端末操作として多重のscreenを使うという話でしょ screen使ってて間違って違う鯖をシャットダウンした経験は誰でもあるはず screenのせいにするなよ! リモートからログインできればscreen関係なしにそんなこと誰だって一回はやるだろ! シャットダウン自体をめったにしないからとか? 俺はそうなので、違う鯖をシャットダウンした!なんてことはないなぁ。 シャットダウンするときはマシンの電源をいじれる場所に行くから だな ホスト名をプロンプトに表示してるし、トラブル時を除いて遠隔からの リブート自体基本的にやらないから、そういうので焦ったことは無いかも。 計画的に電源落とす時はシリアルケーブル繋いでやるし。 VMWareなんかでテスト環境で遊んでる時位だな、リブート頻繁ってのは サーバーラックの後ろに廻って シャットダウンした鯖の電源ケーブル抜いたつもりが 違う鯖だったので焦ったことはある そもそも鯖室って、照明暗いのに、電源ケーブル黒いし、最近は 黒い筐体が流行で困る。 後ろのファンのところにリボン付けて、 動いてるかどうかを見るのが良いらしい。 サーバー用鯉のぼりとか出すと売れるかもしれないな。 サーバメーカは5文字くらい表示制御できる液晶を前後の蓋に 付けて欲しいよな。そんで起動時にhostname>/dev/namelabelすると そこに表示されるの。 HPサーバについてるランプはそんな目的なのかな iLO2経由で制御できる たしか前面にしかなかったけど そんな目的の機構は結構各メーカーにあるね。 サーバ単位で同定するためのとかHDD単位で同定するとか RAIDのHDD取り違え事件はかなりヤバイ マシンの電源ケーブル間違えて引っこ抜く方がまだましな位 >>362 鯉幟よりも鯖幟で売り出した方が売れるかな putty+screenで termcapinfo xterm* ti@:te@ と設定したのですがスクロールが出来ません 何か他に設定があるんでしょうか? debian etchのパッケージを使ってたんですが、screen上でmuttの表示が崩れるのを直したくて でかいのネットさんの非公式パッチを頂いてソースからビルドしてみたのですが どうも表示の崩れが直らず、試行錯誤していたところ、どうも defbce "on" をすると崩れなくなる ようでした。本家Gitの最新ソースでも、やはり同じ結果でした。 みなさんそういう感じでしょうか? それとも何か自分おかしなことしてそうでしょうか? screen頻繁に使っている人がいそうなので質問させてください こちらの方は、GUIやブラウザの重さに飽き飽きしてきました。 なるべくCUIで快適にすごしたいのですが、みなさんはどのように画面を構成しているのでしょうか? おすすめな環境構築の方法を教えてください。 主にWindowsからUnix機へ繋いで繋いで使うことも多いのですがさんこうにならないかと 日本語入力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 でいきたいけどダメかなこれ。 ダメですかね。まーいいか。いやあまりよくない。 なんで「あ」なの? 日本語モードで A をタイプインしたら普通「ち」だろう >>373 bind a eval 'paste .' とか >>374 普通ローマ字入力だろう、と思っていたが。 カナキー入力とか azik より少数だと思ってましたよ。 >>375 それ paste . と同じじゃないです? わざわざ書くからには違うのか。からくりが解らん。 ギレン総帥は、カナタイパー。 俺もカナタイパーだから分かるw 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 で実行できない原因は何が考えられるでしょうか? screen `which hoge` ならどうですか? zshの内部コマンドだったってオチとか? >>379 screen `which hoge` だとちゃんと実行できました (which hoge がフルパスを返すので当たり前かもしれませんが) zsh の内部コマンドではなく自作のpythonスクリプトで パーミッション755にして実行可能になってます >>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 できるようにしたいのですが、 何かわかる方いれば助言をお願いします。 方法1 素直にログインシェルをzshにする 何らかの理由でそれができないなら 方法2 .bashrcにPATHを設定するスクリプトを書く 回避策としてはそれだろうねぇ。 なんでbashが起動してるのかわからないけど。 なんでって ログインシェルが/bin/bashだからでしょ? > ~/.screenrc には shell zsh と書いてます。 > bash から screen を起動すると zsh が立ち上がります じゃあこの挙動が不正ってこと? .bashrcに exec /path/to/zsh って書いとけよ >>382 >端末の起動には、mintty.exe -e screen -xRR のショートカットを作成し cygwin は詳しくないんだけど、おそらくそれだと zsh の環境変数が screen 本体に継承されてないので、 screen -X setenv PATH "$HOME/bin:$PATH" してみたら? 自分でも試してみようと久々に screen をインストールしていざ起動したら「$TERM too long - sorry.」 とか出るし。もういいや。 >>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 のプロセスは残らないんですがどこ行ったんでしょ? ともかく原因と対処法はわかりましたのでありがとうございました。 >>389 SHELL=/bin/zsh みたいな環境変数セットすればいい ・utf-8 ・ambiguous widthは2 ・↑の設定のhogeterm + screen上でdialog等の罫線表示が崩れない これを実現できる設定教えて欲しい。 実現できるなら端末エミュはなんでもいい。 ・euc-jpにする ・ambiguous widthは1で我慢 ・罫線表示するようなコマンド打つ前にset TERM=vt100 などの回避策はなしで。 誰も答えられないようなら 「いや〜screen内で全部済むからw」 とか言う奴を見かけたら次から心の底でバカにすることにする。 >>391 その3つの条件だけなら、terminfoいじればいいよ。好きな端末を起動してこ のコマンドを実行しておくだけ。 $ infocmp | sed 's/[a-z]*acs[a-z]*=[^,]*,//' > /tmp/tmp $ tic /tmp/tmp だれもが通る道だ そしてascii表示でお茶を濁す。この人とか ttp://d.hatena.ne.jp/niha/20090130 んん? その人がしてるのはmltermにせっかく1カラムのDEC特殊文字で 表示してくれる機能あるのにscreenが間に入ると先に処理されて mltermの機能が生かせないって話だ とりあえず mlterm+screen+w3m で折り合ってくれている現状で満足だ 深入りすると腹が立ってくる infoの出力箇所をかえることはできますか? 4.1だとステータスラインにでてくれるけど4.0.3だとウィンドウのタイトルバーにでてくるのでいつも見失う コピーモードで一旦スペース押してマークして、 でもやっぱやめたくてマークをキャンセルするキーってありますか? >>399 なさそうだけどx(マークとカーソルの入れ替え)で対処できる。 >>400 なるほど! xは押してみたけど一見してダメだと思い込んでました。 ありがとう! 質問させてください detachして再接続をするとウインドウの分割した状態が復元されません 公式のFAQを見るとウインドウの復元は基本的にできない、もしやるならscreenをネストするとありました 普段ウインドウを分割している方はどのようにセッションを復元されていますか? Screen version 4.00.03です screenの中からX clientを起動したときに 外のDISPLAYに接続できるようにするスクリプトをかいてみたです。 screenの中のemacsからでもいけます。 hg clone https://koie@bitbucket.org/koie/screenx 今osxのiTerm2で使っているのですが ctrl-tabで次のscreenに移動するのが実現できません。 どなたかosxでやっているかたいませんでしょうか? いちおう.screenrcには他のOSでもやっているとおりで bindkey "^[[1;5I" next bindkey "^[[1;6I" prev と書いているのですが sshで外からwindowsのminttyでmacにつなぐと うまくいくので.screenrcではなく iTerm2の設定の問題だと思うのですが vis の入力で ctrl-tab 打ってみれば? osx に vis あるかしらんけど。 OSXにも vis あるよ NAME vis -- display non-printable characters in a visual format SYNOPSIS vis [-cbflnostw] [-F foldwidth] [file ...] でもiTerm2の問題だと思うならMac板のUNIX系スレのが良いのでは >408 を理解できない人になにをいっても無駄でしょ 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 パッチがありがたいです) 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 でも変わります。 どうやら screen の exec 終了時に SIGHUP が送られているようです。 xsel は background process になるので、すぐに exec が終わり SIGHUP 発行となっているようす。 なので nohup を使って以下のようにすることで、問題は解消しました。 screen -X exec sh -c "nohup xsel -i < ~/.screen_exchange &>/dev/null" # nohup 使いにくい。nohup.out 作ったり、その旨のメッセージを出したりしなくていいのに。 何も案を出せずにごめん、そして解決方法を書いてくれてありがとう >>417 自分自身でforkするプロセスはwaitできないよ(笑) >>415 xsel -n で、forkしないようにできるけど。 あと、nohupの代わりに trap '' 1 で HUP無視する方法も。 >>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 書かなくていいし多分速いけど。 どのnohup/trap使ってる? 内部/外部? tcshの内部nohupを使えば解決するような希ガスんだが、どうしてもzsh使いたいの? 別にそんなことはありません。 nohup は /usr/bin/nohup です。 trap は sh というか bash です。済みません、まぎらわしいですね。linux です。 zsh は試しに使いましたが、screen に渡しているのは bash です。 # nohup 使う方法も zsh から呼ぶとなぜかうまく動かなかったし、 # 適当に試しただけですが、&! も setopt nohup もうまく動かず、disown はちょっと違うので、 # 結局 zsh は採用していません。 その builtin nohup は正に期待するもののようですが、 今は csh/tcsh を入れていないので残念ながら &>/dev/null しときます。 ウインドウを新規作成した時 ホームディレクトリじゃなくて、 作成元のディレクトリをカレントディレクトリにしたいのですが どうすればいいですか? シェルから screen と入力してウィンドウを新規作成すると 起動元のシェルのカレントディレクトリが引き継がれるよ >>424 ほんとだっ こんなに簡単に実現できるとは ありがとうございました 各windowのカレントディレクトリのリストを確認したいのですが どうすればできますか? whoコマンドかwコマンドでscreenから起動されてるttyを調べて /procファイルシステムを舐めてカレントディレクトリを調べる スクリプトを書けば不可能ではなさそう screen使うと、viとか起動/終了した時に画面が戻らないんですけど、 普通のxtermと同じように画面を復帰するようにできませんか? TERMINFO/TERMCAPのscreen端末設定を修正すればできるよ $ man terminfo >>429 それはすでにやりましたが、直りません。 「man hoge」の回答者って確認せずに回答する人多いですよね。 そりゃ環境もやったことも書かないような間抜けにはそういう回答しかできないのでは >>431 横レスだが、環境問わずscreenではそもそも >>428 の設定は不可能なのだが、 可能かのように知ったか回答してる >>429 が間抜けかと。 >>435 できました!!ありがとう!!! ちなみにterminfoの設定は元に戻しました(笑) 横レスだが、環境によってはできるにもかかわらず、環境に問わず不可能だという回答をする人は… 横レスだが、環境問わず TERMINFO/TERMCAPのscreen端末設定では設定不可能だよw vim上でHomeやファンクションキーが効かないので、 .screenrcで term xterm と元のTERMを書いちゃったんですが、これって正しい使い方ですか? そもそもなんでscreenを起動するとTERM=screenになるのか 意義がわからないのですが。 >>441 screen自身がエスケープシーケンス解釈するから、アプリケーションから screenの知らないエスケープシーケンスが飛んでくることを避けるために TERM=screenにしてるんだよ term xtermと書くのって普通ですか? それともファンクションキーとかを使うのはあきらめる? 色々調べた結果、~/.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の知らないエスケープシーケンスが という問題はなくなるかと。 >>184 の問題って今どうなってるの? あんまりみんな気にしてないのかな >>445 tmuxだと環境変数を自動で設定してくれるみたい。 screenだとvncのなかでscreenを起動して Xは全部vncに表示するのが一番簡単・無難かと。 detachしてもXは生きたままにできるし、遅い回線でも使い物になる。 ただvncだとscreenとXが同じマシンのときに遅さが気になるので screenxというのをつくってつかっています。 >>446 >tmuxだと環境変数を自動で設定してくれるみたい。 マジですか どういう仕組みでやってんだろ >>447 すまん、やりたいことが すでに起動しているshの環境変数を書き換えることならNoだわ。 あたらしいwindowを開いたときに、そのときの環境変数が設定されるだけ。 コピーモードから抜けるとき一瞬もたつく感じしない? とくにコピーしてから抜けるときは 設定いじればもう少し早くなるんだろうか layout newでレイアウト情報が作成されるらしいけど、どこのファイルに書いているの? それって colon から打つの? >>449 特にしません。 >>441 TERM=xterm だと xterm の制御シーケンスを扱えない端末からマルチディスプレイモードで アタッチした時に困ったことになる。マルチディスプレイモードじゃなくても。 または、端末より screen が認識する(かつ screen のみでなんとかなる) 制御シーケンスの方が多いというケースも理由としてありえるな。 >>445 うーん… tty の入力監視 wrapper から screen を起動する。 wrapper では入力検知時に pid を file などに書く。 zsh の preexec とかで pid から環境変数を取り込む。 みたいな? >>451 そうっす。prefixの後に :layout new もしかして/tmpに作られてんのかな man screen になかったけど開発版の機能か。 それ内部的に作られてるだけなんじゃない? >>453 一回どっかのscreenで:layout newすれば、その後に別のセッションを新規に作っても そこでもレイアウトは有効になってるんで、どこかに書いてるのかと思うんだけど・・・ 違う端末でも、じゃなくて違うセッションでも共有してるの? 古い記述だけど ttp://yudai.arielworks.com/memo/2008/11/08/184006 には ファイルに書かれないとあるね。今はあるかもしれないけど。 セッション間共有なら screen として特別なファイルはなくてもできるだろうし、 強いていうならソケットディレクトリ内のソケットがそれにあたるかな。 LANG=C man screen 保存したければlayout dump使えって なんだ man にあるんかい。 開発版っていってもそんな新しい機能じゃないからあるか。 開発版じゃない方には当然書いてないけど。 昔 sudo のパスワード不要期間って window 間で共有してた気がするけど、 今は端末毎に制御しているのか window 毎に管理されてるよね。 端末毎は別の方がいいと思うけど、screen のセッション内で 分けてもあまり意味がない気がする。 でもさくっと screen のセッション内で共有するのはならないか。設定とかで。 端末毎の別管理をやめるとかなら sudo の設定であるかもしれないけど。 >>458 sudoの作りは知らんけど、端末上で実行するプログラムから見ると、普通は screenの別windowと端末の別ウインドウは区別できないからね。 >>458 window間じゃなくて、ホスト内で共通のticket timeoutだったんじゃないの? (screen内に暮らしていると、どっちも同じ事ではあるんだけども) sudoers(5)のtty_ticketsがoff。要するにsudo(8)の話題。 うんそう。書き方が悪かったね。window 間共有は本質として書いた訳じゃない。 tty_tickets の設定か。thx. で言いたかったのは screen 内では端末毎に分けてもあまり意味ないし STY あたりで分けてるといいかなー(環境変数を使う訳にはいかないだろうけど)という screen user の勝手な考え、だったんだけど… よく考えたら screen 内で sudo 使ったんなら外からアタッチできるんだし、 突き詰めると端末、セッションで分けても意味ないね。 # 突き詰めなければ少しは意味あるか。STY あったらそれで分けるとかで。 いつも screen 内なら tty_tickets off でいいのかもな。 つーか俺は常にオフ。 sudoの仕様が変わった時から。 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 screen縦分割ってそろそろ標準になった? まだ? 後、分割を1つのセッションにしてC-a nで別セッションでは一画面、更に別のセッションでは横分割みたいにしたいんだが まだかね? 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 >>463 putty(ssh client)側の環境変数LANGとかLC_*とかの設定じゃないのか? >>466 亀レスに亀レスなんだけどありがとう。今試したらばっちり問題解決されますた! screen内で新規作成されたセッションのシェルって、最初にそのscreenを作ったときの環境変数とかを引き継いだりしますか? それとも純粋なログインシェルとして処理されますか? >>469 env HOGe=hoge screenで起動してみたら、引き継がれるっぽいね。 >>470 ありがとうございます。どうもそうみたいですね。 何個もセッションがある状態で.zshenvや.zshrcを書き換えると、全セッションを落として screenを作り直すのがすごい億劫になってしまいますね。 screenを起動したマシンでssh-agentを起動するのをつい忘れて、 手元のマシンからのagent forwardingでscreenを起動してしまうと $SSH_AUTH_SOCK的な意味ですごく億劫になる。 ssh-agentやdisplayをどうするかというのは悩ましいところだよね 最近はめんどくなって、ログインするホスト全部に鍵(しかもパスフレーズなし)を置いちゃってるし… ホームディレクトリを共通化したらssh楽になったYO! sshを受けるgatewayでscreenをたてっぱで楽ちんだYO! セッション内で何個もウィンドウを立ち上げたまま長期間使い続けてると セッションが死ぬことがある いまいち再現性がなくて厄介だわ >>477 zshなんだけどTMOUTはセットされてなかった 長期間というのは2,3週間くらいかな いちおう環境晒すとCentOS6.2、zsh 5.0.2、screen 4.01.00dev >>478 ゴミファイルを消すcronのスクリプトが、 screen用のソケットファイルを古いと思って消してしまってるとか? >>479 cronは自分ではいじってないんだけど、デフォでそんな設定になってるっけ? あとで確認してみます てか、screenが死ぬなんてのはやはりレアなことなのか… 調べたら普通にcronで/tmp以下を削除するtmpwatchの設定がされてた。 てか、/tmpを掃除するのがcronの仕事だと今頃知った・・・ でも最終アクセス日時から10日以上が対象だから、screenソケットファイルは まず対象にならないはずだけど、いちおうチェックしてみます。 少し長いですが質問いたします。 [prefix] Ctrl-H を prev に設定しているんですが、ローカル(Fedora Linuxとか)でxtermを 立ち上げる場合もあれば、Winodwsからputtyで接続したり、あるいはVNCでログインして xtermを立ち上げる場合もあります。 しかもWinodwsではyamyというキーバインドソフトで常時Ctrl-HをBackspaceにしています。 こういう状況で、設定をいじったりしているうちにprevが効かなくなって困ることがあるのですが、 この手のトラブルはどういう風に調べて解決していけばいいですか? あと、このような複数の接続方法に共通の.screenrcを使うのはそもそも推奨されないことですか? # screenrcは他人のをパクったレベルの人間なので、キーコードとかtermcapとかの仕組みは 何度調べても理解できず、自分的に鬼門になっています・・・。 あ、もちろんyamyをオフにしておくというのは試しています。が、不思議なことに [prefix] Ctrl-H の効き具合に影響があったことはないです。 BS(0x08)とDEL(0x7F)を交換してるやつがどこかに潜んでいるんじゃないの? Linuxの端末エミュレータにはこの手の余計な世話するのがいるよ [prefix] DEL も prev に設定しておけばよい >>484 レスありがとうございます。 .screenrcで bind ^? prev と書けばいいのかな、と思ったら駄目でした。 実際にどんなキーコードがscreenへ送られているのか調べる方法があればなぁ・・・ Ctrl+v → BS とか Ctrl+v → DEL とかそんなん。 GNOME端末のプロファイル設定でBSキーのコードがASCII DELになっていたのを Ctrl-Hに変えると解決しました。Ctrl-v もちゃんと ^? から ^H に変わってました。 でも、今までシェルとかでは普通にバックスペースの動作になったんですよね。 シェルが^?も^HもBSとして解釈してるからかな?いまいちよく分からんです。 というわけで皆様お騒がせしました。ありがとうございました。 今動かしてるshを、screenで拾いたいんだけど どうしたらできるかな reptyr使えばできるよ linuxしか無理だけどね grepの実行結果が、端末の一番右端の文字が「.」だとスペースに置き換わってしまうんだけど、何故だろう screenじゃない素の端末だとそんなことないんだけど どうも端末がGnome terminalで、grepにオプション--colorを付けてるときに起きるみたい screenと端末って相性みたいなのあるんですかね? >>498 screen/Tmuxをカスタマイズをしなくても便利に使える感じかな hardstatus のアクティブウィンドウ前後のウィンドウって %-w や %+w でしか指定できなくて、 パターンも「%n %t」で固定されちゃってるけど、細かく設定できるようにならんのかなぁ screenしか使ったことないんだけどtmuxやbyobuだったらできたりする? screen-4.2.1が出たらしい http://ftp.gnu.org/gnu/screen/ Debianパッチの反映かな? 最近サイド3から 2ch.netに書き込めなくなった いまフォンブラウン市から書き込んでる 一つ前に copy したものを paste することってできませんか? (Emacsでいうキルリングの C-y M-m みたいに) 間違えました、C-y M-m ではなく C-y M-y でした splitで画面を分割してるときにマウスホイールでスクロールさせることは可能ですか? すでに起動しているシェルを あとからscreenに取り込みたい けど、そんなことできないよね? Linuxならreptyr使えるんじゃない? 使ったことないけど。 screen上だとnmonがうまく表示されん まぁglancesとか他の使えばいいか >>509 > 次スレから端末多重接続総合スレにしない? screen と tmux派でケンカ始めたりしない? > 端末多重接続 日本語に無理矢理直してる感が酷いな スクリーンマルチプレクサでいいじゃねーか 実質screenとtmuxだけなんだからscreen/tmuxでいいだろ まあ次スレが必要になるのは5年後だがな 5年後か・・・ さすがに2chがどうなってるか分からんな screenは保護されるべきだ。 いまだにK&R C形式でソースコードで書かれてて 実際に使われてるアプリって少ないぞ。 >>517 vimのことか? screenもvimもグローバル変数が山盛りで、自分みたいな素人は読むのが大変 3/3以降、このスレもopen2chに移転するの? GNU Screen上でemacs-evilを使うときに .screenrcにmaptimeoutを設定し、 $ emacsclient -nw text.txt で立ち上げるとEscは正常に機能するんですが、 $ emacsclient text.txt では正常に動きません。 なにか解決策はありませんでしょうか。 コマンドの出力が長すぎてページがスクロールしてしまう場合に自動的にlessみたいに ページングすることってscreenやtmuxでできないのかね? どんなコマンドを実行したときも出力量に応じて自動的にページングするようにしたい screenだとバックスクロールは基本的にcopyモードでしかできないので 多分無理。tmuxはわからない。 screenが擬似端末から読み込んだデータを実端末に書き込むときに、 ・短時間内に端末サイズ以上の行数を書き込んだ ・書き込む文字列にはカーソルを移動するようなエスケープシーケンスは含まれていない ならポーズするという感じか。 完璧な解は無理なのかな。 それってコマンド打つたびにパイプで | richpager としないといけないんじゃない? それならそこにも書いてある通りless -Fでいつもやってる($LESS="-iFMXR -j10"と設定している)。 パイプしないでも自動的にページングしてほしい。 シェルで全てのコマンドに対して自動でパイプするようにするとvimとか端末を使うアプリが困るし。 自動ページングというのはscreen(または端末ドライバ)のような端末そのものが持っているのが ふさわしい場所じゃないだろうか。 ちなみにlessでもシンタックスハイライトとかは$LESSOPENで実現できる。 誰か altscreen on の時に一番下の行を一番上の行に出力って誰か出来ませんか ? 例えば editor viewer filer でも一番下が行数等の出力先なので一括して変更出来ますし 端末の方いじった方がいいのかな..とも思うけど screenでやった方が便利だしやっぱりscreenいじりたい 別の話だけど SetRendition, SetRenditionMline に文字判定で色いれると良い foreGround の色指定されてない時だけ判定 お勧めは 記号種類別(例えば' 誰か altscreen on の時に一番下の行を一番上の行に出力って誰か出来ませんか ? 例えば editor viewer filer でも一番下が行数等の出力先なので一括して変更出来ますし 端末の方いじった方がいいのかな..とも思うけど screenでやった方が便利だしやっぱりscreenいじりたい 別の話だけど SetRendition, SetRenditionMline に文字判定で色いれると良い foreGround の色指定されてない時だけ判定 お勧めは 記号種類別(例えば”’は同じ使われ方が多いから同じ色)、数字、 カタカナ、ひらがな、その他の言語や記号、A-zだけ色なし 画面のみの判定だから軽い点も良い 後、変数一個用意して 連続で同じ色だったらスルー プログラマーじゃないのでコードに自信ない けど異常に気に入ってるから毎回 screen 入れる度に display.c 書き換えてる か誰 ’半角で遂ぎれた...失礼 >> 誰か altscreen on の時に一番下の行を一番上の行に出力って誰か出来ませんか ? と >> SetRendition, SetRenditionMline に文字判定で色いれると良い だけです。 ついでに上はncursesの話だと書いた後思い出しました。 って2ch_scに書いてた...話だと書いた後思い出しました。 screen --version Screen version 4.04.00 (GNU) 19-Jun-16 これ4.0.4かと思った。紛らわしくないか screenってソフトとしてもう完成してる気がする うpでに追従する必要あるのかな changelog見て必要って思うなら追従すればいい めっちゃ過疎っているんでレスもらえるか不安ですが・・・ シェルのプロンプトを以下のように二段にしているんですけど、このカレントディレクトリを screenのバッファにワンキーでコピーするキーバインドはどう書けばいいですか? [ユーザ名@ホスト名] カレントディレクトリ $ ■ ←←←カーソル copy modeに入らずに画面上から一部を拾う方法が思いつかない。 カレントディレクトリをコピーしたいだけならshell側で f=`tempfile`; pwd > $f; screen -X readbuf $f とかやれば一応できる。これをstuffで実行文字列として送るという 方法なら取れると思う。 ところで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ファイルの位置づけになってるんだな。 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番を無視する良い方法はないでしょうか? 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 4FHO84LNCS ☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、 改憲議員が3分の2を超えております。『憲法改正国民投票法』、 でググってみてください。国会の発議はすでに可能です。 平和は勝ち取るものです。お願い致します。☆☆ 今日4.6.2に上げてみたんだけど、zshが起動しなくなった 何事と思って調べたらTERMがbce系の状態でPROMPTに改行を意味する「$'¥n'」があると駄目みたい 知り合いから教えてもらったパソコン一台でお金持ちになれるやり方 時間がある方はみてもいいかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 HH2I0 たまにhardstatusの行が消えるとこがある 多分何かのscreenコマンドを打ったんだろうけど わかる人いたら教えください ssh foobar@example.com screen -dRU みたいなことをやりたいんですが、 なにか良い方法ありませんでしょうか? ログインしてからコマンドを打つのがめんどくさくて。 ssh -t foobar@example.com screen -dRU で解決しました。 ありがとうございました。 過去にコピーモードでヤンクしたものを順に参照する方法ってないですか? VIMのYankRing.vimみたいな感じで って1年半以上書き込みがない・・・ みんなtmuxに行ってしまったのかな ないと思う…外部コマンドと連携するとかしかないんじゃないかなあ readbuf/writebuf/registerを駆使するとか 一応upstreamはそこそこメンテはされてる tmuxの影響も多分ありそう screenほどUnixらしいコマンドもないと思う 今の子はターミナルマルチプレクサなんて使わんのかもしれんが VS code terminalとscreenがうまいこと融合できないかな 遂にvimが端末エミュレータ/マルチプレクサになってしまったけど、すこぶる使い勝手が良くて困る manやinfoからもtagjumpできるし、tail, head, cutとかで出力成形めんどい人には、何も考えずにガッと書き出して後方検索&編集できるのがいい感じ タブもウィンドウ分割もリモートの接続もネイティブ おすすめ でもでかいビルドやらせたりするのにscreenはやっぱり手放せない read.cgi ver 08.0u [upliftProject] - 2023/07/09 Walang Kapalit ★ | uplift ★ 5ちゃんねる