Как найти название (названия) программы установленного пакета?

Когда я установил использование пакета apt, существует ли способ узнать, которой командой (командами) я могу запустить установленную программу?

Например, пакет httpcode не доступно как httpcode, и описание пакета (apt show httpcode) не объясняет, как выполнить его. Как я, возможно, узнал, что это выполняется через hc из командной строки?

Существуют два немного hacky обходные решения, которые я нашел:

  1. Предположение, что программы по умолчанию установлены в usr/bin, Я работал ls -ltc | head -n 10 найти recenlty коснулось файлов там, и действительно я нашел hc.

  2. Так же к 1, dpkg -L httpcode возвращает список файлов, созданных путем установки пакета, который также перечисляет /usr/bin/hc.

Существует ли лучшее решение этой проблемы, которая не зависит от интуиции того, где программа могла бы быть сохранена на диске?

Я также нашел это man httpcode действительно открывает страницу справочника программы, даже при том, что я звонил, она с пакетом называет как аргумент. Это всегда работает (если программа предоставляет страницу справочника)?

5
задан 6 April 2019 в 06:56

2 ответа

Местоположения файлов (исполняемые файлы, страницы справочника и другой материал) должны приспособить Стандарту Иерархии Файловой системы, как правило.

Лично я решаю эту проблему с одним из четырех методов:

  1. Известно, что исполняемые файлы помещаются в каталоги, объявленные в $PATH переменная среды:

    $ echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

    Таким образом, можно перечислить все файлы пакета с dpkg --list (см. man dpkg для деталей), и находят файлы в /bin, /sbin, /usr/bin, /usr/sbin, /usr/games каталоги. Таким образом, мы можем использовать следующую команду:

    $ dpkg -L httpcode | grep -E "/bin/|/sbin/|/usr/games/"
    /usr/bin/hc
    

    Таким образом, мы видим это /usr/bin/hc принадлежит этому пакету.

  2. Перечислите все страницы справочника:

    $ dpkg -L httpcode | grep "/man/"
    /usr/share/man/man1
    /usr/share/man/man1/hc.1.gz
    

    Таким образом, мы видим, что можем использовать man hc.

  3. Для приложений с GUI я выполняю поиск *.desktop файлы.

    $ dpkg -L httpcode | grep ".desktop"
    $
    

    В данном случае это ничего не возвратит.

    С некоторыми усложнил собственный (или плохо упакованный) наполняют этот метод, преобразовывает к чтению Exec переменная в *.desktop файл - здесь Telegram является примером:

     $ dpkg -L telegram | grep ".desktop"
    /usr/share/applications/telegram.desktop
    
    $ grep Exec $(dpkg -L telegram | grep ".desktop")
    Exec=/opt/telegram/Telegram -- %u
    

    О нас Exec посмотрите Настольную Спецификацию Записи.

  4. Для не установленный упаковывают, можно посетить https://packages.ubuntu.com и использовать Поисковые каталоги пакета здесь (для всех выпусков или для выбранной версии), затем нажать на список ссылки файлов в правом столбце таблицы:

    list of files link

    и каждый получит список файлов:

    list of files for httpcode package

    Этот список может интерпретируемый вручную или при помощи панели поиска в браузере.

9
ответ дан 23 November 2019 в 08:54

Если вы можете создать для него ярлык на рабочем столе, щелкнув его правой кнопкой мыши в Linux, эквивалентный меню «Пуск», вы можете получить доступ к свойствам указанного ярлыка.

Тогда просто используйте конец команды, которую использует ярлык, для EG я только что нашел Google Chrome (google-chrome-stable).

БАМ, вот так. Команда для запуска чего-либо через терминал и/или лаунчер

0
ответ дан 28 August 2020 в 15:33

Другие вопросы по тегам:

Похожие вопросы: