Instaliuojame SAMBA Gentoo sistemoje

7 vasario, 2007 – 13:37

Samba logotipas Aptarsiu paprasčiausią Samba įdiegimą ir sukonfigūravimą naudotis „share’ais“. Kartu šiame straipsnyje išnagrinėsime tokiom funkcijoms reikalingą konfigūracijos smb.conf failą ir CUPS suderinamumą su Samba. Šis straipsnis padės jums lengviau ir aiškiau sukonfigūruoti Samba.

Kas yra kas?
Straipsnį pradedu šiuo klausimu, nes gali atsirasti žmonių, kuriems neaišku apie ką šis straipsnis. Pradėkime nuo Samba. Samba yra mano nuomone populiariausia programinė įranga naudojama Linux ir Unix tinkluose. Ši programinė įranga realizuoja SMB ir CIFS tinklus.

SMB – Server Message Block. Programinio lygio protokolas, kuris leidžia naudotis dalinimosi paslaugomis.

CIFS – Microsoft paėmė SMB ir pervadino į Common Internet File System. Microsoft taip pat pridėjo įvairių galimybių, tokių kaip symlink’ai, tiesioginis susijungimas be NetBIOS tvarkymo. NetBIOS tai Network Basic Input/Output System, daugiausiai Windows sistemose naudojama tinklo vardų sistema. Nors ir turi daug daugiau galimybių, tačiau pats NetBIOS’as Windows sistemoje yra nesaugus, todėl naujesnės Windows OS tarpusavyje gali “dirbti” be NetBIOS.

CUPS – Common Unix Printing System. Unix sistemose naudojama sistema spausdinimui, kurią aš taip pat panaudosiu šiame straipsnyje.

foomatic – tam tikra gana kompaktiškai surinkta spausdintuvų tvarkyklių sistema.

WORKGROUP – vietinis tinklas yra suskirstytas į grupes. Workgroup tai būtų grupės pavadinimas.

Sistemos paruošimas ir Samba įdiegimas
Pradėkime nuo pasiruošimo Sambos instaliavimui. Norint naudotis Samba savo kompiuteryje, mes turime sukompiliuoti kernelį su SMBFS ir CIFS palaikymu. Tam užtenka redaguoti .config failą ir jame susirasti šias ar panašias eilutes ir pakeisti į žemiau nurodytąsias:

CONFIG_SMB_FS=y
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp437"
CONFIG_CIFS=y

Išsaugokime .config failą ir sukompiliuokime kernel’į. Perkraukime sistemą ir užkraukime šį kernel’į.
Dabar sukompiliuokime Samba:

# emerge samba

Jeigu naudosimės spausdintuvų dalinimusi tai dėl viso pikto suchmodinkime /var/spool/samba:

# chmod 777 /var/spool/samba

Nepamirškime įdėti Samba startavimo į sistemos krovimąsi:

# rc-update add samba default

Taip pat jeigu norėsite kitiems tinklo vartotojams leisti naudotis spausdintuvu jį suinstaliuokite į CUPS. Rekomenduoju parsisiųsti foomatic.

# emerge foomatic

Mano pasiūlymas būtų nesinaudoti standartinėmis konfigūracijomis, o pasiskaityti smb.conf.example failą ir pagal jį sukonfigūruoti Samba, bet aš apžvelgsiu paprastutį konfigūravimą (per daug neišsiplėsiu).

smb.conf pagrindo apžvelgimas
Pirmiausiai /etc/samba/smb.conf faile siūlau įrašyti štai tokį konfigūracinį tekstą (grotelės žymi komentarą, o komentaras baigiasi eilutės pabaigoje t. y. sulig kitu Enter):

[global]
# Čia privaloma nurodyti darbo grupę tokią kokią nurodote kituose kompiuteriuose, kad vieni kitus kompiuteriai „matytų“
workgroup = WORKGROUP
# NetBIOS name nurodo kokiu vardu jūsų kompiuteris funkcionuos tinkle
netbios name = CEL1200
# Šį komentarą Windows Explorer daug kur naudos šalia NetBIOS vardo; tai tarsi kompiuterio apibūdinimas
server string = Samba Server %v
# Jeigu nenorėsite dalintis spausdintuvu ar juo naudotis iš nutolusio kompiuterio, galite sekančią eilutę ištrinti, o jeigu naudositės spausdinimo sistema tinkle tai nurodykite kokia sistema norite naudotis (mūsų atveju - CUPS)
printcap name = cups
# Tai nurodo ar reikia iš viso kreipti dėmesį į spausdintuvus ir jų konfigūracijas. Tai patogu jeigu norite atjungti spausdintuvus ir po to juos greitai įjungti neperrašant viso konfigūracinio failo
load printers = yes
# Pakartotinas spausdinimo sistemos nurodymas
printing = cups
# Nurodome kur saugoti log’us (įrašus apie įvykius)
log file = /var/log/samba/log.%m
# Nurodome didžiausią log’ų dydį Kb
max log size = 50
# Apsaugos lygis. Rekomenduoju naudoti share; jeigu nurodysite user tai turėsite dažniau įvesdinėti slaptažodžius ir prisijungimo vardus, bei galbūt turėsite problemų dėl autentifikacijos.
security = share
# Slaptažodžių šifravimo galimybė
encrypt passwords = yes
# Siūlau nesigilinti, nes esamos nuostatos man kol kas davė tikrai pakankamą greitį ant daugelio sistemų. Tai socket’ų nustatymai.
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# Nurodykime įrenginius t. y. maršrutizatoriaus IP ir tinklo plokštę.
interfaces = eth0 192.168.2.1
# Samba slaptažodžių failo nurodymas. Rekomenduoju palikti reiškmę tokia, kokia ji yra.
smb passwd file = /usr/local/samba/private/smbpasswd
# Nurodykime IP adresus, kuriems leisime prisijungti prie Samba tinklo
hosts allow = 192.168.2.0/24 127.0.0.0/8 192.168.2.100 192.168.2.101

http://pastebin.com/f580ba6d3 – šiuo adresu galite rasti šią smb.conf failo sekciją be komentarų.
Šių eilučių turėtų užtekti, kad veiktų Samba. Jeigu norite ką nors „pasharinti“ tai skaitykite straipsnį toliau. O jeigu nenorite tai galite praleisti sekančius du skyrius.

Dalinimasis spausdintuvu
Norint, kad galėtume kitiems leisti spausdinti mūsų spausdintuvu, mes jį, jau kaip minėjau, privalome įdiegti CUPS sistemoje, nes smb.conf failo global sekcijoje nurodėme, kad Samba naudotų CUPS kaip pagrindinę spausdinimo sistemą.
Dabar suteikime vartotojams slaptažodžius (patariu naudoti kitokius negu naudojote sistemoje iki šiol ir atminkite, kad vartotojas, kuriam priskiriate slaptažodį, jau turi būti sukurtas jūsų Gentoo sistemoje):

# smbpasswd -a root
# pdbedit -a -u root

Vietoje root naudokite vartotojo vardą, kuriam suteikiate slaptažodį. Atminkite, kad pagal mūsų konfigūraciją, jūs privalote suteikti slaptažodį root vartotojui. „pdbedit“ komanda įkelia vartotojo informaciją į Samba duomenų bazę.
Dabar konfigūruokime CUPS:

# nano -w /etc/cups/cupsd.conf

Šiame faile susiraskime ir pakeiskime/pridėkime šias eilutes:

ServerName CEL1200 # rekomenduoju naudoti NetBIOS reikšmę iš /etc/samba/smb.conf
ServerAdmin root@CEL1200 # nurodome administratorių
# Nurodome log'ų buvimo vietą ir jų sudėtingumą
AccessLog /var/log/cups/access_log
ErrorLog /var/log/cups/error_log
LogLevel info
# Nurodome kiek leisti daugiausiai klientų. Rekomenduoju didelę reikšmę, nes gali kilti problemų su mažomis.
MaxClients 100000000
BrowseAddress @IF(eth0) # nurodome vietoje eth0 savo tinklo plokštęOrder Deny,Allow
Deny From All
Allow From 192.168.0.* # nurodykime tuos IP adresus, kuriems leisime spausdinti. Žvaigždutė atitinka visus 255 skaičius.
# tolimesnės konfigūracijos nerekomenduoju keisti, apart tą eilutę, kurią aš pakomentavau
AuthType Basic
AuthClass System
Allow From 192.168.0.* # tas pats kaip aukščiau tik šį kartą čia nurodomi IP adresai, kuriems leidžiama vykdyti administracines užduotis pvz., spausdintuvo ištrynimas ar pridėjimas.
Order Deny,Allow
Deny From All

Toliau pageidautina, kad „mime.convs“ faile atkomentuotumėte šią eilutę:

application/octet-stream application/vnd.cups-raw 0 -

O mime.types faile šitą:

application/octet-stream

Dabar perkraukime CUPS:

# /etc/init.d/cupsd start

Taip pat nepamirškime įdėti CUPS paleidimo krovimos metu į init’ą:

# rc-update add cupsd default

Toliau nagrinėsime mano nurodytą smb.conf konfigūracinio failo spausdinimo sekcijas:

# Jeigu turime spausdintuvą tai nurodykime jo pavadinimą, kuriuo mes esame jį instaliavę CUPS sistemoje
[HPLaserJet1000]
# Galimybė uždrausti spausdinimą šiuo spausdintuvu.
printable = yes
# Pasilikime standartinę reikšmę.
path = /var/spool/samba
# Turėtume nurodyti įrašinėjimo galimybę.
read only = no
# Publikavimo galimybė. Atminkite, kad viešiname tik vidiniame tinkle.
public = yes
# Galimybė spausdinti svečiui. Rekomenduoju palikti „yes“.
guest ok = yes
# Windows sistemoje būtų sukurtas katalogas su visais spausdintuvais.
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
public = yes
guest ok = yes
writable = no
printable = yes
create mode = 0700
print command = lpr-cups -P %p -o raw %s -r # naudosime kliento spausdintuvo tvarkykles t. y. CUPS spausdinami dokumentai pasieks jau RAW (tai toks formatas, kuris jau visiškai paruoštas spausdintuvui ar kitam įrenginiui) formate.
# Sekančios eilutės praplečia spausdintuvo konfigūraciją. Esami nustatymai turėtų tikti beveik visoms sistemoms
[print$]
path = /etc/samba/printer
browseable = yes
read only = yes
write list = @adm root
guest ok = no
write list = root

Dabar pridėkime savo spausdintuvą į Samba:

# cupsaddsmb -H CEL1200 -U root -h CEL1200 -v HPLaserJet1000

Vietoje HPLaserJet1000 parašykime savo spausdintuvo pavadinimą, kurį naudojome CUPS sistemoje. O vietoje CEL1200 įrašykime localhost. Jeigu net ir nepavyktų šios komandos įvykdyti, vis tiek rekomenduoju pabandyti viską pabaigti iki galo ir pažiūrėti ar spausdinsis.
Šios sekcijos eilutes be komentarų galite gauti adresu http://pastebin.com/f303835c0.
Norėdami pasidalinti kuriuo nors katalogu, smb.conf faile prirašykite tolimesnes eilutes.

Spausdiname per Samba Windows sistemoje
Per Windows Explorer nueikime į savo serverį (adreso laukelyje įveskime pvz., \\CEL1200). Paspauskite dešiniu pelės klavišu ant spausdintuvo ir pasirinkite Connect. Gali iškristi keletas lentelių (jeigu neinstaliavote spausdintuvo tvarkyklių padavimo Windows sistemai per Samba). Tada spauskite Yes–>Ok–>Have Disk… ir įdėkite spausdintuvo tvarkyklių kompaktą, pasirinkite spausdintuvo inf failą ir sudiekite tvarkykles. Viskas. Galite spausdinti.
Pastaba. Siūlau pasiskaityti http://lists.samba.org/archive/samba/2005-September/110571.html ir http://www.ubuntuforums.org/showthread.php?t=47963.

Spausdiname per Samba Unix paremtose OS
Paruošiame sistemą spausdinimui (pavyzdyje imame Gentoo sistemą, skirtingose distribucijose/OS komandos gali šiek tiek skirtis):

# emerge cups
# /etc/init.d/cupsd start
# rc-update add cupsd default

To turėtų užtekti. Sistema pati susiras spausdintuvą.

Tiesa, galite naudotis CUPS straipsniu, jog pasidarytumėte geresnę spausdinimo sistemą.

Dalinimasis katalogais
Pirmiausiai sukurkime katalogą. Mes kuriame /home/ernestas/myshare:

$ mkdir /home/ernestas/myshare

Nepamirškime jo suchmodinti:

$ chmod o=rx /home/ernestas/myshare

Jeigu norime, kad jis būtų tik skaitomas. O jeigu norime, kad galima būtų į jį ir įrašinėti tai naudokime šią komandą:

$ chmod o=rwx /home/ernestas/myshare

arba galime pratęsti /etc/samba/smb.conf failą šiomis eilutėmis:

# Dalinimosi katalogo pavadinimas, kuris bus rodomas tinklo naršyklėj.
[share]
# Komentaras
comment = share ir tiek…
# Katalogo buvimo vieta
path = /home/ernestas/myshare
# Nurodome skaitymo ir kitus parametrus…
read only = no
public = yes

Perkraukime Samba:

# /etc/init.d/samba restart

Ir galime nueiti prie kitos sistemos ir pažiūrėti ar viskas veikia.
Šios sekcijos smb.conf failo eilutes be komentarų galima atsisiųsti iš http://pastebin.com/f4391bd29.

Pabaiga
Pabaigus konfigūruoti, mes galime perkrauti kompiuterį arba įvykdyti šias komandas:

# /etc/init.d/cupsd restart
# /etc/init.d/samba restart

CUPS ir Samba persikraus. Dabar galite viską tikrinti ir žiūrėti.
Apibendrinant turėčiau paminėti, kad jūs galite nebūtinai viską konfigūruoti rankomis, nes yra tokių įrankių kaip SWAT (Samba Web Administration Tool – tai web interface’as skirtas patogiau administruoti Samba; taip pat jis yra Webmin dalis, bet man asmeniškai nepavyko prie jo prisijungti, tik paleisti, todėl rekomenduoju pirmiausiai išbandyti šio straipsnio turinį) ir pan.
Galutinį smb.conf failo variantą galite gauti adresu http://pastebin.com/m72efe665.
Daugiau pagalbos ir informacijos galite rasti šiais adresais:
Gentoo forums
Gentoo wiki

Atkreipkite dėmesį, kad šiek tiek pakeitus vieną konfigūracinio failo vietą, teks keisti ir kitas nuostatas.

2007 m. vasario 7 d., Pixel

Instaliuojame CUPS ir HP LaserJet 10xx spausdintuvą Gentoo sistemoje

6 vasario, 2007 – 12:18

Gentoo logotipas Manau, kad šis straipsnis gali būti naudingas daugeliui žmonių, nes su USB spausdintuvais (ypač HP LaserJet 1000) būna labai daug problemų Unix šeimos sistemose. Atsižvelgdamas į tai, kad USB naudoja beveik visi spausdintuvai kaip standartą ir su jais pateikiami LPT–>USB kabeliai tai rašau apie HP LaserJet 10xx USB spausdintuvų instaliavimą. Jeigu nenaudojate USB, tai spausdintuvo instaliacija skiriasi nuo mano pateikto būdo.

Pirmiausiai norėčiau užsiminti apie simbolius „$“ ir „#“ prieš komandas. „$“ simbolis rodo, kad komanda turėtų būti vykdoma paprasto vartotojo teisėmis, be sudo. „#“ rodo, kad komandą patartina naudoti root ar kito super vartotojo teisėmis. Galima pasitelkti sudo, kai norima vesti komandą, prieš kurią parašytas simbolis „#“.

Tikriausiai naudojame coldplug. Todėl pirmiausiai reikia jį pašalinti, nes naujesni UDEV (tai tam tikras įrenginių valdiklis Unix sistemose) turi savyje coldplug (programa, kuri pasirūpina, kad nauji įrenginiai (daugiausiai USB įrenginiai) būtų paruošti darbui ir įjungiami į /dev) funkcijas. Kartu dėl viso pikto pašalinsime ir hotplug (geresnis analogas coldplug‘ui), kurį vėliau sukompiliuosime iš naujo.

# emerge –unmerge hotplug coldplug
# rc-update del hotplug
# rm /etc/init.d/hotplug
# rc-update del coldplug
# rm -rd /etc/hotplug*

Norėčiau paminėti, kad -rd opcijos nurodo, kad būtų trinamos ir direktorijos. Jeigu /etc kataloge bus failas /etc/hotplug tai jis bus ištrintas kartu su katalogu /etc/hotplug.

# rm -rd /etc/udev
# emerge =sys-fs/udev-103

Pastaba. Nepamirškite lygybės ženklo prieš paketą. Jį reikia nurodyti visą laiką kai nurodote paketo versiją. Taip pat prieš kompiliuodami susinchronizuokite Portage:

# emerge --sync

Siūlau naudoti UDEV 103, nes, mano nuomone, jis žymiai stabilesnis ir dėl jo reikėjo mažiausiai vargo. O šiuo metu naujausias yra UDEV 104-r5.

# emerge hotplug

Taigi, UDEV ir hotplug’ą jau turime. Galima bandyti perkrauti sistemą.

Perkrovus sistemą galime dirbti toliau.

Susikompiliuokime CUPS (Common UNIX Printing System – spausdinimo sistema (tiksliau paketas) Unix pobūdžio operacinėms sistemoms). Tai padarome komanda

emerge cups

Aš pasirinkau 1.2.6 versiją, todėl jeigu norite visiškai sekti šį straipsnį tai veskite šią komandą:

