![[empty image]](../images/clean.gif) |
![[empty image]](../images/clean.gif) |
![[empty image]](../images/clean.gif) |
![[empty image]](../images/clean.gif) |
![[empty image]](../images/clean.gif) |
Slackware Линукс на български
(X Display Managers)
- run level
-
По подразбиране, след първоначално зареждане, Slackware се стартира на ниво 3.
Това е т.н. "многопотребителски режим".
По-подробно за нивата е описано в init(8) и inittab(5).
На ниво 3 мрежата е инициализирана и са стартирани демоните.
При това ниво графичната среда се стартира, обикновено, с командата "startx ...".
След като X Window е конфигуриран и тестван,
може да настрой графичната среда да се стартира по подразбиране.
Традиционно X Window се стартира при ниво 4.
Това се задава в файла "/etc/inittab".
Ето как изглеждат частите от файла, които ни интересуват:
....
# These are the default runlevels in Slackware:
# 0 = halt
# 1 = single user mode
# 2 = unused (but configured the same as runlevel 3)
# 3 = multiuser mode (default Slackware runlevel)
# 4 = X11 with KDM/GDM/XDM (session managers)
# 5 = unused (but configured the same as runlevel 3)
# 6 = reboot
# Default runlevel. (Do not set to 0 or 6)
id:3:initdefault:
# System initialization (runs when system boots).
si:S:sysinit:/etc/rc.d/rc.S
....
# happens to X.
x1:4:wait:/etc/rc.d/rc.4
# End of /etc/inittab
Бел.: многоточията не са част от файла!
От файла е показана по-голяма част от необходимото.
В коментара за ниво 4 е записано "session managers".
Изброените приложения: kdm, gdm и xdm са "X Display Managers".
Вярно е, че стартират X сесии, но това не ги прави "session manager".
Разликата може да се види, например, в xdm(1) и xsm(1).
За да се провери, как се държи ОС при ниво 4
се изпълнява командата "init 4" или "telinit 4".
Програмата init проверява какво трябва да се стартира на ниво 4
и един от редовете съдържа "/etc/rc.d/rc.4".
Това е скрипта, който стартира "X Display Manager".
По-долу е показана съществената част от него:
....
# Tell the viewers what's going to happen...
echo "Starting up X11 ..."
# Try to use GNOME's gdm ...:
if [ -x /usr/bin/gdm ]; then
exec /usr/bin/gdm -nodaemon
fi
# Not there? OK, try to use KDE's kdm ...:
if [ -x /opt/kde/bin/kdm ]; then
exec /opt/kde/bin/kdm -nodaemon
fi
# If all you have is XDM, I guess it will have to do:
if [ -x /usr/X11R6/bin/xdm ]; then
exec /usr/X11R6/bin/xdm -nodaemon
fi
....
Бел.: многоточията не са част от файла!
Скрипта проверява дали съществува изпълним файл(1)
и ако условието е изпълнено, то той се стартира с подходящи параметри.
Първо се проверява за gdm, после за kdm и най-накрая за xdm.
Влиза се в системата на шести(2)
виртуален терминал (vt6) и се изпълнява командата "init 4".
Тъй като бяха инсталирани всички GNOME приложения,
то gdm, като част от тях, е инсталиран на системата.
По подразбиране е с право на изпълнение и следователно се стартира.
- gdm:
-
Gdm е с много приятен графичен дизайн.
Като при всяко графично приложение използващо gtk (1.x/2.x),
езиковите настройки зависят от променливите на обкръжението.
Например един от начините текстовете в gdm да са на български,
е да се зададaт променливи при стартиране на приложението.
Файла /usr/bin/gdm е скрипт, който стартира програмата gdm-binary.
Например за български, скрипта може да се промени както е показано по-долу:
...
#test -f /etc/profile && . /etc/profile
LANG=bg_BG.ISO8859-5
export LANG
exec /usr/bin/gdm-binary "$@"
....
Бел: направените промени са оцветени в синьо и
многоточията не са част от файла.
Излишно е да се изпълняват командите от /etc/profile, затова и този ред е коментиран.
На шести терминал се изпълнява:
# init 3
# init 4
От gdm може да се избере език за X сесиите.
Ако искате да имате проблеми, моля ползвайте го.
Това е още едно от проблемните неща при GNOME проекта.
В конфигурационния файл на gdm, "/etc/X11/gdm/gdm.conf"
за параметъра LocaleFile е зададено:
"/etc/X11/gdm/locale.alias", който започва е коментар,
че текущото решение не е добро и
в някоя бъдеща версия щяло да има друго, което ... и т.н.
Нас ни интересува частта от файла, свързана с българския език:
...
Bosnian bs_BA.UTF-8,bs_BA
Bulgarian bg_BG.UTF-8,bg_BG
Catalan ca_ES.UTF-8,ca_ES
...
Бел: отново многоточията не са част от файла.
Когато от gdm за сесията се избере български език,
настройките от ~/.profile за език се припокриват от програмата
gnome-session и за български се задава bg_BG.UTF-8.
Накратко ще бъдат описан алгоритъма:
Gdm установява променливата GDM_LANG на bg_BG.UTF-8,
понеже е първи в списъка и съществува такова "locale".
Стартира се скрипта за X сесията, от който се прочитат и изпълняват
командите от файловете /etc/profile и ~/.profile.
В потребителския файл (~/.profile) стандартно се присвоява на LANG стойност.
Най-накрая скрипта за X сесията стартира gnome-session,
който припокрива LANG със стойността на GDM_LANG.
Сега в X сесията, ако в терминал изпълним командата "locale" ще получим bg_BG.UTF-8.
Оттук нататък, в сесията, други езикови настройки може да се зададат
само за приложения, които не използват GNOME.
За GNOME приложенията, езиковите настройки повече не може да се задават
с променливи от обкръжението, като LANG.
В такава X сесия вече става трудно да се определи
при какви езикови настройки се стартират приложенията.
Тъй като настройките за езика е прието да се установят от ~/.profile
и за да се подсигури потребителя срещу недомислиците в gdm и GNOME,
във файла ~/.profile се добавя реда:
unset GDM_LANG
Определено идеята за припокриване на потребителските настройки куца тотално.
Единственото, което gdm трябва да направи,
когато потребителя избере език, е да присвои на LANG стойност.
Прекрасният графичен дизайн не е достатъчен.
На шести терминал, като супер-потребител, се изпълняват командите:
# chmod -x /usr/bin/gdm
init 3
init 4
Така, вече е стартиран следващия "Display Manager".
- kdm:
-
Kdm не блести с графичен дизайн.
За да се избере език на екрана за влизане в системата,
се стартира KDE сесия и от главното меню се избера:
"Control Center" (Контролен център) ->
"System Administration" (Администрация) ->
"Login Manager" (Вход в системата).
За промяна се изискват права на супер-потребител.
В дясно има няколко "tab"-а, в които се правят промените.
На първия от тях, "Appearance" ("Външност"), се избира езика.
На втория "Font" ("Шрифт"), при всички шрифтове е избрано "Bitstream Vera ...".
Това е шрифт, който съдържа само latin1 символи.
За всеки от шрифтовете се избира "Sans Serif"
и системата (fontconfig) сама ще намери подходящия да кирилица.
За да влязат настройките в сила, kdm трябва да се рестартира,
например, като супер-потребител, на шести терминал, се изпълняват командите:
init 3
init 4
Така, вече в kdm текстовете са на български език.
- xdm:
-
Това е "Display Manager", който е част от стандартните X Window програми.
Той няма езикова поддръжка, не поддържа UNICODE, но въпреки това може покаже
символи на кирилица.
Също така от него могат да се избират различни графични сессии.
|
За целта бе променен файла "/etc/X11/xdm/Xresources",
като разликите се виждат [тук].
Старият текст е задраскан и в червено, а със синьо е новият.
Щракнете с мишката върху картината в дясно, за да се покаже резултата в реален размер.
|
 (xdm "login" екран) |
