ウィンドウは非表示ですが、プロセスは実行中です[クローズ]


13

特定のPIDのウィンドウを復元するにはどうすればよいですか?特定のプログラムのウィンドウが消えるような状況で役立ちます(時々私に起こります)。

たとえば、hexchatを閉じようとするたびに、確認のためのダイアログが表示されます。[キャンセル]をクリックすると、ウィンドウは消えますが、プロセスはバックグラウンドで実行され続けます。(idをpgrepできます)。

PIDを知っていれば、ウィンドウを復元することは可能ですか?


これを理解しましたか?これは時々私に時々起こります-彼らはこれを修正するのに問題があるように見えます。
ジェイソンクレバン14年

正確には覚えていません。しばらく窓に戻らなければならなかった。チャットで誰かが私に言ったのは、その時点で開発ブランチで修正されたと思います。しかし、もしそれがまだ起こっていると言うなら、バグはまだそこにあります...助けにならなくてすみません。
userEng15 14年

私はxdotoolを使用していますが、うまくいくかもしれません。'xdotool search -name hexchat'および 'xdotool windowactivate theWindowId'
zayn

回答:


3

残念ながら、いいえ—通常、X Windowsアプリケーションが接続を失い、ウィンドウが破壊された場合、ウィンドウシステムに再接続する方法はありません。通常、ウィンドウはプログラム自体にバグがある場合にのみ消えます。この場合、プロセスはおそらくそれを知らずにハング状態になり、ウィンドウが消えたことに気付かないため発生しないI / Oを待機します。 。

アプリケーションが非常にまれなデザインであり、Xサーバーに再接続するか、新しいウィンドウを再構築するための特別な信号またはメッセージを送信できるようにする場合、またはアイコンまたはドッキングアイコンとして画面のどこかに存在しない限り、そのように対話できるため、プログラムのプロセスを強制終了するだけで、再起動する必要があります。

プロセスを終了せずに最後のウィンドウを閉じる動作は一般にバグであり、アプリケーションについてアップストリームに報告できます。

(注:最後のウィンドウが閉じられても実行中のプロセスを保持するWebブラウザーなど、まれな例外がありますが、その場合、ブラウザーのアイコンを再クリックするか、コマンドラインから再実行すると、既に実行されていることがわかります新しいウィンドウを開くプロセス。これも機能する場合は、一時的なウィンドウレスを処理するためにアプリを特別に作成する必要があります。


3

Brandon Rhodesが説明したように、ウィンドウが親プロセスによって破壊/隠された場合、プロセスまたはアプリケーション自体の外部からウィンドウを回復/再作成/表示する方法はありません。

ウィンドウマネージャから確認できます:try wmctrl -l -p:、そのPIDに関連するウィンドウは表示されません。

だから、それhexchatはまだ反応する可能性があります、試してください:

hexchat -e --command="gui show"

-e 既存のHexChatでURLを開くか、コマンドを実行します

参照:


1
完璧に働きました。
アマール

1

プロセスが単にバックグラウンドにある場合、おそらくこの答えはここにも当てはまります。

fgプロセスをフォアグラウンドに戻すために使用します。

詳細な手順については、完全な回答を参照してください。


1

hexchatはわかりませんが、プログラムでトレイアイコンを使用すると、メインウィンドウに戻ることができます。残念ながら、Linuxには複数のトレイが実装されており、それらのすべてが連携して動作するわけではありません。

Xubuntu 14.04へのアップデート後、RadioTrayプログラムでこのような問題が発生しなくなりました。ソリューションはそれを再構成していました(ファイル〜/ .local / share / radiotray / config.xmlには、オプション 'gui_engine'に3つの値 'appindicator'、 'systray'および 'chooser'がありました)。

それでも解決しない場合は、アプリケーションのオプション/設定を確認してください。おそらく「トレイに最小化」オプションがあります。無効にして、もう一度ウィンドウを閉じてみてください。


0

Ctrl + Alt + Delを試してから、プロセスを終了できます。お役に立てれば。これは、Ubuntuのプログラムがフリーズしたり、おかしな動作をしたときに私がすることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.