# emerge =net-print/cups-1.2.6
# USE="foomaticdb cups usb ppds" emerge hplip

Dabar atėjo eilė foo2zjs (zjStream protokolo (protokolas, kurį naudoja HP LaserJet 10xx spausdintuvai spausdinimui) tvarkyklės Linux’ui):

$ wget -o foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
$ tar zxf foo2zjs.tar.gz
$ cd foo2zjs

Jeigu jau buvome suinstaliavę foo2zjs tai vykdykime:

# make uninstall

Taip išinstaliuosime jau sistemoje esančią foo2zjs versiją.

Instaliuokime foo2zjs toliau:

# make
# ./getweb [spausdintuvo modelis]

Vietoje “[spausdintuvo modelis]” įrašykite spausdintuvo modelį (foo2zjs iš HP LaserJet spausdintuvų palaiko tik 1000, 1005, 1018, 1020). Pvz.:

# ./getweb 1000

Ši komanda parsiųs HP LaserJet 1000 spausdintuvui pilnai pasiruošti darbui reikalingus failus.

# make install
# make install-hotplug
# make cups

Tai buvo paskutiniai žingsniai su foo2zjs. Dabar patikrinkime sistemos krovimąsi komanda:

# rc-update show

Ekrane turėtume išvysti teksto, kuriame turėtume surasti šias eilutes (ne iš eilės):

cupsd | defaulthotplug | boothplip | default

Jeigu viskas taip kaip ir rašau tai galime perkrauti kompiuterį.

Bet gali pasitaikyti taip, kad ne visi išvardinti komponentai buvo sąraše. Tada vykdome atitinkamas komandas:

# rc-update add cupsd default
# rc-update add hplip default
# rc-update add hotplug boot

Vykdykite tas, kurių reikia. Kitų galite nevykdyti.

Perkraukite kompiuterį. Išjunkite (ištraukite iš el. lizdo, bet USB neištraukite) spausdintuvą kokiom 5 sekundėm ir vėl jį įjunkite. Iki visiško sistemos užsikrovimo jis turėtų pasiruošti darbui, t. y. turėtų trumpam pradėti veikti visi mechanizmai. Jeigu tai neįvyko, tai pabandykite perkompiliuoti CUPS ir HPLIP, o tada jeigu niekas nepasikeitė – keliauti į straipsnio galą. O jeigu spausdintuvas pasiruošė, tai jūs galite jį suinstaliuoti per CUPS. Galite naudoti įvairius įrankius, bet aš paprasčiausiai rekomenduočiau naršyklėje suvesti localhost:631. Tada sekite instrukciją:

Add Printer–>prisijunkite kaip root vartotojas

–>užpildykite “Name” laukelį (patariu naudoti tik lotyniškas raides)

–>Device laukelyje pasirinkite savo spausdintuvą (rinkitės visiškai tikslų adresą pvz., hp:/usb/hp_LaserJet_1000?device=/dev/usb/lp0; spausdintuvas turi būti įjungtas ir jeigu jis nepasiruošė darbui tai jums nepavyks jo instaliuoti per CUPS)

–>paspauskite Continue

–>pasirinkite HP ir spauskite Continue

–>pasirinkite savo spausdintuvo tvarkyklę (šalia jos privalo būti parašyta foo2zjs) ir paspauskite Continue

–>kelias sekundes palaukite ir, kai atsidarys konfigūracijos puslapis, jame sukonfigūruokite spausdinimo parametrus

–>bet kur paspauskite Set Printer Options.

Jūs jau galite spausdinti. Tik nepamirškite kartu perkraudami kompiuterį perkrauti ir spausdintuvą. Nebent su spausdintuvu buvo nedirbta ilgą laiką. Apskritai kalbant tai yra didelis HP LJ 10xx minusas, kad firmware užkrauti (kai spausdintuvas įsijungia, jis laukia kada kompiuteris jam nusiųs tam tikras tvarkykles, kurios jį paruoš spausdinimui) galima tik vieną kartą po spausdintuvo įjungimo.

Jeigu jūsų spausdintuvas vis tiek neveikia tai siūlau pasižvalgyti klaidų /var/log/messages faile. Taip pat nepamirškite dmesg komandos (ją reikėtų susikompiliuoti komanda emerge dmesg). Taip pat nepamirškite, kad kernel’yje privaloma įkompiliuoti USB palaikymą. /usr/src/linux/.config ar kitoje direktorijoje esančio kernel’io „.config“ faile turėtų būti nurodyta šios opcijos:

CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_PRINTER=y
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_STORAGE=y

