Как узнать, является ли пакет графическим приложением или приложением командной строки?

Я использую Ubuntu Server, поэтому я хочу узнать, является ли пакет GFX или CLI перед установкой. Неправильная установка приложений GFX приведет к извлечению большого числа зависимостей, и они все равно не будут работать (из-за отсутствия X-сервера).

2
задан 19 April 2019 в 10:28

1 ответ

Для установленного приложения Ваш может следовать моему другому ответу.


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

Для не установленное приложение мы можем адаптировать вышеупомянутый метод, но мы будем использовать apt-file команда вместо dpkg.

Таким образом, мы сделаем следующее:

  1. Установка apt-file:

    sudo apt-get install apt-file
    
  2. Обновление apt-file кэш:

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

    $ sudo apt-file list httpcode | grep -E "/bin/|/sbin/|/usr/games/"
    httpcode: /usr/bin/hc
    

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

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

    $ sudo apt-file list httpcode | grep "/man/"
    httpcode: /usr/share/man/man1/hc.1.gz
    

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

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

    $ sudo apt-file list httpcode | grep ".desktop"
    $
    

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

    Но в случае реального приложения GUI, такого как Терминал GNOME мы попытаемся найти *.desktop файл

    $ sudo apt-file list gnome-terminal | grep ".desktop$"
    gnome-terminal: /usr/share/applications/gnome-terminal.desktop
    

    И мы видим, что это найдено, таким образом, это - приложение GUI.

  6. Также мы можем проверить первый уровень обратных зависимостей с командой как

    $ apt-cache rdepends gnome-terminal | grep desktop
    ubuntu-gnome-desktop
    ubuntu-desktop
    ubuntukylin-desktop
    ubuntu-gnome-desktop
    cinnamon-desktop-environment
    ubuntu-desktop
    

    - таким образом, Терминалу GNOME нужен DE, который является, обычно работал на Xorg.

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

list of files link

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

list of files for httpcode package

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

3
ответ дан 19 April 2019 в 10:28

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

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