Biasanya ketika menjalankan aplikasi dalam lingkungan grafis, ketika saya ingin menutupnya saya klik X
di sudut kiri atas jendela atau pergi ke File > Close
.
Saya ingin kadang-kadang menutup program-program ini dari jarak jauh melalui ssh dari terminal menggunakan baris perintah, sekarang saya menggunakan kill
perintah tapi saya heran itu tidak sama dengan keluar dari aplikasi dengan benar dari dirinya sendiri.
Dari man kill
sinyal default tampaknya 15) SIGTERM, apakah sinyal ini akan memberi tahu aplikasi yang saya coba tutup untuk membersihkan, tutup file yang terbuka, simpan barang?
Apakah ada cara yang lebih baik jika saya ingin melakukannya dari terminal?
command-line
Mike
sumber
sumber
Jawaban:
Cara khas untuk menutup aplikasi dengan anggun adalah dengan menggunakan
kill -TERM 1234
, di mana1234
PID dari jendela. Masalahnya, bagaimanapun, adalah bahwa aplikasi grafis dirancang untuk mendengarkan sinyal spesifik dari X server itu sendiri, bukan mendengarkanTERM
sinyal.Itu berarti Anda akan memerlukan semacam agen di antara Anda dan server X untuk berkomunikasi bahwa Anda ingin mengirim sinyal yang sesuai. Anda tentu saja dapat menulis program C, namun ada
wmctrl
program yang sudah ada (tidak mengejutkan ditulis dalam C) yang melakukan hal itu.Penggunaan
wmctrl
sederhana:Ini tidak diinstal secara default, jadi dapatkan
sudo apt-get install wmctrl
Ada banyak kegunaan untuk
wmctrl
jauh melampaui hanya menutup jendela, jadi tolong lihat lebih banyak jawaban saya dan Yakub Vlijm untuk contoh skrip di mana itu digunakansumber
wmctrl -l
akan mencantumkan semua jendela dan memberikan id numerik dalam hex di kolom pertama. =)Minimize to tray on close
danwmctrl -c
hanya akan menutup jendela, bukan aplikasi itu sendiri, itu akan tetap berjalan diminimalkan ke baki.Saya pikir layak untuk ditambahkan yang
wmctrl -xl
akan menampilkan hasil seperti ini:Di mana
x
permintaan kelas jendela berada di output. Ini seringkali merupakan cara termudah untuk menutup program yang sama setiap saat. Kemudian, kami dapat menyediakan kelas jendela saat menutupnya:Contoh ini akan menutup speedcrunch.
sumber