Portál AbcLinuxu, 26. května 2024 23:32

Na co se často ptáme 4: X Window System - III

4. 6. 2004 | Vlastimil Ott
Články - Na co se často ptáme 4: X Window System - III  

Praktická řešení pro nastavení XFree - poslední díl minisérie.

Uživatelské dotazy

Modelines

Dotaz. Prosím o radu, kterak vypočítat modeline pro rozlišení 1024x768 při 75 Hz. Při použití XFree 3.3.6 mi to jde bez problému samo, v XFree 4.3.0 mi však obraz zhasíná a problikává.

Odpověď. Nejlepší je použít některou z webových kalkulaček.

Dalším řešením je prozkoumání souboru /var/log/XFree.0.log. Jsou v něm informace z běhu serveru. Mezi nimi je také možné nalézt modelines, které nebyly z nějakého důvodu použity. Občas lze najít i ten řádek, který můžeme využít.

Třetí příklad, který mě napadá, je utilita xvidtune, s jejíž pomocí je možné modelines nastavit. Je to činnost na starším hardwaru potenciálně nebezpečná a celkově nepřehledná. Spusťte program z emulátoru terminálu (xterm); do něj se budou požadované informace vypisovat.

Chybové zprávy

Dotaz. Po spuštění XFree mi systém vypíše nějaké chybové hlášky, ale nestačím je při startu přečíst. Zapisují se někam do logu?

Odpověď. Ano, najdete je v již zmiňovaném souboru /var/log/Xfree.0.log. Při spuštění X serveru je stávající soubor přejmenován, obvykle získá příponu .old.

V některých systémech existuje ještě soubor .xsession-errors, který se nachází v domovském adresáři uživatele a obsahuje chybová hlášení procesů, které spouští uživatel při startu X serveru.

Automatické spouštění XFree

Dotaz. Chtěl bych, aby se mi XFree s KDE spustilo hned při startu. Abych nemusel pokaždé psát startx. Nikde jsem nenašel tuto volbu. Asi jsem blbě hledal, můžete mi helpnout?

Odpověď. Existují v podstatě dva způsoby jak spustit grafický server.

Příkazem startx z terminálu. Musí se to udělat ručně a spustíme tak pouze vybrané prostředí (KDE, GNOME, fluxbox, xfce nebo libovolné jiné).

Pomocí runlevelu neboli úrovně běhu systému. Systém se vždy nachází v některém runlevelu. Jeden je při načítání, další je pro přechod do víceuživatelského, nebo jednouživatelského režimu, další je pro podporu síťového prostředí, jiný je pro ukončení běhu systému. Existuje také runlevel pro grafické prostředí. Pro každou úroveň jsou v konfiguračních souborech stanoveny programy a služby, které se mají spustit, případně ukončit.

# Takto jsou runlevely definovány ve Slackware
# 0 = zastavení systému
# 1 = jednouživatelský (správcovský) režim
# 2 = nepoužito, stejné jako 3
# 3 = víceuživatelský režim, standard
# 4 = spuštění XFree se správcem přihlášení XDM, KDM, nebo GDM
# 5 = nepoužito, stejné jako 3
# 6 = reboot
#
######################################################
#
# Takto jsou runlevely definovány v SUSE 9.1
#
# runlevel 0 je zastavení systému - nepoužívat jako standard!
# runlevel 1 je jednouživatelský režim
# runlevel 2 je víceuživatelský režim bez podpory sítě
# runlevel 3 je víceuživatelský režim s podporou sítě
# runlevel 4 není použit
# runlevel 5 je víceuživatelský režim s podporou sítě a XFree
# runlevel 6 je restart systému - nepoužívat jako standard!

Pro XFree je to runlevel číslo 4, v některých distribucích 5. Příkaz pro manuální změnu runlevelu je telinit cislo-runlevelu. Takto může správce systému (root) manuálně měnit stav, ve kterém se systém nachází.

