Eida.cz - Dvě šestky v OpenBSD a jejich desktop pod vmware

Dvě šestky v OpenBSD a jejich desktop pod vmware

Eida

Podzim je zajímavým obdobím sklizně, kdy příroda i software dozrává, abychom si mohli uloupnout jejich sladkých plodů. Tohle je přesně dnešní případ, kdy v krásně zlatavém počasí plném listí a vůně ořechů vyšlo OpenBSD 6.6, které od poslední bety zavedlo a následně i backportovalo do 6.5 úžasnou utilitu sysupgrade. Ono obecně není o čem vyprávět, s *BSD systémy zkrátka žádné problémy nejsou, ale je prima je se podívat někdy na jejich vývin.

Nedá se říct, že by bylo OpenBSD přímo určeno pro desktopy, jeho cílem jsou rozhodně bezpečné servery a taková ta hodně odschoolová omáčka kolem nich a ještě možná šifrované notebooky. Přiznám se, že mi ani jeden headless server neběží na skutečném železe a ty produkční jsou virtualizované v linuxových KVM. Na tom asi taky není co komentovat, jen snad určitá nepohodlnost při upgradech na nové majoritní verze. Dosud to celé fungovalo tak, že jakmile se nové vydání objevilo, bylo potřeba stáhnout nový bsd.rd do /, restartovat virtuál, nabootovat v něm tento instalační image a odentrovat aktualizaci systému. To až tak headless jen přes SSH mimo běžící systém samozřejmě nešlo úplně napřímo, takže bylo často nutné se na bootující virtuál podíval třeba VNCčkem a nezbytné ťukací aktualizační kroky udělat manuálně. Pořád to bylo ale asi tisíckrát snazší, než se snažit rozjet na Raideriášově notebooku Windows za méně než deset hodin. No a teď přišel ten úžasný nástroj sysupgrade, který stačí pouze pod rootem začarovat a on už všechno udělá úplně sám. Tečka. Po novém bootu už totiž valí nový systém, všechno funguje a nemusíme se o to starat.

Je to zajímavá věc v tom smyslu, že všechno spěje postupně k tomu, aby bylo možné běžet čistě out-of-box a není už potřeba se zdržovat složitými konfiguracemi a syntaxemi konfigurací, jak správně nedávno poznamenal minji. Situace se ale poněkud změní, pokud něco samo jaksi nefunguje. Jako příklad, to při hraní si s UEFI bootem, tu mám na macovském VmWare Fusion instalaci OpenBSD s grafickým desktopem s XFCE4.

OpenBSD 6.6 s Xfce4 pod VMware

Komunikace s virtuálními stroji a napříč různými virtualizačními platformami může být poněkud složitá, zvlášť když se připočtou potíže v podobě HiDPI a podobné novodobé výmysly, které všechno ještě umocní pod guesty, kteří nemají nějaké vmtools a podobně. Zkrátka jde o to, že kdo tohle kdy zkoušel, asi nedostal pod vmware optimální rozlišení hostitele a zřejmě se to celé zobrazovalo v nějakém šíleném 2880x1800, které pak monitor nutně zmenšil, aby se to vešlo na obrazovku při fullscreenu. Tak co s tím, žejo, žádná grafická klikací vychytávka na změnu rozlišení tu není, takže se můžeme pokusit o staré dobré a tradiční Xorg -configure, které… tu není, a tedy nefunguje, protože proč taky.

Je to trochu nestandardní situace, ale naštěstí má OpenBSD velmi dobře dokumentované všechny možnosti a umí škálovat konfigurace moderním způsobem v conf.d adresářích; stejně tak je tomu v případě nastavení Xorg, kterýžto vyžaduje onu pomocnou ruku v /etc/X11/xorg.conf.d. Ten je ale ve výchozím stavu úplně prázdný, takže se do něj musí vytvořit nový záznam, řekněme třeba 00-vm.conf. No a teď ta magie. Ačkoliv potřebujeme jen sdělit, že podporovaný (a třeba jen jediný) režim je 1920x1080@24, není to tak přímočaré. Konfigurace Xorg očekává, že zobrazovací jednotka je součástí nějaké obrazovky, která se nachází na určitém skutečném zařízení-monitoru, který je pak připojený na grafickou kartu. Nuže, jako první lze specifikovat onu kartu a hned jí přiřadit ovladač vmware, dále zadefinovat nějaký smyšlený monitor podporující všechny divoké možnosti synchronizace a refreshování a jako poslední onu samotnou obrazovku, kde se to všechno propojí dohromady a specifikuje se konečný displej s podporovanými režimy, v tomhle případě jen jediným.

00-vm.conf 492 bajtů
Section "Device"
  Identifier	"VM-GPU"
  Driver	"vmware"
  VendorName	"VmWare"
  BoardName	"VmWare Graphics Adapter"
EndSection

Section "Monitor"
  Identifier	"VM-Monitor"
  VendorName	"VmWare"
  ModelName	"VmWare Monitor"
  HorizSync	1.0 - 1000.0
  VertRefresh	1.0 - 1000.0
EndSection

Section "Screen"
  Identifier	"VM-Screen"
  Device	"VM-GPU"
  Monitor	"VM-Monitor"
  DefaulttDepth	24
  SubSection "Display"
    Viewport	0 0
    Depth	24
    Modes	"1920x1080"
  EndSubsection
EndSection
Úprava Xorg pro 1920x1080 ve VmWare

Pak stačí už jen restartovat Xorg a XFCE4 by už mohlo v nastavení zobrazení nabídnout onen správný režim pro plné požadované rozlišení. Je to trochu alchymie a hezky se na tom ukazuje, jak hrozně snadné je nechat se zhýčkat tím, co funguje na první pohled samo, a zapomenout na obvyklá úskalí s konfiguracemi v minulých desetiletích. Rozhodně ale musím v tomhle smyslu doporučit OpenBSD používat každý den, jelikož úroveň nostalgie je v tomhle ohledu neskutečně příjemná a zároveň je všechno hbité a moderní, že se tomu až nechce věřit. A co se týče dvou šestek, hodnotím třemi šestkami ze tří možných, protože sysupgrade je vážně neskutečný nářez.

Tento článek přečetlo již 250 čtenářů (0 dnes).

Komentáře

Nový komentář