UbuntuAntroji „Ubuntu 11.10“ lieknini mo dietos aprašymo dalis. Pirmąją rasite čia. Pirmasis liesinimo etapas praėjo sėkmingai, tačiau rezultatai dar netenkino. Todėl nuspręsta sistemą kūdinti toliau. Pirmiausia „Ubuntu Unity“ aplinką pakeičiau į „XFCE 4“, kuri labiau primena „Gnome 2“, tačiau RAM požiūriu yra kiek lengvesnė, nei „Gnome“ ar „Unity“. Norint, galima dar labiau sumažinti RAM sąnaudas ir naudoti LXDE ar kokią nors dar paprastesnę vartotojo aplinką, tačiau jų funkcionalumas irgi neretai būna mažesnis arba labai mažesnis. „XFCE“, sakyčiau, yra aukso vidurys tarp sąnaudų ir funkcionalumo.

Įvertinęs kompiuterio naudojimo pobūdį, sistemą nusprendžiau pertvarkyti ir atsisakyti grafinės vartotojų registracijos sistemos. Iš esmės tokia sistema, kaip „LightDM“ yra visiškai nereikalinga, nes X grafinę aplinką galima sužadinti „startx“ komanda, prisijungus komandine eilute. Vadinamosios „Display Manger“, nors iš tiesų tai sakyčiau „Login Manager“ programos yra tik vartotojų patogumui.

Dėmesio: Žemiau pateikiamos konfigūracijos nerekomenduočiau naudoti nešiojamuose nešiojamuosiuose kompiuteriuose (maniškis nešiojamas tik namų ribose :) ) ar kompiuteriuose, prie kurių gali prieiti pašaliniai asmenys. Taip yra todėl, kad sistema bus sužadinama be jokios autentifikacijos ir kas nors pašalinis galės be vargo pasinaudoti jūsų kompiuteriu ar jame saugomais duomenimis. Tad, jei naudositės šiais patarimais, atidžiai skaitykite pastabas!

Dėmesio 2: PAPILDYTA. Kaip ir įprastame gyvenime intensyvaus lieknėjimo dietos gali sukelti įvairius sveikatos sutrikimus. Laimei skaitmeninėje erdvėje juos beveik visuomet galima sutvarkyti. Atsisakius grafinės aplinkos, iškilo bėdų su kompiuterio išjungimu ir išorinių laikmenų prijungimu - sistema nusprendė, jog vartotojas tam neturi teisių. Problema išsisprendžia pataisant porą failų, tačiau sprendimui rasti prireikė internete pranaršyti kokias 5 valandas.

Pirmiausia reikia sužadinti automatinį reikiamo vartotojo prijungimą, įkraunat kompiuterį. Tai galima padaryti pataisant vieno iš pasirinkto TTY terminalo valdymo programą. Daugelyje sistemų šios nuostatos saugomos /etc/inittab faile, tačiau „Ubuntu“ kiek prigudravo, naudodama „Upstart“ sistemos inicializacijos programą. Todėl šios nuostatos saugomos /etc/init/ttyX.conf, kur X yra TTY terminalo numeris nuo 1 iki 6 failuose. Pasirinkite bet kurį iš šių terminalo konfigūracijos failų ir atitinkamai pataisykite (reikalingos root teisės, pavyzdyje pateikiamas tty1.conf failo turinys):

respawn
exec /sbin/getty -8 38400 tty1

keičiau į

respawn
#exec /sbin/getty -8 38400 tty1
exec /bin/login -f bacila < /dev/tty1 > /dev/tty1 2>&1

Kurį TTY įrenginį pasirinksire nesvarbu, svarbu tik atsiminti numerį, nes šio terminalo įrenginio pavadinimo dar reikės vėliau, derinant automatinį X sistemos paleidimą, jei tokį naudosite. Dėmesio: toks sistemos derinimas yra nesaugus, nes vartotojas bus prijungiamas be slaptažodžio prašymo!

Norint patiems paleisti X grafinę aplinką, reikia atsisakyti „LingtDM“ ar bet kurios kitos (gdm, kdm, xdm) grafinės vartotojų registracijos sistemos. Šią tarnybą galima sustabdyti ir tuomet X paleidimui naudoti startx, tačiau perkrovus kompiuterį grafinė vartotojų prisijungimo tarnyba vėl bus paleista. Taigi ją reikia išjungti.

Paprastai „Linux“ sistemines tarnybas galima išjungti pasitelkus rcconf ar sysv-rc-conf programas ar kitas „Linux“ pateikiamas inicializacijos eigos tvarkymo programas. Deja ir čia „Ubuntu“ gudravimas su „Upstart“ pakišo koją, nes nors su rcconf ir sysv-rc-conf programomis ir išjungsite /etc/init.d/lightdm tarnybos startavimą, ji vis viena labai paslaugiai („looserfriendly“) pasileis ir trukdys „startx“ komandai. Miela, ar ne?.. :)

