Apa yang terjadi
Masalah seperti ini terkait dengan kerangka pencocokan aplikasi Unity. Untuk menyederhanakan detail teknis, program windows dan aplikasi adalah dua hal terpisah untuk Ubuntu. Ubuntu perlu 'menebak' aplikasi mana yang memiliki jendela tertentu. Dan terkadang tebakan itu gagal, dan tanda tanya muncul di peluncur.
Kegagalan mungkin disebabkan oleh:
- Bug di BAMF (kerangka pencocokan aplikasi yang disebutkan di atas).
- Deskripsi aplikasi yang salah (alias file .desktop ').
- Kurangnya deskripsi aplikasi sama sekali. File executable yang meluncurkan windows tidak memiliki metadata ini.
Aplikasi yang ditunjukkan dalam pertanyaan (KeePass2) menderita masalah tipe 1 yang telah dilaporkan ke pelacak bug yang sesuai .
Contoh masalah
Contoh di bawah ini bersifat teknis, ditujukan untuk programmer yang ingin aplikasi mereka sendiri ditampilkan dengan benar di peluncur Ubuntu.
Masalah 3 - Tidak ada deskripsi aplikasi
Agar aplikasi dapat diintegrasikan dengan Unity — artinya, dapat dicari di Dash dan ditempatkan di peluncur — aplikasi harus memiliki entri desktop. Entri tersebut ditempatkan di /usr/share/applications/
, /usr/local/share/applications/
, dan $HOME/.local/share/applications/
(dua terakhir yang untuk perangkat lunak pihak ketiga, sistem dan user-hanya masing-masing). Mereka diakhiri dengan .desktop
ekstensi dan ikuti format dasar ini:
[Desktop Entry]
Type=Application
Name=My Application's Name
Icon=/file/path/of/my/icon
Exec=/file/path/of/my/executable
Entri ini memulai program dengan memanggil yang Exec
dapat dieksekusi. Setiap kali program itu menampilkan jendela atau dialog, Unity akan melihat bahwa executable-nya "milik" deskripsi aplikasi ini, dan menggunakan yang diberikan Name
dan Icon
di peluncur.
Ini adalah contoh tulang punggung. The spesifikasi formal mencakup banyak fitur-fitur canggih.
Masalah 2 - Deskripsi aplikasi salah
Mari kita asumsikan my_app.desktop
ada di direktori aplikasi yang valid, tetapi:
/file/path/of/my/icon
tidak ada di sistem file.
/file/path/of/my/icon
bukan gambar.
- entri menggunakan beberapa sintaks yang salah atau tag yang tidak valid.
Dalam kasus mana pun di atas, Ubuntu tidak akan dapat mencantumkan jendela aplikasi dengan benar di peluncur.
Masalah 1 - Bug di BAMF
Pada Ubuntu 11.10, BAMF memiliki sejumlah bug yang mencegah pencocokan aplikasi yang benar. Jebakan (sementara) umum meliputi:
- The
Exec
path menjadi link simbolik daripada file biasa
- Eksekusi menjadi skrip yang meluncurkan executable utama.
Dalam kasus ini, programmer tidak memiliki pilihan selain menggunakan solusi, seperti menghapus abstraksi tautan simbolis, atau menghubungkan ke executable secara langsung. Tidak satu pun dari ini diperlukan oleh spesifikasi entri desktop itu sendiri.