Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Пользователю -> Костромин В.А. -> "Самоучитель Linux для пользователя" -> 89

Самоучитель Linux для пользователя - Костромин В.А.

Костромин В.А. Самоучитель Linux для пользователя — СПб.: БХВ Петербург, 2003. — 672 c.
ISBN 5-94157-183-6
Скачать (прямая ссылка): samouchiteldlyapolz2003.djvu
Предыдущая << 1 .. 83 84 85 86 87 88 < 89 > 90 91 92 93 94 95 .. 274 >> Следующая


Важно отметить, что программы, запускаемые из .xinitrc, должны запускаться в фоновом режиме, если только они не завершаются немедленно. Иначе эти программы будут препятствовать запуску других программ. Однако одна из запущенных программ (обычно менеджер окон или эмулятор терминала) Глава 7. Графический интерфейс_

.209

должна выполняться не в фоновом режиме, а на переднем плане, чтобы работа скрипта не завершалась (завершением работы этой программы пользователь сообщает программе > in: t, что закончил работу и что сама она должна завершиться). В приведенном примере, если менеджер окон правильно сконфигурирован, то для завершения работы в Х-сессии достаточно выбрать команду Exit в меню менеджера twm.

Аргументы, заданные в командной строке вызова xinit, позволяют обойти выполнение скриптов .xinitrc и .xserverrc. В командной строке может быть указана альтернативная программа-клиент и/или альтернативный сервер. Клиентская программа должна быть первым аргументом в командной строке вызова xinit. Для того чтобы вызвать конкретный Х-сервер, добавьте двойное тире (после указания программы-клиента и ее аргументов), после которого укажите имя нужного сервера.

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

Если конкретное имя сервера не указано и следом за двойным тире идет двоеточие с последующей цифрой, xinit будет воспринимать это число как номер дисплея вместо предполагаемого по умолчанию нуля. Вообще все следующие за двойным тире аргументы добавляются к командной строке вызова сервера.

Вот несколько примеров командной строки вызова программы xinit. П [user]$ xinit

Этой командой будет запущен сервер, на который указывает ссылка х, и выполнен пользовательский скрипт .xin trc, если таковой существует, а иначе просто запушена программа xterm. П [user]$ xinit — /usr/XilR6/bin/Xqdss :1

Таким образом, можно запустить какой-то конкретный сервер на альтернативном дисплее.

П [user J $ xinit -geometry =80x65+10+10 -fn 8x13 -} -fg white -bg navy

По этой команде будет запущен сервер, на который указывает ссылка х, и запускаемой по умолчанию программе xterm будут переданы аргументы, перечисленные в командной строке. Скрипт .xiritrc будет проигнорирован.

П [userJ $ xinit -є widgets — .Xsun -1 -с

В этом случае для запуска сервера используется команда .Xsun -1 -с, а запускаемой по умолчанию программе-клиенту xterm будут переданы аргументы -е widgets. 210_

і Самоучитель Linux для пользователя

Поскольку пользователям-новичкам обычно не хватает квалификации для создания собственного варианта скрипта .xinitue, администраторы сайтов могут помочь им в вызове графического интерфейса, создав общедоступный скрипт, выполняющий эту функцию. Такие скрипты обычно называются Xll, xstart, или startx и являются удобным способом создания простого интерфейса для пользователей-новичков. Вот пример простейшего скрипта такого вида:

tt!/bin/sh

xinit /usr/local/lib/site.xinitrc — /usr/XHR6/bin/X be

При инсталляции стандартной версии Red Hat Linux создается более сложный вариант скрипта startx, который расположен в каталоге /usr/Xli/biii (вы можете его просмотреть). Для него существует и тап-страница, в которой говорится, что этот скрипт создается просто как образец для администраторов сайтов и предназначен для создания собственных вариантов такого скрипта.

Если просмотреть стандартный вариант скрипта startx, мы увидим, что практически он сводится к выполнению всего-навсего трех команд:

xauth add $display $mcook-> e

xauth add bostr.ame -f "$d:> splay Smcookie

xinit Sclientargs -- Sdisplay Sserverargs

To есть, в конечном итоге, startx вызывает уже рассмотренную нами команду xinit, только предварительно формирует нужные значения аргументов командной строки для нее. Первый аргумент — имя файла xinitrc, причем если в домашнем каталоге пользователя есть файл .х nitre, то берется он (с указанием пути), а если в домашнем каталоге нет такого файла, то берется общесистемный файл /etc/ХІ 1/xrnit/xinitrc, т. е "clientargs" = "/etc/Xll/ xmit/xinitrc"

Аналогично формируется значение переменной serverargs: если существует файл .xseiverrc в домашнем каталоге пользователя, то переменная serverargs будет указывать на него. Если такого файла нет, то serverargs укажет на /etc/ХІ l/xini'/xserverrc. Переменной display присваивается значение 0. Далее в скрипте startx производится анализ аргументов, которые были заданы в командной строке при его вызове (эту часть мы пока не будем детально разбирать, поскольку для начала будем вызывать скрипт без параметров) и, наконец, в конец строки вызова xinit добавляется -auth $нсме/.xauthority. Таким образом, сразу после установки системы (пока пользователь не создал файлов .x-iiiiic и .xserverrc в своем домашнем каталоге) xinit будет вызываться в следующем виде:
Предыдущая << 1 .. 83 84 85 86 87 88 < 89 > 90 91 92 93 94 95 .. 274 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100