Menggunakan StartupWMClass untuk aplikasi yang berjalan di terminal
Pada 18,04 saya memiliki peluncur di Dash untuk menjalankan aplikasi di terminal dengan Dash menunjukkan titik indikator untuk peluncur saat sedang berjalan, daripada indikator untuk peluncur terminal generik (dengan cara ini saya dapat menemukannya jika jendela terminal lainnya terbuka). Saya dapat menggunakan opsi --class di entri Exec bersama dengan StartupWMClass untuk mencapai ini.
Pada 20.04 peluncur tidak berfungsi karena terminal dibuka, aplikasi mencoba untuk meluncurkan dan kemudian terminal ditutup. Saya mencari ini di Google dan ada beberapa obrolan tentang opsi --class yang disusutkan. Jika saya menghapus opsi --class, peluncur berfungsi, tetapi titik indikator terpasang ke peluncur terminal generik.
Ini adalah file .desktop sebelum menghapus opsi --class
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Encoding=UTF-8
StartupNotify=true
Icon[en_US]=sage-terminal
Icon=sage-terminal
Exec=/home/rquint/Sage/SageMath/sage --class=SageTerminal
StartupWMClass=SageTerminal
Name=SageTerminal
Name[en_US]=SageTerminal
Actions=SageDocumentation;
[Desktop Action SageDocumentation]
Name=Sage Documentation
Exec=firefox /home/rquint/Sage/SageMath/local/share/doc/sage/html/en/index.html
Jawaban
Ini bukan solusi sempurna, tetapi untuk saat ini berhasil. Googling sekitar saya menemukan yang berikut
https://itectec.com/ubuntu/ubuntu-how-to-make-a-custom-launcher-for-terminal-applications/
yang menunjukkan cara meluncurkan aplikasi di terminal meskipun peluncur menggunakan Terminal = false. Intinya Anda meluncurkan emulator terminal yang kemudian menjalankan aplikasi. Ada dua kemungkinan gotcha dengan metode ini. Pertama, secara khusus memanggil emulator terminal tertentu; kedua, opsi --class disusutkan dan mungkin tidak berfungsi di masa mendatang.
Jadi, untuk saat ini (Ubuntu 20.04.1 dan Gnome 3.36.3), saya telah mengganti barisnya
Terminal=true
Exec=/home/rquint/Sage/SageMath/sage --class=SageTerminal
dengan
Terminal=false
Exec=gnome-terminal --class=SageTerminal -e /home/rquint/Sage/SageMath/sage
dan memiliki perilaku yang saya inginkan.