Що таке визначення Ubuntu "зареєстрованої програми"?


11

Я стикався з цим кілька разів під час встановлення програм із джерела та під час випадкових злому update-alternatives. Поки що це було лише незначне роздратування (тобто не перешкоджало досягненню кінцевої мети), але зараз це розчарування, оскільки воно вказує на дірку в моїй базі знань ... тому коли я отримую повідомлення про те, що " foo '- це "не зареєстрована програма" (або я не можу використовувати піктограму foo за замовчуванням, тому що Ubuntu не знає "foo"):

  1. Що визначає "зареєстрована заявка"?

  2. Як я можу визначити програму, встановлену з джерела (і, ймовірно, зберігається у $ HOME / bin / name-name) таким чином, щоб вона пакувала ту ж функціональність, що і пакет, встановлений з .deb? (якщо рішення не є очевидним з відповіді 1)

Приклад:

Завантажити я і розпаковувати щодня DEV збірок sublime-text-2до /home/tom/bin/sublime-text-2. Я створив * .desktop файл з відповідними ярликами і т. Д. Але піктограма для піднесеного не може відображатися в жодному запуску, навіть якщо я надаю повне ім'я шляху до параметра. Рішення полягає в установці 2-го примірника піднесеного з пакету deb.

Коли я встановлюю піднесений-текст-2 з .deb-, він встановлюється під /usr/bin && /usr/lib, встановлений .desktop файл зберігається під /usr/share/applications, і відповідний рядок: icon=sublime_text.

Де зв’язок, який мені не вистачає? Якось Ubuntu знає, як точно sublime_textвказати піктограму в останній, але не в першій (знову ж таки, навіть із повним шляхом).


Куди у вашій домашній папці ви кладете цей запуск?
Ісая

Також коли ви отримуєте повідомлення: "foo не є зареєстрованою заявкою"?
Ісая

@DoR: мій піднесений * .desktop знаходиться під /.local/share/applications. Найпомітнішим місцем, яке я пам'ятаю, було повідомлення про "зареєстрований додаток", коли я намагався ввести в список складену з джерела версію vim, update-alternativesщоб вона з'явилася замість встановлення "за замовчуванням". Корисні? Здогадайтесь, що я шукаю - це механізм, який надає Ubuntu знання про те, де знайти (наприклад) правильну піктограму для програми A - як це робиться з файлами * .desktop під /usr/share/applications/.
Том

Якщо ви встановите значення "піктограма" у вашій ~/.local/share/applicationsпусковій установці просто sublime_text( не повний шлях, чи це працює?
Ісая

Відповіді:


3

Я думаю, що ти стикаєшся з кількома проблемами одразу з джерелами встановлення.

update-alternativesне дозволить вам встановити будь-яку програму як бажану програму для заданого імені. Програму доведеться спочатку зареєструвати у--install опції. Наприклад:

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

Якщо ви хочете побачити, як здійснюється реєстрація, перевірте, наприклад /var/lib/dpkg/info/nano.postinst.

Однак зауважте, що було б досить помилковим визначити загальносистемну альтернативу, яка вказує на домашній каталог деяких користувачів. Зазвичай існують змінні середовища або інші налаштування, щоб встановити перевагу лише для одного користувача.

Проблема з файлом настільного комп’ютера, ймовірно, повністю окрема, але вам потрібно буде вказати більше деталей про те, які саме шляхи ви використовували.

Взагалі, встановити додаток з джерела може бути досить важко добре інтегруватися з рештою системи, залежно від конкретного додатка.


Петро: Так, я думаю, ти вдарив цвях ... і на роздуми, що коректують моє мислення, є відповідь. Я використовую систему на ноутбуці - лише ноутбук, який я використовую, вхід в систему і т. Д. І звичайно, UNIX - це багатокористувацька ОС, і визначає інсталяцію програми як таку. Ікона річ тривіальна, і я вважаю вигадку. У sublime-text postinstваших чеках я знайшов окремий файл значків, як ви запропонували, тож тепер я можу вказувати альтернативну установку (в моєму $ HOME) на певний файл, а не дозволяти йому «автоматично-магічно» шукати від виконуваного файлу. Я відзначаю це закритим / вирішеним, оскільки я вважаю, що зараз маю те, що мені потрібно.
Том

Як ми реєструємо це --install?
фіатджаф
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.