Pastaba: kai kurios opcijos nėra būtinos, tačiau rekomenduotinos.

Apžvelgę informaciją pagalbos galite ieškoti adresais http://forums.gentoo.org ir http://gentoo-wiki.com.

2007 m. vasario 6 d., Pixel

TTF šriftai Gentoo sistemoje

1 vasario, 2007 – 15:16

Gentoo logotipas TTF – TrueType Font. Tai šriftai, kuriuos naudojame Windows sistemoje. Rašau šį straipsnį, nes tikriausiai migruojantiems iš Windows į Linux OS yra gana sudėtinga priprasti prie standartinių šriftų ir labai dažnai pasitaiko tokių atvejų, kad Linux distribucijoje parašytas dokumentas nenuskaitomas taisyklingai Windows sistemoje, nes naudojami šriftai, kurių Windows sistemoje nėra (dažniausiai ne TTF).

Norint matyti TTF mums reikės:

  • TTF šriftų (galima paimti iš bet kurios Windows OS %system root%/Fonts katalogo);
  • Xfs serverio (šis serveris naudojamas šriftams);
  • ttmkfdir paketo (naudojamas fonts.scale failo sukūrimui);
  • veikiančio X’ų serverio.

Visa tai sudiegiame (X’ų diegimo šiame straipsnyje neaprašysiu):

# emerge x11-apps/ttmkfdir
# emerge x11-apps/xfs

Sukuriame direktoriją mūsų TTF šriftams (kadangi aš vėliau dėjau daugiau šriftų ir juos grupavau tai sukūriau TTF šriftams visai atskirą katalogą – /usr/local/fonts/ttf):

# mkdir /usr/local/fonts
# mkdir /usr/local/fonts/ttf

Dabar perkeliame TTF šriftus į /usr/local/fonts/ttf (šriftų perkėlimui naudojau USB raktą; jūs nurodote savo TTF šriftų direktoriją vietoje /mnt/usbkey/ttf):

# mv /mnt/usbkey/ttf/* /usr/local/fonts/ttf/

Pereiname į sukurtą šriftų direktoriją:

# cd /usr/local/fonts/ttf

Sukuriame fonts.scale failą:

# ttmkfdir > fonts.scale

Taip pat pažymime šią direktoriją kaip šriftų:

# mkfontdir

Dabar redaguosime xorg.conf failą:

# nano -w /etc/X11/xorg.conf

Jame susirandame sekciją Files ir joje pridedame naują eilutę:

FontPath "/usr/local/fonts/ttf"

/usr/local/fonts/ttf“ galite keisti priklausomai nuo to, kur padėjote šriftus.
Dabar turime veikiančius TTF šriftus. Perkrovus X’ų serverį jis turėtų dirbti su jais.

2007 m. vasario 1 d., Pixel

XGL Gentoo sistemoje (NVIDIA)

31 sausio, 2007 – 11:11

Gentoo logotipas XGL – X serverio architektūra, kuri yra pritaikyta didesniam vaizdo plokščių galimybių išnaudojimui per OpenGL (DirectX analogas, bibliotekos, kurių pagalba dirbama su 2D ir 3D grafika).
Šiame straipsnyje sužinosite, kaip paprasčiausiu būdu susiinstaliuoti xgl ir Compiz/Beryl Gentoo sistemoje. Manau šis straipsnis šiuo metu gana aktualus, nes daugelis įdieginėja XGL. Naujokai, kurie neseniai išbandė Linux taip pat bando suinstaliuoti XGL. Deja, dažnai jiems tai nepavyksta.

Iš karto turiu nuvilti ne GNOME ar KDE vartotojus – XGL ant šių sistemų veikia, bet joms nėra manager’io, kuris rodytų „pagražinimus“. Turiu pasakyti, kad prieš kompiliuodami NVIDIA tvarkykles, NVIDIA modulį turite iš kernel’io išmesti (geriau padarykite tai dabar, kad vėliau nereikėtų terliotis), jeigu jūs jį ten įkompiliavote.

$ cd /usr/src/linux
# nano -w .config

Susiraskite (Ctrl+W ir rašote ko ieškote…) AGP_NVIDIA opciją ir ją užkomentuokite t. y. eilutės pradžioje parašykite # simbolį. Išsaugokite ir sukompiliuokite kernel’į.
Dabar kai jūs jį iškompiliavote ir užkrovėte sistemą su naujai kompiliuotu branduoliu, galime pradėti dirbti.

