Как запускать программы: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 44: Строка 44:
  /usr/bin/sane-find-scanner
  /usr/bin/sane-find-scanner
  /usr/bin/scanimage
  /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.
....
....


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

Версия от 21:30, 3 января 2009

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

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

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

Пакеты rpm

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

Поэтому воспользуемся непривычным для новичков способом, зато чрезвычайно надёжным и уважаемым опытными пользователями. И начнём мы с чтения 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. Ведь именно туда кладётся документация, и именно в этот каталог стоит заглядывать первым делом при возникновении проблем с программами.

Примечания

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