Pro nastavení průběhu startu systému existuje soubor /etc/inittab. V něm najdeme řádek

# Default runlevel. (Do not set to 0 or 6)
id:4:initdefault:

Číslo stanoví runlevel, do kterého se systém přepne po dokončení startovacích rutin. Uvedený příklad je pro Slackware. Dvojtečky jsou důležité!

Jak shodit XFree?

Dotaz. Ahoj, jak mám shodit XFree server? Potřebuju nainstalovat nvidia ovladače, a nevím jak shodit XFree.

Odpověď. Pokud máte X server spuštěný výše uvedeným způsobem, jediná možnost obvykle bývá přepnout se na některou konzoli (na třetí např. Ctrl-Alt-F3), přihlásit jako root a zadat příkaz pro přepnutí do víceuživatelského režimu bez grafického prostředí. Tedy ve Slackwaru např. příkazem telinit 3. Po provedení změn v konfiguraci XFree se vrátíte do čtvrtého runlevelu příkazem telinit 4.

Pokud nemáte v konfiguračním souboru zakázanou klávesovou zkratku (parametr DontZap), lze X server shodit kombinací Ctrl-Alt-Backspace. Více informací najdete v popisu sekce ServerFlags v prvním díle tohoto seriálu.

Tento postup je ale účinný pouze v případě, že jste X server spustili příkazem startx; pouze v tomto případě se okamžitě dostanete do terminálu. Pokud používáte správce přihlášení XDM, KDM nebo GDM, celý grafický systém se pouze restartuje a znovu se zobrazí nabídka k přihlášení. Z toho vyplývá, že můžete (za běhu X) provést změny, přepnout se do X a klávesovou kombinací Ctrl-Alt-Backspace je restartovat. Jde opravdu o tvrdý restart, žádná data se neukládají, tak si je nezapomeňte uložit!

Server se znovu spustí a načte již novou konfiguraci. (Neplatí pro font server, ten je nutné restarovat ručně. To je ale nutné pouze v případě, že provádíte změny v jeho nastavení.)

Instalace karty

Dotaz. Potřebuji nainstalovat ovladače grafické karty, ale nevím kde začít. Instalace přiřadila kartu do generické skupiny "VESA". Přesné označení typu to asi nebude, asi spíš výrobce. Bohužel ani nevím, jak ty informace získat (tištěné materiály nemám k dispozici). Lze tu kartu detekovat automaticky? Půjde vůbec rozchodit?

Program lspci

Odpověď. Začít bychom měli utilitou lspci, která zobrazí zařízení sběrnice.

# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
00:01.0 PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP]
00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
00:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
00:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE (rev 06)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE]

Jak je vidět z výpisu, grafická karta má BusID 1:00.0. To je také první parametr, který zapíšeme ve formě

PCI:sběrnice:zařízení:funkce

do sekce Device. Hodnota PCI:1:0:0 odpovídá v tomto případě AGP kartě.

Section "Device"
 Identifier "radeon0"
 Driver "radeon" # volitelne "ati"
 VendorName "ATI Radeon VE"
 Option "AGPMode" "4"
 Option "ForcePCIMode" "on"
 Option "AGPFastWrite" "on"
 BusID "PCI:1:0:0"
EndSection

Nálepka

Nepodceňujme také nálepky na samotném zařízení, mnohdy pro identifikaci postačují. Jen je nutné stroj rozdělat a trošku se potrápit při vytahování karty a dýchání x let staré prachové usazeniny...

Samotný X server

Samotný X server má také metody pro detekci hardwaru - nejsou ale tak spolehlivé jaké první řešení.

X -scanpci nebo X -probeonly

Poté již následuje pouze hledání na Internetu a zkoušení různých kombinací. Režim VESA běží, pokud je mi známo, pouze v pevně stanovených frekvencích; pokud je váš monitor nepodporuje, bývá právě tohle jádrem problému. Je třeba experimentovat. Tohle se ale týká pouze starých karet, nové takové problémy nemívají.