XGL’ui reikalingas modularinis X.Org’as. Kaip jį suinstaliuoti rasite adresu http://gentoo-wiki.com/HOWTO_Modular_Xorg.
Cairo – paketas su vektorinės grafikos bibliotekom. Sukompiliuokime Cairo:

# emerge -1av x11-libs/cairo

Norėčiau dar pakomentuoti šiuo metu naudojamas opcijas. Tai 1, a ir v. Dar vėliau naudosime n. 1 – analoginė opcija –oneshot opcijai. Ji nurodo, kad paketo neįdėtumėme į world profilį ir su komanda emerge world jis neatsinaujintų, o atsinaujintų tik kompiliuojant priklausomybes (dependencies). a – analoginė opcija –ask opcijai. Ji nurodo, kad prieš siunčiantis paketus, jūsų paklaustų ar juos siųstis ir parodytų jų sąrašą bei kitą su jais susijusią informacią (USE flag’us ir pan.). v – analoginė opcija –verbose opcijai. Ji nurodo, kad būtų išvedama į ekraną daugiau informacijos negu paprastai. n – analoginė opcija –noreplace. Jeigu dirbama su šia opcija tai visi paketai, kuriuos norėsite instaliuoti dar kartą ir jie jau bus sistemoje, bus nekompiliuojami.
Toliau perkompiliuokime gtk+ (Gimp’ui skirtas įrankių rinkinys) ir pango (teksto tvarkymo bibliotekos) su naujai sukompiliuotu Cairo:

# emerge -1av x11-libs/pango x11-libs/gtk+

Siūlau naudoti -doc flag’ą (instaliavimas praeis žymiai greičiau):

# USE=“-doc“ emerge -1av x11-libs/pango x11-libs/gtk+

Patikrinkime ar neturime ir kompiliuokime glproto (X.Org GL protokolo header’iai (iš angl. k. būtų antraštės)) ir libdrm:

# emerge -1avn x11-proto/glproto libdrm

