私はCygwin / Xを使用してWindows(10)コンピュータからLinuxコンピュータクラスタにSSH経由で接続しています。昨日、私はSSHセッションにX11転送を使用していました。突然開いているXウィンドウがハングし始め、最終的に私のWindows OSがそれを見つけてXサーバープロセスを終了しました。
この会議の前には常にターミナルコマンドを使用する必要がありました。
export DISPLAY=:0.0
ssh -Y <user>@<remoteaddress>
接続を確立すると、ローカルモニタでリモートクラスタのX Windowsを開くことができます。 WindowsシステムトレイのCygwin / XServerアイコンの上にマウスを置くたびに常に表示されますCygwin/X Server:0.0
。
ただし、Xサーバーのクラッシュ(およびCygwinからX11パッケージを再インストールするまで停止した数回の後続のクラッシュ)の後、デフォルトはシステムトレイを介して:3.0
見つかったことがわかりました。
役に立つ場合は、xwinログファイルのさまざまなログファイル間にいくつかの違いがありました~/var/log/xwin/
。
XWin.3.log
ログファイルで次に終了します。
winDeinitMultiWindowWM - Noting shutdown in progress [ 40421.515] (II) Server terminated successfully (0). Closing log file.
ただし、対応するログ0、1、2では、ファイルはこれで終わらず、次のように終了します。
//For 0:// IsOverrideRedirect: Failed to get window attributes [243761.625] OS has icon alpha channel support: yes
//For 1:// winInitMultiWindowWM - Could not open display, try: 1, sleeping: 5
//For 2:// winInitMultiWindowWM - DISPLAY=:2.0 [ 15564.281] winMultiWindowXMsgProc - DISPLAY=:2.0
私のSSHがまだうまく機能している間、DISPLAYs:0.0、:1.0、および:2.0がアクセスできなくなった理由とそれをリセットする方法(:0.0を再利用できるようにする)を知っている人がいるかどうか疑問に思います。 。
(適切な情報が含まれていない場合、またはフォーマットが適切でない場合はお知らせください。Stackexchangeに質問を投稿するのは今回が初めてです!)
修正する:
他の人がこの記事を読んで同じ問題に直面している場合。startxwin
ファイルのいくつかの分析を実行した後、起動時にC:\cygwin64\bin\
Xサーバーが選択したDISPLAYオプションは、ファイルが.X<number>-lock
存在するかどうかによって異なりますC:\cygwin64\tmp\
(スクリプトは値0から始まり、.X0-lock
ファイルが見つかると「free」が出るまで数字が増加します。が見つかりました)。 「発見」表示番号が表示され、その番号を使用します。また、~\tmp
そのフォルダ内に.X11-unix
通常の操作では空にする必要があるフォルダがあります(Xサーバーがダウンしていると仮定)。どちらの場合も DISPLAY 0、1、2 が見つかりました。 Cygwin / X11をアンインストールし、必要に応じて参照用にこのファイルをフォルダから移動してからC:\cygwin64\
Cygwin / X11を再インストールすると、XサーバーはデフォルトのDISPLAY変数を使用して再起動するように求められます:0.0
。
しかし、このようなことが再び起こらないように、私がどのような措置を取ったのか疑問に思います。誰でもアイデアがある場合は、コメントを共有してください!