• 締切済み

リモートのサーバでXwindowを起動したり終了したりするには?

遠隔地にある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で起動すればという解もあるとは思いますが、ご意見お待ちします。

みんなの回答

回答No.4

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

pomo
質問者

補足

まさにそうです。背景とポインタがのこって、マウスを動かしても当然ながら動きません。 killには"-KILL"はつけていません。オプションなしです。 よく考えると、背景がのこるのでつじつまあっているのかも?処理はXを起動した仮想端末にもどるし。。。でももともと表示していたコンソール画面はどこいった?

回答No.3

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

pomo
質問者

補足

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

  • selenity
  • ベストアンサー率41% (324/772)
回答No.2

killするプロセスは、「xinit」ではないはずです。 「X:0」となっているプロセスがX-Server本体のはずです。 「X:0」のプロセスをkillすると、GNOMEもX-Clientもすべて終了します。 でも、そのアプリケーション、なぜ、リモートマシン上のX-Serverを必要とするのでしょうねぇ??? 動きがかなり変なアプリケーションですね。 基本的には、リモートマシンへtelnetやsshでログインした状態で"startx"や"xinit"はしないのですが、、、

pomo
質問者

補足

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

  • h_hikita
  • ベストアンサー率40% (104/257)
回答No.1

案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

関連するQ&A