Итак,
вообразим, что случилось страшное. Свеженький дистрибутив Red Hat Linux
9 установлен (точнее, система модернизирована с версии 7.3), аварийная
дискета создана, перезагрузка прошла успешно, но всё-таки: Вот
на чём мы остановились в прошлый раз: на том, что графическая оболочка
после модернизации отказалась запускаться. Однако инсталляция-то шла в
графическом режиме, как мы помним, к тому же не в самом элементарном! В
чём же дело? А
дело снова в том, что была избрана опция апгрейда существующей системы,
а не честной установки (в идеале, с форматированием служебных и
корневого разделов). При апгрейде умная программа инсталляции старается
оставить в неприкосновенности максимум конфигурационных файлов,
имеющиеся в системе. А значит, модернизации не был подвергнут и тот
файл, в котором хранятся параметры видеокарты. Кстати, совершенно не
факт, что на вашей машине, дорогой читатель, с графическим режимом
возникнут те же затруднения. Для своей noname-GeForce 440 MX я скачал
(пока ещё сидел под версией 7.3) с сайта nvidia разработанный самой
компанией драйвер для Linux, предназначавшийся - разумеется - для
предыдущей версии ядра ОС. В процессе же инсталляции система применяла
универсальный драйвер, параметры активации которого определялись
динамически. В конфигурационном файле на жёстком диске, оставшимся
нетронутым, сохранилась ссылка на прежний nvidia-драйвер - который,
разумеется, отказался работать с обновлённым ядром. Вот такие пироги. Методически
наиболее продуктивным действием в этой ситуации я счёл не разбираться с
параметрами настройки вручную, а заглянуть опять-таки на сайт nvidia и
взять оттуда свежую версию драйвера. Наверняка она мне подойдёт лучше,
чем стандартная из комплекта поставки дистрибутива. "То есть как это -
заглянуть на сайт? - спросит кто-то, - из командной строки, в текстовом
режиме?.." Ну да. А кто нам, собственно, помешает? Итак,
первая задача - настроить модем. То есть допустим, что соединение у вас
именно модемное - как у меня. Настройка сетевой карты под Linux -
работа крайне увлекательная (если забыть об автоматическом получении
адреса с сервера при старте системы и говорить о ручной настройке). Но
в случае домашнего компьютера сталкиваться с ней приходится нечасто.
Разве что тем, кто сидит на выделенной линии: Поговорим о них
как-нибудь позже. Так
вот: есть несколько утилит, осуществляющих взаимодействие с модемом в
Linux из командной строки. Да и графические "звонилки" в системе,
строго говоря, представляют собой по большей части просто удобные
интерфейсы к этим "корневым" утилитам. И больше всех мне по душе wvdial
(подробнее с которой можно познакомиться при помощи команды man wvdial,
как водится). Одна
из приятных особенностей wvdial - наличие интеллектуальной системы
первичной инициализации модема. Достаточно исполнить в командной строке
команду wvdialconf, и базовый файл /etc/wvdial.conf будет создан.
Давайте теперь его подредактируем в vi.
Файл
/etc/wvdial.conf разбит на секции, в качестве разделителей которых
выступают сами названия секций, предварённые словом Dialer, в
квадратных скобках. Если исполнять команду без параметров, то в дело
пойдут установки, перечисленные в секции Defaults. В противном случае
дополнительно будут исполнены указанные в добавочных секциях команды. Мне
повезло с коммутатором и провайдером: на линии прекрасно работает
тональный набор. Именно он по умолчанию реализован в USR Sportster 56K,
установленном на моём домашнем ПК. Если бы мне потребовалось запустить
wvdial с набором номера в импульсном режиме, я сделал бы это командой wvdial pulse (Разумеется,
если бы предварительно я не подредактировал /etc/wvdial.conf именно
так, как указано в примере выше, простое употребление слова pulse после
имени команды ни к чему бы не привело.) Пока
нет необходимости менять настройки модема, записанные в файл утилитой
по результатам тестирования. Добавим лишь необходимые параметры - номер
телефона, имя пользователя и пароль. (Да, телефон у меня в примере
указан трёхзначный: мой телефонный оператор - не МГТС - предоставляет и
провайдерские услуги; для своего внутреннего пула он завёл именно такой
номер). Теперь можно звонить. Просто набираем wvdial в командной
строке, жмём на Enter и наслаждаемся результатом.
Давайте
пока прервём сессию связи с провайдером, убедившись сперва, что
PPP-обмен начался (дождавшись, пока на экране появится соответствующая
строчка). Для того, чтобы "положить трубку", достаточно нажать
комбинацию клавиш Ctrl и С. И пока поговорим о другом. А
именно - о пароле. Он в файле /etc/wvdial.conf хранится в открытом
текстовом виде. Что означает: доступом к настройкам wvdial должен
обладать один только root. Иными словами, не следует допускать, чтобы
права пользования файлом оказывались бы мягче, чем 400:
Но
это же автоматически должно означать, что никто, кроме
суперпользователя, не сумеет дозвониться до провайдера и открыть доступ
к Интернету. Что же получается - все рекомендации по безопасности
побоку, и давайте входить в систему как root? Во-первых,
делать это в любом случае не обязательно. Запустить wvdial и
инициировать выход в Сеть можно из отдельного окна терминала, в котором
управление локально передано суперпользователю командой su. А
во-вторых, можно обойтись и без команды su вообще. Обратившись к
команде sudo. Su,
как нам известно, переводит терминальную сессию в режим "от имени
другого пользователя". А sudo позволяет выполнять отдельные команды -
также одному авторизованному пользователю системы от имени другого. Для
манипулирования настройками sudo предусмотрена утилита visudo, которая
позволяет редактировать конфигурационный файл программы. Запускать
visudo имеет право только root, - так давайте же сделаем это. На
данный момент нас будет интересовать самая последняя строка в файле.
Запишем в неё информацию, необходимую для того, чтобы обычному рядовому
пользователю (dummy, в нашем примере) позволено было запускать команду
wvdial. Синтаксис файла sudo можно подробно изучить по странице
руководства man 5 wvdial.conf, а я ограничусь тем, что приведу
подходящую для нашего случая строчку.
В
принципе, всё достаточно прозрачно. Пользователю dummy с локального
компьютера разрешён запуск программы /usr/bin/wvdial от имени
суперпользователя без ввода пароля. Пароль имеется в виду тут, конечно,
не root'овский, иначе вся затея потеряла бы смысл. Просто не факт ведь,
что пользователь dummy сидит у монитора целый день. Может, на его
рабочее место прокрадётся однажды другой пользователь, и из
dummy-сессии коварным образом запустит программу выхода в Интернет? Вот
для предотвращения подобной ситуации пользователю dummy пришлось бы, не
укажи мы опции NOPASSWD, по умолчанию вводить свой собственный пароль при каждой попытке запуска wvdial. Обратите
внимание ещё и на то, что в файле указывается не просто имя программы,
исполнение которой передоверяется другому, но полный путь к ней. Это -
гарантия на тот случай, если вероломный злоумышленник, которому оказано
высокое доверие, разместит у себя в домашней директории некий
вредоносный код, назовёт его wvdial и попытается исполнить при помощи
команды sudo - c правами root. Последствия могут быть самыми
печальными, как нетрудно догадаться. Итак,
дело в шляпе: завершаем сессию root, снова заходим в систему - уже как
dummy, - исполняем команду sudo wvdial: На экране после этого,
разумеется, не появляется снова приглашение командной строки. Там
повисает информация о том, что РРР-соединение инициировано, скорость
обмена - такая-то. Всё. Работе это, впрочем, не помешает. Можно запустить wvdial в фоновом режиме: wvdial & Знак
амперсанда после имени команды как раз и указывает на то, что она
переводится в режим фона. Такие "закулисные" команды именуются
"заданиями" (jobs), и в каждый момент времени можно увидеть, что за
задания сейчас исполняются - просто набрав jobs в командной строке.
Чтобы перевести задание из фонового режима в активный, используется
директива fg <номер_задания>, где номер задания - тот самый, что
указывается в перечне jobs. Название fg происходит от foreground -
"передний план".
Другой
способ заполучить в свои руки пригодную к работе командную строку после
старта wvdial - просто открыть дополнительное текстовое терминальное
окно (скажем, одновременно нажав клавиши Alt и F2) и опять-таки
произвести вход в систему пользователем dummy. И
вот уже там, в командной строке dummy, давайте наберём наконец
волшебное слово elinks - название и одновременно команду на запуск
одного их текстовых браузеров, входящих в комплект поставки Red Hat
Linux 9. Что, не представляете себе, как может выглядеть текстовый
браузер? Сейчас представите...
Однако,
подождите: прежде чем нажимать на "Ввод", давайте сразу укажем, куда
именно заглянуть при помощи запускаемого браузера. Просто дополним
строку его вызова веб-адресом nvidia в самом что ни на есть упрощенном
варианте. Вот увидите - сработает: elinks nvidia.com Вот
оно, чудо текстовой мысли. В нижней строчке псевдографического окна
отображается скорость закачки. Нажатием на клавишу Escape в любой
момент можно вызвать меню - очень, кстати, внятно и привычным образом
организованное. Там, где на оригинальном сайте предусмотрена загрузка
изображений (в тексте веб-страницы стоит тег IMG), elinks показывает
условное обозначение:[IMG]. Переход по имеющимся на странице ссылкам (и
её пролистывание) осуществляется при помощи клавиатурных стрелочек
вверх и вниз. Будьте внимательны, пожалуйста: стрелки вправо и влево
отвечают за переходы по истории текущего сеанса сёрфинга, то есть между
уже загруженными страницами. Веб-сайт
nvidia, к счастью, не содержит сверхновомодных элементов, и потому
доступен для текстовой навигации. Практически сразу, на самой первой
странице можно отыскать ссылку Drivers, и, пройдя по ней, выбрать
раздел Linux and FreeBSD drivers.
Кстати,
выбираемая нами ссылка отображается в нижней, информационной строке
окна браузера. Отыщем в коллекции драйверов для свободно
распространяемого ПО ссылочку на Linux-драйвера для архитектуры IA32.
На
следующей странице нам будет предложено ознакомиться с лицензионным
соглашением, а также загрузить драйвера для различных версий ядра
операционной системы. Red Hat Linux 9 распространяется с ядром 2.4.20,
так что выбрать надо будет именно такой вариант. Но прежде изучим
инструкцию по установке этого драйвера - благо представлена она в виде
текстового файла, и потому загрузится быстро.
Кстати,
никто не помешает сохранить инструкцию для позднейшего вдумчивого
изучения. Нажав на Escape, вызовем меню браузера и выберем там
соответствующую опцию.
Затем
вернёмся на ту страницу, с которой возможна загрузка драйверов,
наведёмся при помощи стрелки вниз на строку Download -
NVIDIA-Linux-x86-1.0-4363.run. Нажмём на заветный "Ввод".
Разумеется,
файл следует сохранить, поэтому выберем опцию Save. Дело пошло: шесть с
лишним Мбайт информации будут закачиваться на ваш компьютер... скажем
так... достаточно долго, чтобы успеть за это время сделать какие-нибудь
важные домашние дела. Или, скажем, открыть ещё одну текстовую консоль и
в ней почитать инструкцию от nvidia по инсталляции её замечательного
файла.
Инструкция
эта элементарна: нужно дождаться, пока закачается файл, и запустить его
на исполнение в новой командной оболочке - просто набрав sh
NVIDIA-Linux-x86-1.0-4363.run и нажав на "Ввод". У меня лично, кстати,
при первой закачке случился странный сбой. Данный файл представляет
собой не двоичный, а именно командный (текстовый) набор инструкций,
который по принятым в системе правилам должен начинаться со строки #! /bin/bash Строка
эта служит указателем на тип командного интерпретатора, который данный
скрипт должен претворять в жизнь. Так вот, в процессе закачки драйвера
я как раз-таки открыл новую терминальную сессию и исполнил команду head NVIDIA-Linux-x86-1.0-4363.run (с ней мы уже знакомы - это демонстрация первых нескольких строчек файла). Оказалось, что начинается файл совсем не с начала.
Стало
быть, произошла какая-то ошибка. Я прервал загрузку, запустил её снова,
опять проконтролировал заголовок файла - на сей раз он оказался
нормальным. И по прошествии некоторого времени процесс загрузки был
завершён, закачанный скрипт исполнен, и на экране появилось сообщение о
том, что всё в порядке; следует только подправить конфигурационный файл
/etc/X11/XF86Config.
Приятно,
что система установки драйвера от nvidia следует в общем русле
Linux-идеологии в отношении файлов конфигурации, и даёт пользователю
возможность править их лично - хотя и предоставляет при этом самые
подробные инструкции по тому, как именно это делать. Многие
администраторы системы чувствуют себя увереннее, если точно знают, что
никакая лихая утилита не изменит в одночасье с любовью отлаженный ими
файл конфигурации той или иной программы - тем более, такой важной, как
система X Window. Но разумеется, прежде чем браться за правку важного
системного файла, скопируйте его в исходном состоянии в специально
отведённую папочку - так всё же надёжней будет. После
того, как все процедуры с апгрейдом драйвера закончены, можно
приступить к настройке собственно видеорежима. В Red Hat 7.3 и более
ранних версиях мы обратились бы к утилите Xconfigurator. Но в Red Hat 9
к нашим услугам программа помощней. Перейдите в режим root и запустите
в командной строке redhat-config-xfree86.
Вот
оно, счастье, глядит из монитора. Настройка разрешения и глубины цвета
потребует отныне не больше труда, чем аналогичная операция в Windows:
утилита redhat-config-xfree86 доступна теперь в любой момент.
А
на второй закладке этого окошка можно пронаблюдать и настроить
дополнительные параметры видеосистемы. К сожалению, полноценная
поддержка 3D-ускорения для Linux фирмой nvidia пока не реализована, но
как утверждается, это - дело ближайшего будущего. А вот счастливые
обладатели ATI Radeon могут наслаждаться и полноценным 3D - запуская
из-под Linux, скажем, Return to Castle Wolfenstein... Впрочем, о работе
с подобными приложениями мы поговорим как-нибудь уже совсем отдельно. Итак,
настроив параметры видео, мы с вами теперь обладаем волшебной
возможностью запускать полноценный графический режим после входа в
систему. Для этого достаточно простенькой команды startx от
имени любого пользователя. Попробуйте! И насладитесь пока просто общим
видом открывшегося перед вами великолепия. А как всем этим богатством
распорядиться - мы с вами посмотрим в следующий раз.
К следующей статье
К оглавлению
|
|