창이 숨겨져 있지만 프로세스가 실행 중입니다.


13

주어진 pid에 대한 창을 어떻게 복원 할 수 있습니까? 특정 프로그램의 창이 사라지는 상황에서 유용합니다 (때로는 나에게 일어날 수 있음).

예를 들어 hexchat을 닫을 때마다 확인 대화 상자가 표시됩니다. 취소를 클릭하면 창이 사라지지만 프로세스는 백그라운드에서 계속 실행됩니다. (id pgrep 수 있습니다).

내가 pid를 알고 있다면 창을 복원 할 수 있습니까?


이거 알아 냈어? 이것은 여전히 ​​나에게 발생합니다-이 문제를 해결하는 데 문제가있는 것처럼 보입니다.
Jason Kleban

정확히 기억 나지 않습니다. 잠시 동안 창문으로 돌아와야했다. 누군가가 채팅에서 당시 개발 지점에서 수정되었다고 말한 것 같습니다. 그러나 여전히 발생한다고하더라도 버그는 여전히 존재하는 것입니다. 도움이되지 않아서 죄송합니다.
userEng15

xdotool을 사용하면 작동 할 수 있습니다. '-name hexchat 검색 xdotool'및 'xdotool windowactivate theWindowId'
zayn

답변:


3

불행히도, 아닙니다 — 일반적으로 X 윈도우 응용 프로그램이 윈도우 시스템에 연결이 끊어지고 창이 손상되면 다시 연결할 수있는 방법이 없습니다. 그리고 일반적으로 프로그램 자체에 버그가있는 경우에만 윈도우가 사라집니다.이 경우 프로세스는 모르는 상태에서 프로세스가 중단 된 상태 일 수 있습니다. .

응용 프로그램의 디자인이 매우 드문 경우가 아니면 X 서버에 다시 연결하거나 새 창을 다시 작성하기 위해 또는 아이콘 또는 도킹 된 아이콘으로 화면에 표시되지 않는 한 특별한 신호 또는 메시지를 보낼 수없는 경우 그런 식으로 상호 작용할 수 있으면 프로그램의 프로세스를 간단히 종료해야하며 다시 시작해야합니다.

프로세스를 종료하지 않고 마지막 창을 닫는 동작은 일반적으로 응용 프로그램에 대해 업스트림에보고 할 수있는 버그입니다.

(참고 : 마지막 창을 닫아도 실행중인 프로세스를 유지하는 웹 브라우저와 같은 드문 예외가 있습니다. 이러한 경우 브라우저 아이콘을 다시 클릭하거나 명령 줄에서 다시 실행하면 이미 실행 중임을 알려줍니다. 새 창을 열려면 프로세스를 다시 수행해야합니다. 다시 작동하려면 임시 창없는 상태를 처리 할 수 ​​있도록 앱을 특별히 작성해야합니다.)


3

Brandon Rhodes가 설명했듯이, 창이 부모 프로세스에 의해 파괴 / 숨겨져 있으면 프로세스 나 응용 프로그램 외부에서 창을 복구 / 재 작성 / 표시 할 방법이 없습니다.

창 관리자에서 확인할 수 있습니다. wmctrl -l -p, PID와 관련된 창이 표시되지 않습니다.

따라서 hexchat여전히 반응이 좋을 수 있습니다.

hexchat -e --command="gui show"

-e 기존 HexChat에서 URL 열기 또는 명령 실행

참고 문헌 :


1
완벽하게 작동했습니다.
amar

1

프로세스가 단순히 배경에 있다면 이 대답 도 여기에 해당합니다.

fg프로세스를 다시 포 그라운드로 가져 오는 데 사용 합니다.

자세한 지침은 전체 답변을 참조하십시오.


1

hexchat을 모르지만 프로그램에서 트레이 아이콘을 사용하여 기본 창을 다시 가져올 수 있습니다. 불행히도, 리눅스에는 여러 개의 트레이 구현이 있으며 모두 함께 작동하지는 않습니다.

Xubuntu 14.04로 업데이트 한 후에 더 이상 표시되지 않는 RadioTray 프로그램과 같은 문제가있었습니다. 해결책은 재구성 중이었습니다 (~ / .local / share / radiotray / config.xml 파일에는 'appindicator', 'systray'및 'chooser'의 3 가지 가능한 값으로 'gui_engine'옵션이 있습니다).

그래도 문제가 해결되지 않으면 응용 프로그램의 옵션 / 기본 설정을 확인하십시오. 아마도 '트레이에 최소화'옵션이 있습니다. 비활성화하고 창을 다시 닫으십시오.


0

Ctrl + Alt + Del을 시도한 다음 프로세스를 종료 할 수 있습니다. 도움이 되었기를 바랍니다. 우분투의 프로그램이 멈추거나 재미있게 행동 할 때 내가하는 일입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.