Změna rozlišení za běhu

Dotaz. Nevíte někdo jak změnit rozlišení v Xkách (ne jenom velikost zobrazované plochy) pomocí nějakého programu? Mám na mysli něco jako je ve Win98 ikonka vpravo dole, na kterou když poklepu, rozbalí se nabídka možných rozlišení a když na jedno z nich kliknu, rozlišení se změní, tedy bez toho, abych musel editovat konfigurak Xek.

Odpověď. Pokud máte v konfiguračním souboru definováno více režimů a povoleny klávesové zkratky, lze rozlišení přepínat pomocí Ctrl-Alt-šedé plus a Ctrl-Alt-šedé mínus. Více v prvním dílu.

Existuje ale také rozšíření X serveru (načítá se obvykle automaticky), které umožňuje přepínání podle možností karty (není třeba režimy explicitně definovat). Nazývá se XRandr, jedná se o relativní novniku, které ještě nemá žádoucí podporu a není stoprocentně funkční ve všech kombinacích. Nové KDE nebo GNOME jej však samozřejmě podporují.

Někdy musí nastat konec

Problematice bychom se mohli věnovat ještě dlouho, právě proto máme diskuze. Já jen doufám, že jsem tímto shrnutím pomohl někomu zkrátit čas při nastavování grafického systému Linuxu.

Seriál Na co se často ptáme (dílů: 11)

První díl: Na co se často ptáme 1: LILO, poslední díl: Na co se často ptáme: Balíčkovací systémy.
Předchozí díl: Na co se často ptáme 4: X Window System - II
Následující díl: Na co se často ptáme: ALSA

Související články

Na co se často ptáme 4: X Window System - I
Na co se často ptáme 4: X Window System - II
Seriál Na co se často ptáme
Multimediální a jinak vylepšené klávesnice
Vylepšete si KDE
Jak řešit problémy
Instalace TrueType fontů do Mozilly
KDE: tipy a triky

Odkazy a zdroje

Kalkulačka modelines
Další kalkulačka
Jiná kalkulačka
Ještě jedna
Program pro výpočet modelines

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

Diskuse k tomuto článku

DjAARA avatar 4.6.2004 08:58 DjAARA | skóre: 32 | Praha|Náklo|Olomouc
Rozbalit Rozbalit vše zmena runlevelu
Odpovědět | Sbalit | Link | Blokovat | Admin
no nevim jak kde ale na distribucich co sem ja potkal je telinit link na init. preci jen se tim 3 pismenka usetri :)
DjAARA's blog
4.6.2004 20:22 reboot | skóre: 4
Rozbalit Rozbalit vše Re: zmena runlevelu
gmplayer -> mplayer

aj gmplayer je len link na mplayer a neznamena to to iste :)
6.6.2004 12:23 volis
Rozbalit Rozbalit vše Re: zmena runlevelu
dalsi priklad:

newaliases -> sendmail
4.6.2004 19:38 Honza
Rozbalit Rozbalit vše Změna DPI
Odpovědět | Sbalit | Link | Blokovat | Admin
Jak se dá změnit DPI? Uvažoval jsem o 15 palcovém displeji s vysokým rozlišením 1400x1050. Všechno na displeji bylo velmi malé a tudíž nepoužitelné. Různé rady mě vedly ke změně parametru DPI, ale ten na změnu nereagoval. Jde tedy nějak nastavit, abych na displeji 1400x1050 měl vše stejně veliké jako na displeji 1024x768, jen líp prokreslené?

Pokusil jsem se nastavit i větší fonty v KDE, mozille a jiných programech, ale výsledek mě neuspokojil.
6.6.2004 20:09 dlouhan
Rozbalit Rozbalit vše Re: Změna DPI
Stejnej problem jsem resil na notebooku s timhle rozlisenim. Staci do konfiguraku X pripsat do sekce "monitor" napr. radek DisplaySize 310 232
Valoun avatar 5.6.2004 00:24 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
Rozbalit Rozbalit vše Fonty
Odpovědět | Sbalit | Link | Blokovat | Admin
Spíš bych ještě ocenil několik článků na téma fonty. Jsou toho sice plné diskuze, ale nějaký ucelený článek by jistě neuškodil.

