[FAQ Index] [Do sekce 10 - Správa systému] [Do sekce 12 - Specifické otázky o hardware a platformách]
X je považován za "client-server" strukturovaný protokol, ale terminologie je občas matoucí. Počítač s grafikou na obrazovce je "X Server"- Aplikace, která řídí X server a říká mu co umístit na obrazovku je "X klient", ačkoliv to může být mnohem více výkonější počítač v datovém centru. Tento model může být použit k tomu, že velké a na procesor náročné aplikace (X klienti) běžící na velmi výkonném stroji používají X server běžící na malém, nízko výkonném stroji na vašem stole pro své uživatelské rozhraní.
Je možné pouštět X klienty na systému bez jakékoliv grafické podpory. Například je možné mít aplikaci (X klienta) běžící na mvme88k, která zobrazuje svůj výstup na grafickém displeji alpha (X server). Protože X je velmi dobře definovaný multiplatformní protokol, tak je dokonce možné aby X aplikace běžící (například) na Solaris stroji používala OpenBSD stroj pro své zobrazení.
Klient a server mohou také běžet na stejném stroji a pro většinu této sekce to budeme i předpokládat.
Prostě důvodem běžících X je obvykle spouštět X aplikace. Některé X aplikace jsou velmi efektivní, jiné si zdánlivě vezmou a použijí veškerý výkon procesru a všechnu RAM, kterou jim můžete dát. Samozřejmě, že někteří uživatelé chtějí použít X jen k poskytnutí velkého množství Of course, some users just like to use X to provide a large number of xterm(1)ů, což může být provedeno na velmi nenáročném hardware.
Detaily manuální konfigurace X se významně liší od platformy k platformě. Ve všech případech najdete instrukce a jiné informace specifické pro platformu v /usr/X11R6/README v nainstalovaném systému.
Několik platforem vyžaduje xf86(4) X aperture ovladač, který poskytuje přístup do paměti a I/O portům VGA desky a PCI konfiguračním registrům požadovaným X serverem. Tento ovladač musí být povolen předtím než je použit. Buď odpovědí "yes" na tuto otázku během instalace:
nebo změnou hodnoty machdep.allowaperture na odpovídající ne-nulovou hodnotu v /etc/sysctl.conf pro vaši platformu a restartem stroje (tato sysctl nemůže být změněna po restartu z bezpečnostních důvodů). Toto má dopady na bezpečnost, takže to nedělejte, pokud to opravdu nepotřebujete.Do you expect to run the X window System [no]
Nastavte machdep.allowaperture=1 v /etc/sysctl.conf.
TGA a některé VGA karty jsou podporovány. Žádná další konfigurace by neměla být potřeba.
Nastavte machdep.allowaperture=2 v /etc/sysctl.conf.
Pro většinu uživatelů se X na amd64 automaticky konfiguruje úspěšně, takže žádná další konfigurace není potřeba. POKUD je nějáká konfigurace nutná, tak použijte X -configure proces níže.
Nastavte machdep.allowaperture=2 v /etc/sysctl.conf.
Pro většinu uživatelů se X na i386 automaticky konfiguruje úspěšně, takže žádná další konfigurace není potřeba. POKUD je nějáká konfigurace nutná, tak použijte X -configure proces níže.
Nastavte machdep.allowaperture=2 v /etc/sysctl.conf.
Podporované Macintosh PPC systémy mohou běžet dvěma ruznými způsoby: "accelerated" a "framebuffer" (bez akcelerace).
V "framebuffer" módu systém poběží s 8 bity na pixel a video rozlišení je kontrolováno Macintosh prostředím. Z toho důvodu budete chtít pravděpodobně zachovat malou MacOS sekci na vašem disku pro nastavení těchto voleb. Tento mód má tu výhodu, že "Prostě funguje", ale může být šíleně neflexibilní (například změna rozlišení může vyžadovat spuštění MacOS).
Pokud má váš Macintosh video systém založený na ATI, tak může používat akcelerovaný X server, který dává lepší výkon a více kontroly nad OpenBSD prostředím. NVIDIA video karty v některých macppc systémech budou také v mnoha případech fungovat. README soubor obsahuje detaily o konfiguraci akcelerovaného ovladače. Začněte použitím ukázkového souboru.
Ačkoliv README soubor popisuje použití standardní Apple myši s jedním tlačítkem v X, tak pokud nepoužíváte laptop je velmi doporučováno, že si koupíte moderní USB myš od jakéhokoliv výrobce s třemi nebo více tlačítky.
HorizSync 60.0 - 60.0
VertRefresh 43.0 - 117.0
Můžete si přát omezit spodní limit VertRefresh na
hodnoty, které vám budou asi více vyhovovat jako například 70.
S jediným podporovaným framebufferem zde není potřeba žádná konfigurace. Pokud si přejete použít konfiguraci s více monitory, tak se podívejte na README soubor výše pro detaily.
Rozlišení je kontrolováno firmwarem předtím než nastartuje OpenBSD.
Většina jednoduchých konfigurací nyní "Prostě funguje". Pokud vaše nefunguje nebo si chcete hrát, tak se podívejte na README soubor výše.
X server aktuálně funguje pouze na VAXstation 4000 modelech buď s lcg(4) nebo lcspx(4) framebufferem.
Konfigurace neni potřeba, X "Prostě funguje".
Pokud X nefunguje jak by jste chtěli s vaším systémem, tak budete potřebovat vytvořit konfigurační soubor. Dobré místo ke startu (a někdy i ke konci!) je spustit Xorg(1) v "X -configure" módu. Toto nahraje všechny dostupné moduly video ovladačů, vyhledá jiný hardware a podle toho co najde vytvoří xorg.conf soubor, který může nebo nemusí fungovat. I když nebude fungovat, tak to bude užitečný startovní bod pro vytvoření konfigurace, která bude fungovat jak chceme.
Jiná a časem prověřená metoda pro konfiguraci X je použít váš oblibený vyhledávač k nalezení někoho jiného kdo už váš problem vyřešil. Nezapomeňte, že xorg.conf soubory pro jiné OS podobné Unixu často nabízí užitečné tipy pro to co potřebujete, aby jste rozjeli X na vašem podobném hardware. I když to není špatná cesta, tak tato metoda zde nebude zvýrazňována.
Toto je v dávné době highéend video karta s 16M RAM, ale nyní je většinou nepodporovaná v moderních verzích "mainstream" operačních systémů. Monitor připojený k systému je Sony Multiscan G400 19" CRT bylo by fajn kdyby fungoval na 1280x1024 se slušnou obnovovací frekvencí a 24 bitovou barevnou hloubkou.vga1 at pci1 dev 0 function 0 "3DFX Interactive Banshee" rev 0x03
Za prvé, po instalaci OpenBSD s X (a ověření, že aperture ovladač je povolen v kernelu) se podíváme co X.Org auto detekce a konfigurace dělá. Nakonec, můžeme mít štěstí. Takže se prostě přihlásíme a použijeme příkaz startx(1). Obrazovka na okamžik zčerná a poté získáme X "testovaciobraz" na pozadí, "X" kurzor a poté xterm okno.
Ono to funguje!
Více nebo méně. Zatímco systém je plně funkční, tak se zdá, že nevybral žádné z vlastností monitoru a běží evidentně na nízkém rozlišení (680x480). Doufáme, že to půjde lépe než tohle. Mnohem lépe ve skutečnosti. To znamená, že potřebujeme vyrobit náš vlastní xorg.conf soubor, bohužel.
Využijme "X -configure" proces pro vygenerování počátečního xorg.conf souboru. Musíte to udělat jako root:
Mimochodem ta zpráva je důležitá -- použijte celou cestu k vašemu xorg.conf.new souboru, i když je ve vašem aktuálním adresáři. Vynechání tohoto způsobí, že X(7) nenajde soubor a tiše použije defaultní konfiguraci a pokud ta fungovala, tak by jste nepoužívali tento proces! Tohle může trochu zpomalit vaše hledání problému. V tomhle nám věřte.# X -configure [...] Your xorg.conf file is /root/xorg.conf.new To test the server, run 'X -config /root/xorg.conf.new'
Pojďme udělat co to říká a uvidíme co dostaneme:
Nyní, všechno co máme je černá obrazovka. A přitom to začalo tak dobře...# X -config /root/xorg.conf.new
Toto může být opravdu dobrý čas pobavit se o způsobech jak opustit X, když je spuštěno touto cestou. V pořadí důležitosti:
Tohle je místo, kde se znalost vašeho hardware bude hodit. Připojení tohoto systému k jinému monitoru zatímco ukazuje prázdnou obrazovku vyvolá "Sync. Out of Range" zprávu na monitoru. Evidentně konfigurace, kterou nám X dodalo na tomto monitoru fungovat nebude a nemusí fungovat na ŽÁDNÉM monitoru pokud byl vybrán video mód, který není možný pro tuto konkrétní kartu (nezapomeňte, že X prozkoumává chipy na kartě a čeho jsou případně schopné, ne to, jak to výrobce dal všechno dohromady). Různé monitory budou dělat různé věci pokud je časování úplně mimo. Některé se pokusí zobrazit co mohou, jiné skočí do úsporného režimu, jiné budou dělat hrozné zvuky a některé zobrazí užitečné zprávy na obrazovce. Tenhle monitor vypadá, že nedělá nic z toho. Udělali jsme si poznámku o NEPOUŹÍVÁNÍ tohoto monitoru pro počáteční X konfiguraci kdykoliv v budoucnosti.
Při prohlížení vygenerovaného xorg.conf.new souboru vidíme toto:
Section "Monitor"
#DisplaySize 370 270 # mm
Identifier "Monitor0"
VendorName "SNY"
ModelName "SONY CPD-G400"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 30.0 - 107.0
VertRefresh 48.0 - 120.0
Option "DPMS"
EndSection
Jako test pojďme použít DDC ("Data Display Channel", což je způsob jak
monitor může říct počítači a video kartě co vlastně podporuje) a podívejme
se co se stane.
Tentokrát dostaneme v X síťové pozadí a pohybující se kurzor, což je
všechno co očekáváme, když spouštíme X tímto způsobem (ukončíme X pomocí
CTRL-ALT-Backspace triku jak je popsáno výše).
Je to (opět) velmi nízké rozlišení, ale funguje a tak si můžeme být poměrně
jistí, že máme problémy s časováním a rozlišením.
Obnovíme "HorizSync" a "VertRefresh" řádky do původního stavu, protože jsme
si potvrdili specifikace tohoto monitoru skrze lehké vyhledávání na Internetu.
Zkusme přinutit Xorg ke konkrétnímu rozlišení a sledujme jestli budeme mít štěstí. V Section "Screen" části xorg.conf souboru chceme přidat pár řádků. Přidané řádky jsou zvýrazněny tučně:
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Tyto dvě změny říkají X, že chceme použít 24 bitovou barevnou hloubku a
pro tuto hloubku, že chceme použít rozlišení 1280x1024.
Protože žádné jiné rozlišení není pro "Depth 24" definováno, tak systém
bude k tomuto rozlišení přinucen.
Vyzkoušíme tak, jak už jsme zkoušeli a .. ÚSPÉCH! Máme to co vypadá jako velmi pěkná obrazovka s vysokým rozlišením. Uvědomte si, že VŠECHNO co očekáváme je síťové pozadí (je to velmi dobré pro to, aby jste viděli jak dobrý váš monitor DOOPRAVDY je a také skvělé pro kalibraci LCD displejů, nazývá se "root weave") a pohyblivý kurzor. Není to plánováno aby to bylo funkční už nyní.
Nyní chceme tento xorg.conf soubor nainstalovat, protože potřebujeme vidět jak daleko jsme pokročili s použitelným a běžícím X.
Nyní můžeme zkusit X pomocí normálního startx(1) příkazu. Funguje to!# cp xorg.conf.new /etc/X11/xorg.conf
Také by asi bylo dobré ověřit, že máme rozlišení a barevnou hloubku, kterou chceme a také, že fungujeme na slušné obnovovací frekvenci. Toto můžeme udělat pomocí xrandr(1) a xdpyinfo(1) příkazů. Mimo jiných věcí nám xdpyinfo(1) říká:
[...]
screen #0:
print screen: no
dimensions: 1280x1024 pixels (433x347 millimeters)
resolution: 75x75 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
root window id: 0x44
depth of root window: 24 planes
[...]
Takže ano, fungujeme na 1280x1024 s hloubkou 24 úrovní (bitů).
xrandr(4) nám říká:
SZ: Pixels Physical Refresh
*0 1280 x 1024 ( 433mm x 347mm ) *85 75 60
1 1280 x 960 ( 433mm x 347mm ) 85 60
[...]
což znamená, že fungujeme na 85Hz obnovovací frekvenci to by mělo být
velmi komfortní nastavení pro většinu uživatelů.
Na některých platformách budete potřebovat vypnout konzoli getty(8) pro použití xdm(1).
Defaultní okenní manažer v OpenBSD je fvwm(1). Fvwm je dobrý, všeobecně použitelný okenní manažer, ale těžko to je vaše jediná volba; dokonce to není jediný okenní manažer v základním OpenBSD (podívejte se na cwm(1) a twm(1)). Velké množství okenních manažerů je také dostupných skrze balíčky.
Podobně jako systémové startovací skripty, tak i X má proces, kterým prochází při nastavování uživatelského prostředí. Přesněji řečeno má více než jeden proces, který proces se použije záleží na tom jak spouštíte X. Pochopení toho, jak X startuje, vám pomůže porozumět tomu, jak upravit vaše pracovní prostředí k obrazu svému.
Uvědomte si, že může upravit prostředí jak na systémové úrovni, tak i pro jednotlivé uživatele. Je asi nejlepší provádět změny na úrovni uživatele než měnit systémové defaultní nastavení, protože uživatelské skripty jsou uloženy v domovském adresáři uživatele a tak budete mít méně práce se spojováním souborů, když aktualizujete systém na novější verzi OpenBSD. Systémová defaultní nastavení jsou v /etc/X11 a byli nastaveny z xetcXX.tgz, který se neobnovuje při doporučeném upgrade procesu. Takže pokud uděláte systémové změny, tak zůstanou, ale může být potřeba spojit tyto změny s novějšími verzemi těchto souborů.
V nejlehčím případě může obsahovat tak málo jako jméno okenního manažera, který si přejete spustit:
Nebo si můžete trochu více pohrát:cwm
To spustí xconsole(1) , která nabízí kopii jakéhokoliv textu, který by jádro poslalo na konzoli (kterou nyní zabírá grafická obrazovka), analogové hodiny oclock(1) a nastaví pozadí na šedou výplň pomocí xsetroot(1) .To vše před spuštěním cwm(1) okenního manažera. Všimněte si, že pouze okenní manažer není "upozaděn" pomoci "&" znaku. To znamená, že X zůstane běžet dokud cwm(1) neskončí.xconsole -geometry -0+0 -fn 5x7 & oclock -geometry 75x75-0-0 & xsetroot -solid grey & cwm
Pokud uživatelův domovský adresář neobsahuje .xinitrc soubor, tak je použit systémový /etc/X11/xinit/xinitrc soubor. Tento soubor vám může poskytnou další nápady pro váš .xinitrc skript.
xdm(1) má spoustu další funkcí, které tady řešit nebudeme, ale pro naše účely bude xdm ukazovat uživateli přihlašovací obrazovku, načte a ověří uživatelské jméno a heslo a poté dá uživateli jeho X prostředí. Když se X vypne, ať už úmyslně nebo neúmyslně, tak xdm ho znovu spustí. To je důvod, proč si musíte být jistí, že X je nakonfigurováno správně předtím, než použijete xdm(1) a zcela jistě předtím, než se xdm(1) spustí při startu počítače. Protože jinak to může být těžké získat kontrolu nad strojem.
Když xdm(1) startuje, tak spouští /etc/X11/xdm/Xsession, které kontroluje jestli má uživatel .xsession soubor ve svém domovském adresáři. Takže pokud si přejete změnit váš defaultní okenní manažer, tak to udělejte (a možná i další věci) v .xsession. Opakujeme, že jakékoliv programy, které chcete spustit zároveň s X (například tři xterm(1)) mohou být umístěny zde, ale všechno musí být spouštěno na pozadí kromě vašeho okenního manažera a opět, pokud ten skončí tak vaše X sezení bude ukončeno. V tom případě xdm(1) restartuje X a přenese vás zpátky do příhlašovací obrazovky.
Několik okenních manažerů (včetně cwm(1) a fvwm(1)) nabízí možnost změnit okenní manažer za chodu, bez restartování X nebo jakékoliv vaší aplikace. Váš nový okenní manažer nahradí váš starý. Opuštění nově nahraného okenního manažeru vypne X. Nevrátí vás to zpět do vašeho předchozího okenního manažeru. fvwm(1) vám umožńuje spustit jiný okenní manažer kliknutím levým tlačítkem myši na pozadí ("root window"), výběrem "(Re)Start" a následným výběrem vašeho oblíbeného okenního manažeru (uvědomte si ale, že musíte přidat váš alternativní okenni manažer do vašeho .fvmwrc souboru (systémový defaultní soubor je /usr/X11R6/lib/X11/fvwm/.fvwmrc)). cwm(1) vám umožňuje spustit jiný okenní manažer pomocí stisku kombinace Ctwl-Alt-w a napsáním názvu manažeru do kterého se chcete přepnout.$ startx /usr/local/bin/fluxbox
Jakmile najdete okenní manažer, který se vám líbí, tak ho můžete nastavit jako poslední program, který spouští váš startovací skript jak je popsáno výše.
[FAQ Index] [To Section 10 - Správa systému] [To Section 12 - Specifické otázky o hardware a platformách]