Как запускать программы

Материал из ALT Linux Wiki

Как запустить только что установленную программу?

Частенько приходится встречать вопрос «я поставил программу ХХХХ, и как мне её запустить?».

Разделим все программы на три вида: из пакетов вашего дистрибутива или совместимых (из сетевого репозитория, с установочных дисков), чужие RPM и совсем чужие инсталляторы типа *.run.

Программы из дистрибутива и совместимых репозиториев

После установки новой программы надо посмотреть в меню своей графической оболочки. В целом, не все программы попадают в меню и не все программы, попавшие в меню, попадают там в очевидный раздел (некоторые пользователи не могут найти даже очевидно расположенные в меню программы).

Если в меню программы не видно, воспользуемся непривычным для новичков, зато чрезвычайно надёжным и уважаемым опытными пользователями способом. Начнём мы с чтения man’ов:

Выдержка из man rpm:

...
ОПЦИИ ЗАПРОСА
      Общая форма команды запроса (инспекции) выглядит так:
           rpm -q [опции-запроса]
...
      -l, --list
             Вывести список файлов, входящих в данный пакет.
...

Из чтения данного отрывка (хотя я рекомендую почитать man самостоятельно и более полно) можно понять, что команда rpm -ql ИМЯ_ПАКЕТА покажет все файлы, входящие в пакет.

Например:

[alexei@threebears ~]$ rpm -ql sane
/usr/bin/gamma4scanimage
/usr/bin/sane-find-scanner
/usr/bin/scanimage
/usr/share/doc/sane-1.0.19
/usr/share/doc/sane-1.0.19/AUTHORS
/usr/share/doc/sane-1.0.19/COPYING
.....
..... пропущено много строк
..... 
/usr/share/man/man1/scanimage.1.gz
/usr/share/man/man7/sane.7.bz2
[alexei@threebears ~]$ 

Таким образом можно увидеть все файлы, которые вошли в состав пакета. Для того, чтобы понять, какие из них можно запускать, следует усвоить один постулат: все исполняемые[1] файлы попадают в каталог /usr/bin.

Объединив всё вышесказанное, можно понять, что пакет sane содержит три исполняемых файла: gamma4scanimage, sane-find-scanner, scanimage. Для упрощения поиска нужных файлов можно воспользоваться перенаправлением ввода/вывода и утилитой grep:

[alexei@threebears ~]$ rpm -ql sane | grep /usr/bin
/usr/bin/gamma4scanimage
/usr/bin/sane-find-scanner
/usr/bin/scanimage

Выяснив имена исполняемых файлов, можно запускать их без всяких меню и иконок. Для этого достаточно набрать их имена в командной строке, и нажать ввод:

[alexei@threebears ~]$ sane-find-scanner 
 # sane-find-scanner will now attempt to detect your scanner. If the
 # result is different from what you expected, first make sure your
 # scanner is powered up and properly connected to your computer.
 # No SCSI scanners found. If you expected something different, make sure that
 # you have loaded a kernel SCSI driver for your SCSI adapter.
libusb couldn't open USB device /dev/bus/usb/001/001: Permission denied.
libusb requires write access to USB device nodes.
....
....

Кроме того, недурной мыслью будет обратить внимание на то, какие файлы попали в каталог /usr/share/doc. Именно туда кладётся документация, и именно в этот каталог стоит заглядывать первым делом при возникновении проблем с программами.

Чужие RPM-пакеты

Для этих программ применимо всё, что сказано выше, с одним важным исключением: поскольку RPM-пакеты разных дистрибутивов не совместимы между собой, то никто не гарантирует, что в дистрибутиве ALT Linux такой пакет нормально установится и будет складывать свои файлы туда же, куда и «родные» пакеты.

Инсталляторы *.run, *.bin и прочие

Внимание: отвественность за установку программ нештатными средствами (а именно о них сейчас речь) целиком и полностью лежит на пользователе! И не говорите потом, что вас не предупреждали.

Никогда не ставьте такие программы в «места по умолчанию», то есть в /usr. Ставьте их в /opt, /usr/local или в домашний каталог. Нет стандартного способа узнать, сколько, каких и куда инсталлятором было записано файлов, поэтому ищите их сами: проявите фантазию, примените сортировку по дате в программе ls, например ls -ltc, освойте наконец всю мощь утилиты find.

Примечания

  1. В данном контексте под исполняемыми следует понимать файлы, для которых предусмотрен непосредственный запуск пользователем.