Jeigu viskas susikompiliavo sėkmingai tai galime kompiliuoti XGL su Mesa (tai tarsi OpenGL analogas; daugiau apie Mesa galite sužinoti http://mesa3d.sourceforge.net):

# emerge -av1n mesa
# emerge -av xgl

Dabar kompiliuojame NVIDIA tvarkykles (bet kokiu atveju jas reikia perkompiliuoti, nesvarbu, kad jau esate jas sukompiliavę ir tai naujausia versija):

# emerge x11-drivers/nvidia-drivers media-video/nvidia-settings

Redaguojame X11 konfigą:

# nano -w /etc/X11/xorg.conf

Susirandame Section „Device“ ir šioje sekcijoje pakeičiame Driver reikšmę į „nvidia“. Dabar naudosime nvidia modulį.

Laikas pasirinkti Compiz arba Beryl manager’į. Siūlau Compiz, bet kartu aprašysiu ir Beryl.

Pirmiausiai apie startx. Pasidarykime startx kopiją, kad galėtume atskirai paleisdinėti X’us: be XGL ir su XGL.

# cp /usr/bin/startx /usr/local/bin/startxgl
# nano -w /usr/local/bin/startxgl

Susiraskime userclientrc kintamąjį ir jo reikšmę pakeiskime į .xglinitrc:

userclientrc=$HOME/.xglinitrc

Taip pat nepamirškime redaguoti xinit $clientargs eilutės. Vietoje jos įrašykime:

xinit $clientargs — /usr/bin/Xgl :1 $serverargs -ac -accel xv -accel glx:fbo -deferglyphs 16 &

Dabar sukurkime .xglinitrc paprastam vartotojui (vėliau tą patį galėsite padaryti kitiems vartotojams):

$ nano -w /home/vartotojovardas/.xglinitrc

Į šį failą įrašykite šias eilutes:

sleep 2
DISPLAY=:1 WINDOW_MANAGER=beryl-manager exec startfluxbox

Vietoje „startfluxbox“ įrašykite komandą, kuri paleidžia jūsų naudojamą DM, o vietoje WINDOW_MANAGER įrašykite manager’io, kurį naudosite, pavadinimą („compiz-decorator“ arba „beryl-manager“).

Jeigu esate KDE vartotojas tai naudokite KDEWM reikšmę vietoje WINDOW_MANAGER.

Dabar instaliuokime Compiz (jeigu norite naudoti Beryl tai praleiskite šią skiltį):

# echo "x11-wm/compiz" >> /etc/portage/package.keywords
# emerge x11-wm/compiz

Dabar norint, kad išnaudotume Compiz’ą, mes turime įjungti jo priedus:

gconftool-2 -s /apps/compiz/general/allscreens/options/active_plugins "[gconf,decoration,wobbly,fade,minimize,cube,switcher,move,resize,place,rotate,zoom,scale]" -t list –list-type=string

Žinoma priedų sąrašą galite redaguoti savo nuožiūra. Čia buvo išvardinti ne visi priedai.

Sukuriame paleidimo failą:

# nano -w /usr/local/bin/compiz-decorator

Į jį įrašome:

LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz –replace gconf & gtk-window-decorator &

Taip pat nepamirškime suteikti leidimą vykdyti šį failą:

# chmod +x /usr/local/bin/compiz-decorator

Ir vykdom apl. atnaujinimo komandą env-update.

Instaliuosime Beryl:

# echo "~x11-misc/beryl-settings-0.1.4 ~*" >> /etc/portage/package.keywords;echo "~x11-apps/xlsclients-1.0.1 ~*" >> /etc/portage/package.keywords; echo "~x11-misc/beryl-manager-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-themes/emerald-themes-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-plugins/beryl-dbus-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-plugins/beryl-plugins-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-wm/beryl-core-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-wm/emerald-0.1.4 ~*" >> /etc/portage/package.keywords; echo "~x11-wm/beryl-0.1.4 ~*" >> /etc/portage/package.keywords
# emerge =x11-wm/beryl-0.1.4

Dabar galime paleisti Beryl rankiniu būdu:

$ beryl-manager

Galutinis variantas turėtų atrodyti maždaug taip:
Alt+Tab pakeitimas Kubas Mplayer ant XGL

Tai buvo straipsnis „XGL instaliacija Gentoo sistemoje (NVIDIA)“.

Jeigu kas nors nepavyko tai galite pagalbos ieškoti šiais adresais:
http://forums.gentoo.org/
http://gentoo-wiki.com/
Paveikslėliai paimti iš gentoo-wiki.com.

2007 m. sausio 31 d., Pixel

PixelView PlayTV Pro 2 naudojimasis Linux’e

4 gruodžio, 2006 – 15:59

Šis straipsnis tinka ir kitiems tiuneriams, bet daugiausiai orientuojasi į PixelView PlayTV Pro 2 analoginės TV tiunerį. Apie jį rašau todėl, kad daugeliui buvo iškilę problemų su TV tiuneriu ne Windows OS. Prieš įdiegimą norėčiau priminti, jog reikia kernelio su V4L („video4linux“). Dažniausiai OS standartiniai kerneliai jį jau turi.

Pirmiausia reikia, kad Linux atpažintų TV tiunerį. Iš tikrųjų jis jį iš karto mato, tačiau mums reikia užkrauti modulį. Standartinė modulio konfigūracija mums netinka, todėl sukuriame /etc/modprobe.d/bttv failą ir į jį įrašome:

# i2c
alias char-major-89 i2c-devb
options i2c-algo-bit bit_test=1
# bttv
alias char-major-81 videodev
alias char-major-81-0 bttv
# tiuneris
options bttv card=70 tuner=37 radio=1 pll=1 adc_crush=0

Direktorija gali skirtis priklausomai nuo OS (pavyzdys skirtas Ubuntu), todėl ją patariu patikrinti komanda

$ ls /etc/modprobe.d

Jeigu mūsų tiuneris nepalaiko radijo tai pakeiskime „radio=1“ į „radio=0“. Taip pat pasižiūrėkime čia, ko nors panašiai veikiančio, kaip jūsų TV tiuneris. Įsiminkite jo numerį ir pakeiskite „card=70“ į „card=<jūsų numeris>“. Tą patį padarykite ir su tuner. Apie tuner skaičius skaitykite šiuo adresu (atkreipkite dėmesį, kad čia jums reikės tuner kintamojo, o ne numerio).

Išsaugokite ir perkraukite kompiuterį.

Įdiekite „tvtime“ paketą:

# apt-get install tvtime

Redaguokite /etc/tvtime/tvtime.xml failą. Jame pakeiskite „Norm“ opciją į:

<option name="Norm" value="PAL" />

Frequencies opciją į:

<option name="Frequencies" value="custom" />

Tada išsaugokite ir paleiskite „tvtime-scanner“ komandą. Praskenavus kanalus galite leisti TVTime (komanda „tvtime“).

Tiesa, Linux gali ir nematyti tiunerio. Pasitikrinkite komanda „/bin/lspci“. Turėtumėte pamatyti kažką panašaus:

00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller (rev 50)
00:0d.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
00:0d.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)

Tiek šiam kartui.

2006 m. gruodžio 4 d., Pixel