Apa definisi Ubuntu tentang "Aplikasi Terdaftar"?

11

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 '):

  1. Apa yang mendefinisikan "aplikasi terdaftar"?

  2. 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-2ke /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_textyang terakhir, tetapi tidak di yang pertama (sekali lagi, bahkan dengan path lengkap yang disediakan).

Tom
sumber
Di mana di folder rumah Anda meletakkan peluncur ini?
Yesaya
Juga, kapan Anda mendapatkan pesan: "foo bukan aplikasi terdaftar"?
Yesaya
@ DoR: sublime saya *. Desktop berada di bawah /.local/share/applications. Tempat paling terkenal yang saya ingat dari pesan "aplikasi terdaftar" adalah ketika mencoba memasukkan versi vim yang dikompilasi dari sumber ke dalam update-alternativesdaftar 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/.
Tom
Jika Anda menetapkan nilai "ikon" di ~/.local/share/applicationspeluncur hanya sublime_text( bukan jalur lengkap, apakah itu berfungsi?
Yesaya

Jawaban:

3

Saya pikir Anda mengalami beberapa masalah sekaligus dengan instalasi sumber.

update-alternativestidak akan mengizinkan Anda untuk mengatur sembarang program sebagai aplikasi pilihan untuk nama yang diberikan. Program harus didaftarkan terlebih dahulu dengan --installopsi. Sebagai contoh:

sudo update-alternatives --set editor /home/peter/bin/foo
update-alternatives: error: alternative /home/peter/bin/foo for editor not registered, not setting.

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.

Peter Eisentraut
sumber
Peter: Ya, saya pikir Anda memukul paku ... dan pada refleksi mengoreksi pemikiran saya adalah jawabannya. Saya menggunakan sistem pada laptop - hanya laptop yang saya gunakan, masuk, dll. Dan tentu saja, UNIX adalah OS multi-pengguna, dan mendefinisikan instalasi program seperti itu. Ikon itu sepele dan saya percaya sebuah kekhasan. Saya menemukan file ikon terpisah di sublime-text postinstcek 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.
Tom
Bagaimana cara mendaftar --install?
fiatjaf