Jendela disembunyikan tetapi proses sedang berjalan [ditutup]

13

Bagaimana saya bisa mengembalikan windows untuk pid yang diberikan? Ini akan berguna dalam beberapa situasi di mana jendela program tertentu menghilang (kadang-kadang terjadi pada saya).

Misalnya, setiap kali ketika saya menuju untuk menutup hexchat, itu menunjukkan dialog untuk konfirmasi. Jika saya klik membatalkan, jendela tetap hilang, tetapi proses terus berjalan di latar belakang. (Saya bisa mengerti id itu).

Apakah mungkin untuk mengembalikan jendela, mengingat saya tahu pid?

userEng15
sumber
Apakah Anda mengetahui hal ini? Ini masih terjadi sesekali bagi saya - sepertinya mereka mengalami kesulitan memperbaiki yang ini.
Jason Kleban
Saya tidak ingat persisnya. Harus kembali ke windows untuk sementara waktu. Saya pikir seseorang mengatakan kepada saya dalam obrolan bahwa itu telah diperbaiki pada cabang pengembangan pada saat itu. Tetapi jika Anda mengatakan itu masih terjadi, maka bug itu masih ada ... Maaf tidak akan membantu.
userEng15
Saya menggunakan xdotool, mungkin berhasil. 'xdotool search -name hexchat', dan 'xdotool window aktifkan theWindowId'
zayn

Jawaban:

3

Sayangnya, tidak - pada umumnya tidak ada cara untuk mendapatkan aplikasi X Windows untuk menyambung kembali ke sistem windowing jika kehilangan koneksi dan jendelanya hancur. Dan windows umumnya hanya akan hilang jika ada bug dalam program itu sendiri - dalam hal ini prosesnya mungkin dalam keadaan hang tanpa menyadarinya, menunggu I / O yang tidak akan pernah terjadi karena tidak menyadari bahwa jendelanya telah hilang. .

Kecuali jika aplikasi tersebut dari desain yang sangat langka dan memungkinkan Anda mengirimkannya sinyal atau pesan khusus untuk menyambung kembali ke server X, atau membangun kembali jendela baru, atau kecuali itu masih ada di layar di suatu tempat sebagai ikon atau ikon berlabuh dan Anda dapat berinteraksi dengannya seperti itu, proses program harus dimatikan dan Anda harus me-restart itu.

Perilaku menutup jendela terakhir tanpa keluar dari proses umumnya adalah bug yang dapat Anda laporkan hulu tentang aplikasi.

(Catatan: ada beberapa pengecualian, seperti peramban web yang menjaga proses yang berjalan bahkan setelah jendela terakhir ditutup - tetapi dalam kasus tersebut, mengklik kembali ikon peramban atau menjalankannya kembali dari baris perintah hanya memberi tahu yang sudah berjalan proses untuk membuka jendela baru. Sekali lagi, aplikasi harus ditulis secara khusus untuk menangani windowlessness sementara jika ini berfungsi.)

Brandon Rhodes
sumber
3

Seperti yang dijelaskan Brandon Rhodes, jika jendela dihancurkan / disembunyikan oleh proses induknya, tidak ada cara untuk memulihkan / membuat ulang / menampilkannya dari luar proses atau aplikasi itu sendiri.

Anda dapat mengonfirmasi dari pengelola jendela, coba wmctrl -l -p:, tidak ada jendela yang terkait dengan PID-nya terdaftar.

Jadi, mungkin hexchatmasih responsif, coba:

hexchat -e --command="gui show"

-e Buka URL atau jalankan perintah di HexChat yang ada

Referensi:

user.dz
sumber
1
Bekerja dengan sempurna.
amar
1

Jika prosesnya hanya di latar belakang, mungkin jawaban ini cocok di sini juga:

Gunakan fguntuk membawa proses kembali ke latar depan.

Lihat jawaban lengkap untuk instruksi lebih lanjut.

Saya tahu
sumber
1

Saya tidak tahu hexchat, tetapi mungkin program ini menggunakan ikon baki yang memungkinkan untuk mendapatkan kembali jendela utama. Sayangnya, ada beberapa implementasi baki di linux dan tidak semuanya bekerja bersama.

Saya punya masalah dengan program RadioTray yang tidak muncul lagi setelah pembaruan ke Xubuntu 14.04. Solusinya adalah mengkonfigurasi ulang (file ~ / .local / share / radiotray / config.xml memiliki opsi 'gui_engine' dengan 3 kemungkinan nilai 'appindicator', 'systray' dan 'chooser').

Jika ini tidak membantu, cobalah untuk memeriksa opsi / preferensi aplikasi Anda. Mungkin Anda menemukan opsi 'Minimalkan ke baki'. Nonaktifkan dan coba tutup kembali jendela.

Daniel Alder
sumber
0

Anda dapat mencoba Ctrl + Alt + Del, lalu akhiri prosesnya. Semoga ini membantu. Inilah yang saya lakukan ketika sebuah program di Ubuntu membeku atau bertindak lucu bagi saya.

John H.
sumber