Pašalinti „LightDM“ grafinės prisijungimo valdymo programos nenorėjau, nes tai sugriautų paketų priklausomybę ir, visai tikėtina, naujinant sistemą sukeltų papildomų problemų. Po gana ilgo ieškojimo aptikau, kaip visgi išjungti „Upstart“ sistemos tarnybą - tam tereikia sukurti failą /etc/init/lightdm.override, kurio turinys būtų „manual“. Jei kas žino kokią nors viso šito /etc/init/* gėrio administravimo priemonę -- brūkštelėkit komentarą.

sudo echo "manual" >> /etc/init/lightdm.override

Išjungus „LightDM“ startavimą, reikės susiderinti X startavimą. Jei jus tenkina standartinis X seansas, tai pakaks tik prisijungti komandinėje eilutėje (tai jau automatizavome) ir paleisti komandą „startx“. Jei norite nurodyti savo aplinką, paleisti norimas programas, nustatyti kalbą ir pan -- reikės sukurti asmeninį X konfigūracijos failą .xninitrc savo namų kataloge.

nano ~/.xinitrc

ir įrašykite tokio pobūdžio turinį:

#!/usr/bin/env bash
export LANG="lt_LT.UTF-8"
export LANGUAGE="lt_LT.UTF-8"
export LC_ALL="lt_LT.UTF-8"
export LC_MESSAGES="en_US.UTF-8"

#exec xfce4-session
exec ck-launch-session startxfce4

Šiame faile galite išvardyti visas programas, kurias norite paleisti drauge su grafine aplinka, pavyzdžiui, naršyklę, pašto programą, internetinių pokalbių programas. Paprastai to nereikia, nes pati grafinė aplinka leidžia įsiminti buvusias paleistas programas ir jas paleisti kitą kartą paleidžiant grafinę aplinką. Svarbu tik visas pagalbines programas paleisti prieš pačią grafinę aplinką ir nepamiršti komandos pabaigoje prašyti "&", taip nurodant, kad „Linux“ turi paleisti programą ir tęsti darbą, nelaukiant kol programa baigs darbą. Paskutinė komanda turi būti "exec norimas-grafinės-aplinkos-seansa". Galimi pasirinkimai "xfce-session", „gnome-session“, „kde-session“ ar bet kuri plika grafinė aplinka (be seanso nustatymų): startxfce4, startlxde, ar tiesiog paprasta langų tvarkyklė, tokia kaip „openbox“ ar „wmaker“.

PAPILDTA. XFCE4 aplinkos paleidimą pakeiskite „exec ck-launch-session startxfce4“ komanda, tokiu būdu nurodydami teisingai sužadinti „Console Kit“ posistemį, leidžiantį atlikti privilegijuotas operacijas. Nesužadinus „Console Kit“, negalėsite išjungti kompiuterio, prijungti USB atmintinių, SD kortelių ir pan., nes tam pritrūks administartoriaus teisių.

Išsaugokite šį failą ir padarykite jį vykdomuoju. Taip pat sukurkite simbolinę nuorodą .xsession, rodančią į .xinitrc.

chmod +x ~/.xinitrc
ln -s ~/.xinitrc ~/.xsession

Tam, kad perkrovus kompiuterį, nereikėtų kiekvieną kartą rašyti „startx“ komandos, ją reikia įrašyti į vartotojo aplinkos inicializavimo scenarijaus failą .bashrc. Tiesa, jei dėl kažkokių religinių ar kitokių įsitikinimų naudojate ne BASH komandinę aplinką, tuomet tai bus kitas failas.

nano ~/.bashrc

Failo pabaigoje įrašykite tokias eilutes (jei pasirinkote ne TTY1, tai atitinkamai pataisykite numerį):

if [ $(tty) == "/dev/tty1" ]; then
startx
fi

Patikrinimas reikalingas tam, kad paskui grafinėje aplinkoje sužadinus terminalą, „Linux“ nebandytų leisti dar vienos grafinės aplinkos ir t.t. Greičiausiai nieko nepavyktų, tačiau yra rizika sukelti grandininę reakciją ir užstrigdyti sistemą.

PAPILDYTA. Norint suderinti „Console Kit“ seanso suderinimą su paleista grafine aplinka, reikia įterpti papildomą eilutę į PAM posistemio konfigūravimo failą. Failą „/etc/pam.d/common-session“ papildykite „session optional pam_loginuid.so“ eilute (reikia root teisių), kuri turi būti įrašyta prieš „session optional pam_ck_connector.so nox11“ eilutę. Be šios modifikacijos paties vartotojo paleistas X seansas nebus sujungtas su „Console Kit“ seansu ir vartotojas negalės atlikti privilegijuotų operacijų, tokių kaip sistemos išjungimas ar atmintinių prijungimas. Minėtas failas turi atrodyti maždaug taip:

bacila@msi:~$ tail  /etc/pam.d/common-session 
# /etc/login.defs and user settings, solving the problem of different
# umask settings with different shells, display managers, remote sessions etc.
# See "man pam_umask".
session optional pam_umask.so
session optional pam_loginuid.so
# and here are more per-package modules (the "Additional" block)
session required pam_unix.so
session optional pam_winbind.so
session optional pam_ck_connector.so nox11
# end of pam-auth-update config

Toliau belieka perkrauti kompiuterį ir turėti X aplinką įkraunamą be „LightDM“ tarpininko. Norėdami pereiti į tekstinį režimą spauskite Ctrl+Alt+FX (X nuo 1 iki 6). Norėdami sugrįžti į grafinę aplinką, spauskite Alt + F7 , o norėdami pereiti prie kito tekstinio terminalo tiesiog Alt ir FX (kur X norimas TTY įrenginio numeris).