Uygulama terminalden düzgün şekilde çıkarken nasıl kapatılır


9

Genellikle uygulamayı grafik ortamında çalıştırırken, kapatmak istediğimde Xpencerenin sol üst köşesine tıklıyorum ya da gitiyorum File > Close.

Bazen bu programları komut satırını kullanarak terminalden ssh üzerinden uzaktan kapatmak istiyorum, şimdi komut kullanıyorum, killancak uygulamanın kendisinden düzgün şekilde çıkmasıyla aynı şeyi yaptığını merak ediyorum.

itibaren man kill varsayılan sinyal 15) SIGTERM gibi görünüyor, bu sinyal malzeme tasarrufu, temizlik yapmayı kapatmaya çalışıyorum uygulamayı, dosyaları kapatır anlatacak?

Terminalden yapmak istersem daha iyi bir yol var mı?


2
Sorduğunuz için teşekkürler! Bir noktada kesinlikle işe yarayacak bir şey öğrendim.
Oliphaunt - Monica

Yanıtlar:


9

Uygulamayı incelikle kapatmanın tipik yolu , pencerenin PID'inin kill -TERM 1234nerede 1234kullanılacağıdır. Ancak sorun, grafiksel uygulamaların X sunucusunun kendisinden belirli bir sinyali dinlemek için tasarlanmış olması, TERMsinyali dinlememesidir .

Bu, uygun sinyali göndermek istediğinizi bildirmek için sizinle X sunucusu arasında bir tür araca ihtiyacınız olacağı anlamına gelir. Elbette bir C programı yazabilirsiniz, ancakwmctrl tam olarak bunu yapan şaşırtıcı bir şekilde C'de yazılmış bir program vardır.

Kullanımı wmctrlbasit:

wmctrl -c :SELECT: # close window that will be selected with pointer
wmctrl -c :ACTIVE: # close currently active window
wmctrl -ic <numeric id> # close window with specific id in hex

Varsayılan olarak yüklü değildir, bu yüzden sudo apt-get install wmctrl

Bunun birçok kullanımı var wmctrl, sadece pencereleri kapatmanın çok ötesinde, bu yüzden lütfen cevaplarımın ve Jacob Vlijm'in kullanıldığı komut dosyası örnekleri için daha fazlasını görün


2
Buraya, wmctrl -ltüm pencereleri listeleyecek ve ilk sütunda onaltılık sayısal kimliğini vereceksiniz. =)
Terrance

Teşekkür ederim, uygulamaların çoğunda harika çalışıyor, ancak Deluge ile bir seçenek var Minimize to tray on closeve wmctrl -csadece bir pencereyi kapatacak, uygulamanın kendisini değil, tepsiye küçültülmüş olarak çalışmaya devam edecek.
Mike

3

Ben wmctrl -xlböyle sonuçlar çıktı olacak eklemeye değer olduğunu düşünüyorum :

0x03000001 -1 google-chrome.google-chrome  dcentore-pc Rybak - Google Play Music - Google Chrome
0x04600006  0 speedcrunch.Speedcrunch  dcentore-pc SpeedCrunch

Burada xpencere sınıfının çıktıda olmasını ister. Bu genellikle aynı programı her seferinde kapatmanın en kolay yoludur. Sonra, pencere sınıfını kapatırken sağlayabiliriz:

wmctrl -xc speedcrunch.Speedcrunch

Bu örnekte speedcrunch kapatılacaktır.

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.