[empty image] [empty image]
[empty image]
[empty image] [empty image] [empty image]
[empty image]

Slackware Линукс на български

(X Display Managers)

Забележка: Не всички сведенията, както са описани на тези страници, са действащи за по-нови издания от Slackware 10.1. Например X Window може да работи без файл с настройки или настройките за клавиатура се описват в InputClass.

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
(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 Window (IV част) >>

  1. С "[ -x име_на_файла ]"(без кавичките) са проверява дали съществува файла име_на_файла и дали има право да се изпълнява.
  2. На Slackware при ниво 4 е наличен само шести терминал. Може да се промени "/etc/inittab", така че да са налични и други.



Съдържание:

  1. Начало
  2. Езикови настройки
  3. Създаване и настройване на потребители
  4. Настройване на графична среда X Window (I част)
  5. Настройване на графична среда X Window (II част)
  6. X Window изпитания
  7. Настройване на графична среда X Window (III част)
  8. X Display Managers
  9. Настройване на графична среда X Window (IV част)
  10. Потребителски профил и X Window
 
Разрешително(лицензия):

Автор на тази статия е Румен Петров.

Автора Ви дава правото да разпространявате, обнародвате или отпечатвате статията или части от нея само, ако изрично укажете неговото име и посочите за местоположение този първоизточник(URL).

[empty image]
[empty image] [empty image] Last modified : Sunday December 04, 2016 [empty image]