Pencere gizlenmiş, ancak işlem çalışıyor [kapalı]


13

Belirli bir pid için pencereleri nasıl geri yükleyebilirim? Belirli bir programın penceresinin kaybolduğu bazı durumlarda yararlı olabilir (bazen başıma gelir).

Örneğin, hexchat'ı kapatmak için her gittiğimde, onay için bir iletişim kutusu görüntülenir. İptal'i tıklatırsam, pencere yine de gitti, ancak işlem arka planda çalışmaya devam ediyor. (Ben onun kimliği pgrep olabilir).

Pid'i bildiğim için pencereyi geri yüklemek mümkün mü?


Bunu çözdün mü? Bu hala ara sıra başıma geliyor - bunu düzeltmekte zorlanıyor gibi görünüyor.
Jason Kleban

Tam olarak hatırlamıyorum. Bir süre pencerelere geri dönmek zorunda kaldı. Sanırım birisi sohbette bana o zamanın geliştirme dalında düzeltildiğini söyledi. Ama hala olduğunu söylüyorsanız, hata hala orada ... Herhangi bir yardım için üzgünüm.
15

Xdotool kullanıyorum, işe yarayabilir. 'xdotool arama-adı hexchat' ve 'xdotool penceresiWindowId'i etkinleştirir'
zayn

Yanıtlar:


3

Ne yazık ki, hayır - bağlantıyı kaybederse ve penceresi yok edilirse, bir X Windows uygulamasının pencere sistemine yeniden bağlanmasını sağlamanın bir yolu yoktur. Ve pencereler genellikle sadece programın kendisinde bir hata varsa kaybolur - bu durumda süreç muhtemelen farkında olmadan asılı durumdadır, penceresinin gittiğini fark etmediği için asla gerçekleşmeyecek G / Ç'yi bekler .

Uygulama çok nadir bir tasarıma sahip değilse ve X sunucusuna yeniden bağlanmak veya yeni bir pencere yeniden oluşturmak için özel bir sinyal veya mesaj göndermenize izin vermedikçe veya hala ekranda bir simge veya yerleştirilmiş simge olarak bulunmadığı sürece ve onunla bu şekilde etkileşime girebilir, programın süreci basitçe öldürülmeli ve yeniden başlatmalısınız.

İşlemden çıkmadan son penceresini kapatma davranışı genellikle uygulama hakkında akış yukarı bildirebileceğiniz bir hatadır.

(Not: Son pencereleri kapatıldıktan sonra bile çalışan bir işlemi sürdüren web tarayıcıları gibi nadir istisnalar vardır - ancak bu durumlarda, tarayıcının simgesini yeniden tıklamak veya komut satırından yeniden çalıştırmak, zaten çalışan Yeni bir pencere açma işlemi. Yine, eğer bir uygulama çalışmak için geçici penceresizliği işlemek için özel olarak yazılmalıdır.)


3

Brandon Rhodes'un açıkladığı gibi, pencere ana işlemi tarafından yok edilirse / gizlenirse, işlemin veya uygulamanın kendisinden onu kurtarmanın / yeniden oluşturmanın / göstermenin yolu yoktur.

Pencere yöneticisinden onaylayabilirsiniz, şunu deneyin: wmctrl -l -pPID ile ilgili hiçbir pencere listelenmiyor.

Yani, hexchathala duyarlı olabilir, deneyin:

hexchat -e --command="gui show"

-e URL'yi aç veya mevcut bir HexChat'te komutu çalıştır

Referanslar:


1
Mükemmel çalıştı.
amar

1

Süreç sadece arka planda ise, belki de bu cevap buraya uyuyor:

fgİşlemi ön plana getirmek için kullanın .

Daha fazla talimat için tam cevaba bakınız.


1

Hexchat bilmiyorum, ama muhtemelen program ana pencereyi geri almayı mümkün kılan bir tepsi simgesi kullanıyor. Ne yazık ki, linux üzerinde çoklu tepsi uygulaması var ve hepsi birlikte çalışmıyor.

Xubuntu 14.04 güncellemesinden sonra artık gösterilmeyen program RadioTray ile böyle bir sorun yaşadım. Çözüm yeniden yapılandırılıyordu (~ / .local / share / radiotray / config.xml dosyası, 'appindicator', 'systray' ve 'chooser' değerleriyle birlikte 'gui_engine' seçeneğine sahipti).

Bu işe yaramazsa, uygulamanızın seçeneklerini / tercihlerini kontrol etmeyi deneyin. Muhtemelen 'Tepsiye küçült' seçeneği bulabilirsiniz. Devre dışı bırakın ve pencereyi tekrar kapatmayı deneyin.


0

Ctrl + Alt + Del tuşlarını deneyebilir ve ardından işlemi sonlandırabilirsiniz. Bu yardımcı olur umarım. Ubuntu'daki bir program donduğunda veya bana komik davrandığında yaptığım şey budur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.