Zajímavé pojmy k problematice fontů: Xfree fontpath, xfs, xfstt, XFT, XFT2, freetype, truetype, opentype, type1, bitmapové fonty, scaled/unscaled fonty, fonty pro X/konzoli, dpi, české fonty, nastavení fontů v GTK, GTK2, QT, Mozille, OpenOffice, případně dalších (a la WxWindows, FOX, TeX), nastroje pro praci s fonty (editace fontů, správa, přístup v různých distribucích Linuxu)

Myslím, že i mezi čtenáři ABClinuxu je velké procento těch, kteří by nedokázali uspokojivě vysvětlit všechny výše uvedené pojmy. Já osobně v nich mám docela guláš a většinu věcí řeším metodou omyl/jestevetsiomyl.
5.6.2004 09:59 famke
Rozbalit Rozbalit vše Re: Fonty
Souhlas s Ondrou. Přimlouvám se za Howto nabo článeček o fontech v moderních distribucích. (pokud možno slackware).
5.6.2004 16:37 Vlastimil Ott | skóre: 66 | blog: Plastique | Opava
Rozbalit Rozbalit vše Re: Fonty
Beru to jako téma, samozřejmě to může napsat kdokoliv, kdo tomu rozumí. Já v tom mám taky lehký zmatek, zejména proto, že mi splývají knihovny a technologie pro AA fonty apod. Pokusím se o to. Pokud má někdo něco rozepsané, může hned vyjít první díl. ;-)
Práce: Liberix, o.p.s. | Blog: OpensourceBlog.cz | Online kurz Zlatý WordPress
6.6.2004 16:59 Zbynek Hubinka
Rozbalit Rozbalit vše Re: Fonty
Ve zkratce: vsechny nove zarazovane fonty v jednom adresari, v nem pro TrueType spustte ttfmkdir, pro PS fonty type1inst. Do souboru /etc/X11/fs/config, resp. /etc/X11/XF86Config-4 nebo jaky konfiguracni soubor pouzivate pridejte dalsi uplnou cestu k adresari s fonty, restartujte fontserver resp. xserver a je hotovo.
6.6.2004 17:01 Zbynek Hubinka
Rozbalit Rozbalit vše Re: Fonty-oprava
Samozrejme ttmkfdir... Sorry.
6.6.2004 17:29 Vlastimil Ott | skóre: 66 | blog: Plastique | Opava
Rozbalit Rozbalit vše Re: Fonty-oprava
Asi mluvíme o něčem jiném. Mně jde spíše o FreeType 1 a 2, Xft a další knihovny, které se ve své funkčnosti často překrývají, viz například nějaké info.

Fonty si nastavit umím, jinak bych si nedovolil psát článek o XFree...;-) :-p
Práce: Liberix, o.p.s. | Blog: OpensourceBlog.cz | Online kurz Zlatý WordPress
6.6.2004 17:41 Zbynek Hubinka
Rozbalit Rozbalit vše Re: Fonty-oprava
Pardon, to patrilo do tehoz threadu, ale o prispevek vys... nejak jsem to spatne odeslal.

Jinak s temi knihovnami je to imho spis zalezitost pro programatora nez pro uzivatele.
Valoun avatar 7.6.2004 00:15 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
Rozbalit Rozbalit vše Re: Fonty
Vidite to vsechno moc jednoduse, asi vas finty nikdy nezlobily. Az vam nastanou problemy jako me, budete rad, kdy najdete clanek, kterej vam v problematice udela jasno.

