Saya sudah mengalami ini beberapa kali ketika menginstal aplikasi dari sumber, dan selama hack sesekali update-alternatives
. Sejauh ini, itu hanya gangguan kecil (yaitu, tidak menghalangi tujuan akhir) tetapi sekarang menjadi frustrasi karena menunjuk ke lubang di basis pengetahuan saya ... jadi ketika saya mendapatkan pesan bahwa ' foo 'adalah "bukan aplikasi terdaftar" (atau saya tidak dapat menggunakan ikon default foo karena Ubuntu tidak memiliki pengetahuan tentang' foo '):
Apa yang mendefinisikan "aplikasi terdaftar"?
Bagaimana saya bisa mendefinisikan aplikasi yang terinstal dari sumber (dan kemungkinan berada di $ HOME / bin / app-name) sedemikian sehingga paket fungsionalitas yang sama dengan paket yang diinstal dari .deb? (jika solusinya tidak jelas dari jawaban 1)
Contoh:
Saya mengunduh dan membongkar paket dev harian sublime-text-2
ke /home/tom/bin/sublime-text-2
. Saya telah membuat file * .desktop dengan cara pintas yang sesuai, dll. Tetapi ikon untuk luhur tidak dapat ditampilkan di peluncur apa pun bahkan jika saya memberikan nama path lengkap ke opsi. Solusinya adalah dengan menginstal instance 2 luhur dari paket deb.
Ketika saya menginstal luhur-teks-2 dari sebuah paket deb, menginstal bawah /usr/bin && /usr/lib
, menginstal .desktop file disimpan di bawah /usr/share/applications
, dan garis yang relevan berbunyi: icon=sublime_text
.
Di mana hubungan saya hilang? Entah bagaimana Ubuntu tahu bagaimana cara membalas ikon dari sublime_text
yang terakhir, tetapi tidak di yang pertama (sekali lagi, bahkan dengan path lengkap yang disediakan).
/.local/share/applications
. Tempat paling terkenal yang saya ingat dari pesan "aplikasi terdaftar" adalah ketika mencoba memasukkan versi vim yang dikompilasi dari sumber ke dalamupdate-alternatives
daftar sehingga akan muncul alih-alih pemasangan 'default'. Bermanfaat? Tebak apa yang saya cari adalah mekanisme yang memberikan Ubuntu dengan pengetahuan tentang di mana menemukan (misalnya) ikon yang benar untuk aplikasi A - seperti halnya dengan file * .desktop di bawah/usr/share/applications/
.~/.local/share/applications
peluncur hanyasublime_text
( bukan jalur lengkap, apakah itu berfungsi?Jawaban:
Saya pikir Anda mengalami beberapa masalah sekaligus dengan instalasi sumber.
update-alternatives
tidak akan mengizinkan Anda untuk mengatur sembarang program sebagai aplikasi pilihan untuk nama yang diberikan. Program harus didaftarkan terlebih dahulu dengan--install
opsi. Sebagai contoh:Jika Anda ingin melihat bagaimana pendaftaran dilakukan, periksa misalnya
/var/lib/dpkg/info/nano.postinst
.Perhatikan, bagaimanapun, bahwa itu akan cukup palsu untuk mendefinisikan alternatif seluruh sistem yang menunjuk ke direktori home beberapa pengguna. Biasanya ada variabel lingkungan atau pengaturan lain untuk menetapkan preferensi hanya untuk satu pengguna.
Masalah dengan file desktop mungkin sepenuhnya terpisah, tetapi Anda harus memberikan rincian lebih lanjut tentang jalur mana yang Anda gunakan.
Secara umum, menginstal aplikasi dari sumber bisa sangat sulit untuk diintegrasikan dengan baik dengan seluruh sistem, tergantung pada aplikasi tertentu.
sumber
sublime-text
postinst
cek saya seperti yang Anda sarankan, jadi saya sekarang bisa mengarahkan instalasi alternatif (dalam $ HOME saya) ke file tertentu daripada membiarkannya mencari secara otomatis secara ajaib dari yang dapat dieksekusi. Saya menandai ini ditutup / diselesaikan karena saya yakin saya memiliki apa yang saya butuhkan sekarang.--install
?