Имената на щрифтовете, използвани от xdm, се задават по
класическия начин,
като синоними не може да се използват.
Трябва да има съвпадение между елементите "registry"-"encoding" от
името на шрифта и кодовата таблица, в която е въведен текста на кирилица,
като съвпадението бе описано в
тази таблица.
По-подразбиране при xdm, след въвеждане на името и паролата,
ако се натиснат клавишите [RETURN] или [ENTER],
се стартира X-сесия по-подразбиране.
При [CTRL]+[RETURN], [CTRL]+[ENTER] или [F1] се стартира failsafe сесия.
По-важната промяна в "/etc/X11/xdm/Xresources"
е, че с клавиша [F2] може да се стартира "blackbox" сесия.
- избор:
-
С това завършва и избора на Display Manager.
При избора на език за сесията от gdm се припокриват потребителските настройки и
X сесията се стартира в кодова таблица е UTF-8
(може би защото GNOME не работи добре при осем-битовите).
За български език, друга кодова таблица може да се зададе.
с подходящ списък в "/etc/X11/gdm/locale.alias".
Определено не е добра идеята за припокриването на езиковите настройки в GNOME
и затова трябва да се избягва избирането на език от gdm.
След такива концептуални недомислици в gdm,
везните се накланят силно към kdm.
Като че ли концепцията при KDE за езикови настройки на менюта и т.н.,
независими от променливите на средата, е по-удачна в случая.
GNOME е проект спонсориран предимно от американски компании
и съответно е разработен предимно от английско говорящ персонал.
Това, както се вижда, дава отражение върху възможностите му
за работа в друго езиково обкръжение.
- initdefault
-
Най-накрая конфигурирането завършва, като в /etc/inittab,
на реда с initdefault, цифрата 3 се заменя с 4.
Така при следващото стартиране на ОС, тя ще се инициализира на ниво 4,
т.е. със стартирана X Window графична среда.
- С "[ -x име_на_файла ]"(без кавичките)
са проверява дали съществува файла име_на_файла и
дали има право да се изпълнява.
- На Slackware при ниво 4 е наличен само шести терминал.
Може да се промени "/etc/inittab", така че да са налични и други.
Съдържание:
- Начало
- Локализация
- Създаване и конфигуриране на потребители
- Конфигуриране на графична среда X Window (I част)
- Конфигуриране на графична среда X Window (II част)
- X Window тестове
- Конфигуриране на графична среда X Window (III част)
- X Display Managers
- Конфигуриране на графична среда X Window (IV част)
- Потребителски профил и X Window
| |
| Лицензия: |
|
Автор на тази статия е Румен Петров.
Автора Ви дава правото да разпространявате, публикувате или отпечатвате
статията или части от нея само, ако изрично укажете неговото име и
посочите оригинално местоположение (URL).
|
|
|
|
![[empty image]](../images/clean.gif) |
![[empty image]](../images/clean.gif) |
Last modified : Tuesday August 07, 2007
|
![[empty image]](../images/clean.gif) |
|