Napr kdyz flashplayer plugin prestane ukazovat fonty, Sodipodi pada, jakmile kliknete na tvoru textu, font Verdana Italic ma rozpadla pismena a Mozilla vse zobrazuje odporne male. To teprve zacina ta prava zabava.
7.6.2004 08:12 Zbynek Hubinka
Rozbalit Rozbalit vše Re: Fonty
Mozille se da v konfiguraci vnutit nejmensi velikost pisma, pokud to nepomuze, zakazte jina pisma, nez ta vami definovana. BTW jakou distribuci pouzivate?
OndraZX avatar 6.6.2004 11:40 OndraZX | skóre: 27 | blog: OndraZX | Frydek-Mistek
Rozbalit Rozbalit vše Re: Fonty
Jsem taky pro - problematiku fontu vidim jako nejvetsi problem rozsireni Linuxu na desktopu.
5.6.2004 16:20 Fiki
Rozbalit Rozbalit vše Přepinání mezi LCD a mon.
Odpovědět | Sbalit | Link | Blokovat | Admin
Dobrý den,nainstaloval jsem linux na notebook kde je sis650.Po lspci: 01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] SiS650/651/M650/740 PCI/AGP VGA Display Adapter. Mám však problém že nemohu přepínat mezi LCD a externím monitorem tak jak to jde pod xp.Běží to samé na LCD a monitoru součesně navic jen 1024x768 (to asi proto že LCD vic neumí)Moje představa byla že se při bootu do linuxu zapne jen zobrazování na monitoru pokud je připojen a také že dosahnu výš jak 1024x768 to se pod xp daří.Věděl by někdo jak toho dosahnou pokud to vubec lze ? Notebook ma také s-video výstup.Pročetl jsem pár odkazu které jsem našel ohledně sis a linuxu vše je anglicky a tak mi to bohuzel nic moc neriká. Kamil
5.6.2004 17:49 pesbaskervilsky
Rozbalit Rozbalit vše Re: Přepinání mezi LCD a mon.
Hledejte utilitku sisctrl (potrebuje k sobe upravene drivery od Winischoffera...)
6.6.2004 08:59 Fiki
Rozbalit Rozbalit vše Re: Přepinání mezi LCD a mon.
Diky za info.Ovladač už mám,sisctrl už mi také jde.Mohu přepínat mezi LCD nebo CRT jen to rozlišení stále odolává. Nemohu nastavit víc jak 1024x768.LCD je vyplý a přesto mne to přes tuto hranici nepustí. Kamil
Ondroid avatar 6.6.2004 12:28 Ondroid | skóre: 32 | blog: Hombre
Rozbalit Rozbalit vše X.org
Odpovědět | Sbalit | Link | Blokovat | Admin
Uvítal bych nějakou debatu o přechodu k X.org. Včera sem na to přešel z XFree 4.3.0-r5 (na Gentoo). Povedlo se to celkem hladce a funguje mi i nadále NVidia akcelerece. Trochu se zlepšilo i vyhlazení fontů, to by zřejmě ale nastalo i přechodem na XFree 4.4. Jen sem tam ty fonty musel doinstalovat protože ty které jsou přímo součástí X.org nejsou nic moc. Utility se jen přejmenovaly (xorgcfg, xorgconfig) a fungují v podstatě stejně jako v XFree. Soubor /etc/X11/XF86Config zůstal ale pokud sem použil xorgcfg vytvořil se nový /etc/X11/Xorg.conf nebo tak nějak :-).
6.6.2004 12:47 Vlastimil Ott | skóre: 66 | blog: Plastique | Opava
Rozbalit Rozbalit vše Re: X.org
Taky v plánu...;-)
Práce: Liberix, o.p.s. | Blog: OpensourceBlog.cz | Online kurz Zlatý WordPress
6.6.2004 16:54 Zbynek Hubinka
Rozbalit Rozbalit vše Re: X.org
Z hlediska konfigurace a behu xserveru je to vlastne jedno, X.Org je fork z XFree86 4.3.99-nejaka_revize. Plati vsechna vylepseni, ktera jsou uvedena v dokumentaci k XFree86 4.4.0.

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.