プロが教えるわが家の防犯対策術!

遠隔地にあるLinuxサーバにtelnetでloginしてXwindowを
安全に起動したり、終了したりすることは可能なのでしょうか?
なぜこのようなことをしたいかというと、遠隔値のサーバで動作するライブラリがXwindowが起動していることを要求しまして、このライブラリを実行するときだけXを起動して、実行しないときには起動したくないというわけです。
(リモートサーバで実行したxtermなどXのアプリをローカルのDISPLAYに表示するというのではありません。)

通常、ランレベル3で起動してLinuxでXwindowを起動するには、そのマシンのコンソールから
% startx
ってしますよね。でおわるにはGNOMEなりのメニューから終了とやります。
すこし実験したところ、リモートの端末からtelnetやsshでサーバにログインした状態で"startx"や"xinit"を実行するとサーバのモニタにXwindowが立ち上がるには立ち上がるのですが、xinitのプロセスをkillするとサーバのモニタが張り付いた状態になり、もとの文字だけのコンソール画面の状態にはもどらず、終了がうまくいかないのです。
この状態でもtelnetでの処理などには支障はなく、サーバのモニタだけが張り付いた状態になっています。さらに、再度xinitとやるとXがちゃんと立ち上がります。でもKillすると同じ状態に。。。

このままでもとりあえずは使えるのですが、画面が張り付いた状態で放置して問題ないのか?などきになる点はあります。はじめからランレベル6で起動すればという解もあるとは思いますが、ご意見お待ちします。

A 回答 (4件)

Xが死んでるのにXの背景のままだということですね?



kill するときに -KILL とかつけてたりしませんか?-KILL だと、
後処理もできずに死んでしまうので、背景が残るかもしれません。

この回答への補足

まさにそうです。背景とポインタがのこって、マウスを動かしても当然ながら動きません。

killには"-KILL"はつけていません。オプションなしです。

よく考えると、背景がのこるのでつじつまあっているのかも?処理はXを起動した仮想端末にもどるし。。。でももともと表示していたコンソール画面はどこいった?

補足日時:2000/12/22 20:21
    • good
    • 0

xinit を殺したときには、X のプロセスも消えているのでしょうか?


もしまだ生きているなら、それも殺せばいいように思いますが。

あるいは、ほんとうに X サーバだけがいればいいのなら、xinit
もなしで、X か Xwrapper を起動し、あとでそれを殺せばいいかと
思います。殺すのが面倒なら、そしてそのライブラリが1回だけク
ライアントとして X サーバに接続するだけなら、X に -terminate
オプションをつけておくと、最後のクライアントが接続を切ったと
きに、サーバも自動的に終了します。

この回答への補足

> xinit を殺したときには、X のプロセスも消えているのでしょうか?
はい、みたところきれいにすべて消えているようにみえます。

> 殺すのが面倒なら、そしてそのライブラリが1回だけク
> ライアントとして X サーバに接続するだけなら、X に -> terminate
> オプションをつけておくと、最後のクライアントが接続を切ったと
> きに、サーバも自動的に終了します。
すみません、ライブラリで何回Xサーバに接続を試みる
か調査不足です。

補足日時:2000/12/22 19:49
    • good
    • 0

killするプロセスは、「xinit」ではないはずです。


「X:0」となっているプロセスがX-Server本体のはずです。
「X:0」のプロセスをkillすると、GNOMEもX-Clientもすべて終了します。

でも、そのアプリケーション、なぜ、リモートマシン上のX-Serverを必要とするのでしょうねぇ???
動きがかなり変なアプリケーションですね。

基本的には、リモートマシンへtelnetやsshでログインした状態で"startx"や"xinit"はしないのですが、、、

この回答への補足

xinitをkillすると"X :0"やそれ以降のWindowManagerなどもきれいにプロセスはなくなります。

> でも、そのアプリケーション、なぜ、リモートマシン上のX-Serverを必要とするのでしょうねぇ???
> 動きがかなり変なアプリケーションですね。
どきっ。はい、あやしげなアプリケーションです。
javaの画像関係のライブラリを使う際にNativeMethodをよびにいっていてそこからDISPLAYが利用可能かどうかをチェックするものなのです。

補足日時:2000/12/22 19:44
    • good
    • 0

案A) X だけ立ち上げるとかではだめでしょうか?



% X &
% killall X

案B) vncなどを使うとかはどうでしょうか?

% vncserver :2 &
% kterm -display :2 &
% vncserver -kill :2

とかして使用できるような気がします。

# VNCはこちらです → http://www.uk.research.att.com/vnc/index.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!