Я относительно новый пользователь Linux, поэтому сегодня я столкнулся с проблемой. Я установил внешний интерфейс эмулятора ("visualboyadvance-gtk") из репозитория apt моего дистрибутива, но после его завершения я не смог понять, что это за команда терминала для программы. Обычно команда терминала и имя пакета довольно близки, поэтому я никогда не сталкивался с этой проблемой раньше. (В этом случае команда оказалась 'gvba'; ничего похожего на имя пакета в репозитории ..)

Итак, мой вопрос: есть ли быстрый и простой способ определить команду терминала для любого пакета, который я установил? Я просмотрел информацию «apt-cache show» для этого пакета, но в нем не было ничего, кроме самой команды терминала. Я предполагаю, что должен быть способ найти информацию такого типа с помощью APT или dpkg или чего-то еще ..

3 ответа3

1

Я обычно делаю

  dpkg -L packagename | grep -E '/s?bin/'

чтобы получить список всего "вызываемого", который предлагает этот пакет.

Правило простое: согласно политике DebianFHS) все программы, вызываемые обычными пользователями (не администраторами), должны помещать свои двоичные файлы (или ссылки на них, обычно символические) в /bin или /usr/bin 1, и все программы, вызываемые системными администраторами, должны помещать свои двоичные файлы (или ссылки на них) в /sbin или /usr/sbin 1.

Любые локальные программы, не установленные из пакетов и, следовательно, не являющиеся частью "системы", должны помещать свои вызываемые двоичные файлы в /usr/local/bin или /usr/local/sbin эти места "ваши", и вы Гарантируется, что ни один пакет, установленный из официальных репозиториев, никогда не поместит туда / не свяжет бинарный файл.

Если вы бежите

echo $PATH

в вашем терминале как обычный пользователь вы увидите /bin и /usr/bin и /usr/local/bin списке - вот где оболочка ищет не встроенные команды, которые вы просите ее выполнить. У суперпользователя также будут перечислены " sbin " версии этих каталогов.

И, наконец, одно небольшое замечание: вы не можете - просто взглянув на список программ, предлагаемых пакетом, - определить, какая из них является командной строкой ("вызываемой в терминале") или GUI (требующей подключения X-сервера), поскольку оба вида программ размещены в одной иерархии каталогов. С другой стороны, те приложения с графическим интерфейсом, которые хотят интегрироваться в среду рабочего стола (такие как GNOME, KDE, XFCE, LXDE и т.д.), Обычно предоставляют так называемые "файлы рабочего стола" (заканчивающиеся расширением .desktop ), которые дают их программу. описательный заголовок, описание его назначения и описание способа вызова приложения. Эти файлы сканируются средой рабочего стола и отображаются в "меню приложения" (или иным образом используются аналогичным образом). Поэтому , если вы ищете для такого рода программ, вы можете grep вывод dpkg -L для .desktop


1 Различие между иерархиями /usr и / является тонким и в настоящее время спорным в сообществах, ориентированных на Linux, поэтому давайте не будем углубляться в обсуждение этого вопроса.

0

Проблема в том, что пакеты могут включать в себя много команд или (как в случае с библиотеками) вообще ни одной.

Вы можете увидеть содержимое пакета с dpkg -L packagename . Все, что пакет установил в /usr/bin будет запускаться из командной строки, хотя не все команды дадут очень ощутимые результаты.

Вы также можете попробовать поискать на man-страницах - man -k visualboyadvance может дать вам что-то полезное.

0

Поиск здесь для вашего пакета.

Затем откройте список файлов.

Все в /usr/bin/ является исполняемым файлом, который вы можете использовать со своего терминала.

В твоем случае только гвба.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .