Saya ingin daftar hanya menjalankan aplikasi seperti: Firefox, gedit, Nautilus, dll. Menggunakan baris perintah.
Catatan: Saya tidak ingin mendaftar semua proses yang berjalan, hanya aplikasi yang berjalan (katakanlah GUI yang diluncurkan secara manual).
command-line
gui
window
Pandya
sumber
sumber
Jawaban:
Kombinasi
wmctrl
danxprop
menawarkan banyak kemungkinan.Contoh 1:
Outputnya dapat terlihat dalam kasus ini seperti ini:
Contoh 2:
Contoh keluaran:
Anda dapat menambahkan fungsi ke
~/.bashrc
atau menjalankannya dari file skrip.sumber
pengantar
Kekuatan
xdotool
danwmctrl
keluar ketika Anda perlu melakukan manipulasi pada windows, seperti memindahkan atau mengubah ukuran. Namun, saya sangat percaya bahwa untuk tujuan hanya mendaftarkan program yang sedang berjalan dan informasi tentang mereka,xprop
danqdbus
merupakan dua alat yang cukup dan menginstalxdotool
danwmctrl
kecuali pengguna menginginkannya untuk fungsionalitas tambahan - adalah tugas tanpa tujuan. Dalam jawaban ini saya ingin menyajikan dua solusi scripting denganxprop
danqdbus
.Perhatikan bahwa saya tidak menentang
xdotool
atauwmctrl
. Saya sendiri telah menggunakannya secara ekstensif, tetapi saya menemukan mereka lebih kuat ketika dikombinasikan dengan alat lain. Berikut adalah beberapa contoh di mana saya telah menggunakannya:Xprop
Script di bawah ini hanya menggunakan xprop untuk mengekstrak daftar windows yang aktif, memfilter hanya windows yang sebenarnya (bukan tipe dock isap sebagai Unity Launcher atau Unity Panel) dan tampilkan info mereka:
Demo:
Sumber skrip :
Qdbus
Kode di bawah ini pada dasarnya melakukan tugas yang sama, namun menyaring aplikasi terlebih dahulu, kemudian mencantumkan jendela anak-anaknya, dan akhirnya memberikan info tentangnya.
Contoh dijalankan:
Kode itu sendiri:
Perintah yang sedikit lebih sederhana tetapi membutuhkan penyaringan output menggunakan antarmuka dbus stack Unity. Ini pada dasarnya adalah fungsi yang saya miliki di
.mkshrc
Contoh dijalankan:
Contoh penggunaan qdbus:
sumber
wmctrl -l
bisa menjadi hal yang Anda inginkan. Pertama instalAnda juga dapat menggabungkannya dengan daftar Monitor Sistem, secara default ini menunjukkan "Semua proses saya" yang berarti semua proses yang menjadi milik Anda sebagai pengguna.
Untuk hanya memiliki nama aplikasi, jalankan:
EDIT:
sumber
0x03c000b3 0 avinash-Lenovo-IdeaPad-Z500 How list of running applications by command? - Ask Ubuntu - Mozilla Firefox
plus beberapa baris tambahan tentang Desktop, Hud, dll.wmctrl -l|awk '{out=""; for(i=2;i<=NF;i++){out=$out" "$i}; print $out}'
,, akan menambah jawaban saya. Terima kasih telah menunjukkan.