Re: [Q] Terminal Server
nojimaです。
maeda-news@ialab.is.tsukuba.ac.jp writes:
> > 理想を言えば、[2]のアプリケーションが起動すると、勝手に[1]の端末ソフトの
> > 画面がsplitしてくれたり、接続して良いかのプロンプトが出る等が良いなぁ
> > と思っています。
>
> アプリケーションappを起動する際に,
> app
> のかわりに
> screen -X split
> screen -X focus
> screen -X screen app
> とすれば,画面をsplitしてappが起動します.
>
> 接続して良いかどうか尋ねるというのも,ちょっとしたシェルスクリプトを書
> けばできるんじゃないでしょうか.
すみません。次のような使い方を想定しています。
[用途] 仕様上どうしても人樣のプログラム(しかもブラックボックス)により
起動させられるプログラムAのデバッグを楽勝で行いたい。ただ、この
プログラムAは、
・起動させるプログラムの関係上どうしてもバックグラウンドプロセスに
移行して実行してしまうし、
・インタプリタ系の言語で出来ている
という状況です。
[自分が想像している使い方]
1) 文字端末サーバをtelnet上で立ち上げ待ち受け状態にする。
2) 文字端末クライアントの改造を施したインタプリタ系の言語のデバッガ
を用意。これがバックグラウンドプロセスで起動する。
(perl -d:tkdbのイメージです)
3) 1)に2)のプロセスから接続が行われ、デバッガの画面が1)の端末上に現れる。
(まるでX端末にリモートのアプリから接続が行われてGUIが出現するような
感覚です)
[補足]
もちろんscreen使えば、screen経由で適当にセッション名定めてスクリプト言語の
デバッガを起動し、telnet端末からscreenコマンドでattachすれば似たようなことは
実現できます。しかし、ここで面倒なのは、
a.attachする為のセッション名をデバッグ作業の時に定める必要がある。
(Xの様にDISPLAY=ホスト名:0とかしておけば何とかなる方が楽で良い)
b.attachする際にいちいちps とってどのプロセス番号かを調べる必要がある。
c.attachして終了させるか、killしないとプロセスにscreenがattachされるのを
待って居座りつづけてしまう
など使い勝手が今一なのです。1)の文字端末サーバが上っていなければ
c.の状態にはならないとかだとさらに安全で良いなあと思っています。
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735