Linux для пользователя
Шрифт:
Но какова бы ни была последовательность вызова этих скриптов, с их помощью для каждого сеанса работы пользователя создается так называемая "пользовательская среда" или окружение, представляющая собой набор переменных с установленными для них значениями. Эти значения считываются некоторыми программами и утилитами, и в соответствии с их значениями изменяется поведение системы в тех или иных ситуациях.
Файлы /etc/profile и /etc/bashrc определяют общесистемные настройки пользовательской среды, а остальные перечисленные файлы определяют индивидуальную среду конкретного пользователя. Сравнительно небольшие добавления или исправления в индивидуальных файлах настройки, изменяющие значения,
Вначале посмотрите переменные окружения, которые заданы по умолчанию. Как мы уже говорили в разд. 5.6, это можно сделать с помощью команд set (и аналогичной ей команды typeset) или env. Значение, присвоенное отдельной переменной, можно просмотреть с помощью команды echo $name, где name - имя переменной.
Из всех переменных, которые вы увидите по команде set, обычно меняют вид приглашения PS1 и перечень путей поиска PATH. О том, как поменять значения этих переменных, было подробно рассказано в разд. 5.6. Если вы почему-либо пропустили этот раздел, загляните в него сейчас. Так что осталось только решить, в каком именно скрипте задать этим переменным новые значения. Рассмотрим этот вопрос на примере переменной PATH.
Переменная PATH формируется в двух скриптах: /etc/profile (пути, общие для всех пользователей) и в одном из пользовательских скриптов (например, в ~/.bash_profile), где к ранее сформированному перечню пользователь может добавить пути по своему желанию. Только не стоит делать это в файле ~/bashrc, так как последний перезапускается каждый раз при запуске второго, третьего и т. д. экземпляра оболочки. Для добавления пути в переменную PATH надо вписать в выбранный скрипт строку следующего вида (в этом примере в перечень добавляется путь /home/user/bin):
Обратите внимание на то, что двоеточия в конце нет. И имейте в виду, что каталоги просматриваются в поисках нужного файла в том порядке, как они перечислены в переменной PATH.
В отличие от MS-DOS Linux не ищет исполняемый файл в текущем каталоге. Поэтому, если вы хотите, чтобы поиск производился и в текущем каталоге, надо добавить и этот каталог (напомним, что он имеет имя, состоящее из одной точки) в переменную PATH. Но имейте в виду, что с точки зрения безопасности добавлять текущий каталог в перечень путей поиска недопустимо, так как злоумышленник может поместить в один из доступных ему по записи каталогов вредоносную программу, названную именем одной из часто используемых системных утилит. И, когда вы запустите эту программу, считая, что запускаете системную утилиту, она может нанести большой вред вашей системе, тем более, если вы запустили ее от имени суперпользователя.
При желании можно слегка "украсить себе жизнь", включив цветной вывод в команде ls (если по умолчанию он черно-белый). Для этого редактируем файл /etc/bashrc, в который добавляем строку:
Кстати, если вы захотите, чтобы Midnight Commander в окне эмулятора терминала был цветным, а не черно-белым, то установите переменную COLORTERM:
Глава 9. Подключение и настройка аппаратных устройств
Существует бесконечное множество аппаратных конфигураций, рассмотреть каждую из которых не представляется возможным. Даже если говорить только о типах устройств, и то рассмотреть их все будет трудновато. А, поскольку данная книга предназначена для начинающих пользователей Linux, будем для простоты считать, что компьютер такого пользователя имеет следующую конфигурацию:
• жесткий диск достаточно большого объема, разбитый на три раздела (раздел для DOS/Windows, раздел для Linux, swap-раздел);
• дисковод для гибких дисков на 3,5 дюйма;
• дисковод CD-ROM;
• принтер;
• клавиатура;
• мышь;
• звуковая карта;
• модем;
• внешний дисковод Zip фирмы Iomega, подключаемый через параллельный порт.
Вопросы настройки перечисленных аппаратных компонентов и рассмотрим. Причем, поскольку настройка монитора была разобрана в гл. 7, а о подключении и настройке модема будет рассказано в разделе, посвященном работе в Интернете, то нам остается рассмотреть только 7 типов устройств. Но, прежде чем переходить к рассказу об устройствах конкретных типов, необходимо пояснить такие общие понятия как драйвер устройства и специальный файл устройства.
9.1. Драйверы устройств
Как уже говорилось выше, одной из основных задач операционной системы является управление аппаратной частью. Ту программу или тот кусок программного кода, который предназначен для управления конкретным устройством, и называют обычно драйвером устройства. Необходимость драйверов устройств в операционной системе объясняется тем, что каждое отдельное устройство воспринимает только свой строго фиксированный набор специализированных команд, с помощью которых этим устройством можно управлять. Причем команды эти чаще всего предназначены для выполнения каких-то простых элементарных операций. Если бы каждое приложение вынуждено было использовать только эти команды, писать приложения было бы очень сложно, да и размер их был бы очень велик. Поэтому приложения обычно используют какие-то команды высокого уровня (типа "записать файл на диск"), а о преобразовании этих команд в управляющие последовательности для конкретного устройства заботится драйвер этого устройства. Поэтому каждое отдельное устройство, будь то дисковод, клавиатура или принтер, должно иметь свой программный драйвер, который выполняет роль транслятора или связующего звена между аппаратной частью устройства и программными приложениями, использующими это устройство.
В Linux драйверы устройств бывают трех типов.
Драйверы первого типа являются частью программного кода ядра (встроены в ядро). Соответствующие устройства автоматически обнаруживаются системой и становятся доступны для приложений. Обычно таким образом обеспечивается поддержка тех устройств, которые необходимы для монтирования корневой файловой системы и запуска компьютера. Примерами таких устройств являются стандартный видеоконтроллер VGA, контроллеры IDE-дисков, материнская плата, последовательные и параллельные порты.
Драйверы второго типа представлены модулями ядра. Они оформлены в виде отдельных файлов и для их подключения (на этапе загрузки или впоследствии) необходимо выполнить отдельную команду подключения модуля, после чего будет обеспечено управление соответствующим устройством. Если необходимость в использовании устройства отпала, модуль можно выгрузить из памяти (отключить). Поэтому использование модулей обеспечивает большую гибкость, так как каждый такой драйвер может быть переконфигурирован без остановки системы. Модули часто используются для управления такими устройствами как SCSI-адаптеры, звуковые и сетевые карты.