La finestra è nascosta ma il processo è in esecuzione [chiuso]


13

Come posso ripristinare le finestre per un determinato pid? Sarebbe utile in alcune situazioni in cui la finestra di un determinato programma scompare (a volte mi capita).

Ad esempio, ogni volta che mi sto dirigendo per chiudere hexchat, mostra una finestra di dialogo per la conferma. Se faccio clic su Annulla, la finestra scompare comunque, ma il processo continua in esecuzione in background. (Posso capire che è id).

È possibile ripristinare la finestra, dato che conosco il pid?


L'hai capito? Questo succede ancora occasionalmente a me - sembra che stiano avendo problemi a risolvere questo.
Jason Kleban,

Non ricordo esattamente. Ho dovuto tornare alle finestre per un po '. Penso che qualcuno mi abbia detto nella chat che era stato corretto sul ramo di sviluppo in quel momento. Ma se dici che succede ancora, allora il bug è ancora lì ... Mi dispiace non essere di alcun aiuto.
userEng15

Uso xdotool, potrebbe funzionare. 'xdotool search -name hexchat' e 'xdotool windowactivate theWindowId'
zayn

Risposte:


3

Sfortunatamente, no - in genere non c'è modo di ottenere un'applicazione X Windows per riconnettersi al sistema a finestre se perde la sua connessione e la sua finestra viene distrutta. E Windows generalmente scompare solo se c'è un bug nel programma stesso - nel qual caso il processo è probabilmente in uno stato bloccato senza saperlo, in attesa di I / O che non si verificherà mai perché non si rende conto che la sua finestra è andata via .

A meno che l'applicazione non abbia un design molto raro e ti consenta di inviargli un segnale o un messaggio speciale per riconnetterti al server X, o ricostruire una nuova finestra, o a meno che non sia ancora presente sullo schermo da qualche parte come icona o icona ancorata e tu può interagire in questo modo, il processo del programma deve essere semplicemente interrotto e devi riavviarlo.

Il comportamento di chiusura dell'ultima finestra senza uscire dal processo è generalmente un bug che è possibile segnalare a monte sull'applicazione.

(Nota: ci sono rare eccezioni, come i browser Web che mantengono in esecuzione un processo anche dopo la chiusura dell'ultima finestra, ma in questi casi, fare nuovamente clic sull'icona del browser o eseguirlo nuovamente dalla riga di comando indica semplicemente al già in esecuzione per aprire una nuova finestra. Anche in questo caso, un'app deve essere appositamente scritta per gestire l'assenza di finestre temporanea se funziona.)


3

Come spiegato da Brandon Rhodes, se la finestra viene distrutta / nascosta dal suo processo padre, non c'è modo di recuperarla / ricrearla / mostrarla dall'esterno del processo o dell'applicazione stessa.

È possibile confermare dal gestore delle finestre, provare wmctrl -l -p:, non viene elencata alcuna finestra relativa al suo PID.

Quindi, è possibile che hexchatsia ancora reattivo, prova:

hexchat -e --command="gui show"

-e Apri l'URL o esegui il comando in un HexChat esistente

Riferimenti:


1
Ha funzionato perfettamente.
amar,

1

Se il processo è semplicemente in background, forse questa risposta si adatta anche qui:

Utilizzare fgper riportare il processo in primo piano.

Vedi la risposta completa per ulteriori istruzioni.


1

Non conosco hexchat, ma probabilmente il programma utilizza un'icona nella barra delle applicazioni che consente di riavere la finestra principale. Sfortunatamente, ci sono implementazioni multiple su Linux e non tutte funzionano insieme.

Ho avuto un tale problema con il programma RadioTray che non si è più presentato dopo l'aggiornamento a Xubuntu 14.04. La soluzione la stava riconfigurando (il file ~ / .local / share / radiotray / config.xml aveva l'opzione 'gui_engine' con i 3 possibili valori 'appindicator', 'systray' e 'chooser').

Se questo non aiuta, prova a controllare le opzioni / preferenze della tua applicazione. Probabilmente trovi un'opzione 'Riduci a icona nel vassoio'. Disabilitalo e prova a chiudere di nuovo la finestra.


0

Puoi provare Ctrl + Alt + Canc, quindi terminare il processo. Spero che sia di aiuto. Questo è quello che faccio quando un programma in Ubuntu si blocca o si comporta in modo divertente per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.