Commit dba38bd9 authored by Jan Uhlík's avatar Jan Uhlík

Typos

parent e6932b6f
Pipeline #62995786 passed with stage
in 47 seconds
......@@ -6,7 +6,7 @@ Jan Uhlík <[email protected]>
:icons: font
:toc:
Již je to pár let, co jsem poprvé pocítil sílu dlaždicového link:https://wiki.archlinux.org/index.php/window_manager[window manager], konkrétně link:https://i3wm.org/[i3]. Žel bohu, kvůli nedostatku času a zkušeností, jsem nebyl sto systém (kde na pozadí běžel link:https://www.archlinux.org/[Arch Linux]) pořádně ukočírovat. Byl jsem tak nucen na čas přejít na kombinaci link:https://www.gnome.org/[Gnome]/link:https://getfedora.org/[Fedora]. V této konfiguraci jsem setrval bezmála dva roky. Po celou dobu jsem však cítil touhu návratu k Arch Linux a i3. Nechtěl jsem však svůj návrat uspěchat a spíše vše do detailu pochopit. Proto jsem nejdříve zvolil kombinaci Gnome/Arch, na které jsem strápůl roku. Následně jsem se rozhodl vyměnit i Gnome. Jenže to jsem ještě netušil, jakou proměnou si linuxový svět za těch pár let prošel. Jednou z nejvýraznějších změn je vydání stabilní verze nového link:https://en.wikipedia.org/wiki/Display_server[display server protocol] link:https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)[Wayland]. i3 není (a nikdy ani nebude) připraven bežet na Wayland. Proto započali práce na nový projektu s názvem link:https://swaywm.org/[Sway], který má být Wayland alternativou práě k i3. A právě přechodu z GNOME na Sway bude pojednávat tento článek.
Již je to pár let, co jsem poprvé pocítil sílu dlaždicového link:https://wiki.archlinux.org/index.php/window_manager[window manager], konkrétně link:https://i3wm.org/[i3]. Žel bohu, kvůli nedostatku času a zkušeností, jsem nebyl sto systém (kde na pozadí běžel link:https://www.archlinux.org/[Arch Linux]) pořádně ukočírovat. Byl jsem tak nucen na čas přejít na kombinaci link:https://www.gnome.org/[Gnome]/link:https://getfedora.org/[Fedora]. V této konfiguraci jsem setrval bezmála dva roky. Po celou dobu jsem však cítil touhu návratu k Arch Linux a i3. Nechtěl jsem však svůj návrat uspěchat a spíše vše do detailu pochopit. Proto jsem nejdříve zvolil kombinaci Gnome/Arch, na které jsem strávil půl roku. Následně jsem se rozhodl vyměnit i Gnome. Jenže to jsem ještě netušil, jakou proměnou si linuxový svět za těch pár let prošel. Jednou z nejvýraznějších změn je vydání stabilní verze nového link:https://en.wikipedia.org/wiki/Display_server[display server protocol] link:https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)[Wayland]. i3 není (a nikdy ani nebude) připraven bežet na Wayland. Proto započaly práce na nový projektu s názvem link:https://swaywm.org/[Sway], který má být Wayland alternativou práě k i3. A právě přechodu z GNOME na Sway bude pojednávat tento článek.
[NOTE]
====
......@@ -33,7 +33,7 @@ image::display_server_layers.svg[500,500]
Pro lepší názornost uveďme jeden z typických příkladů _putování signálu_. Uživatel pomocí vstupního zařizení (například myši) klikne na tlačítko aplikace. Signál z myši je zachycen a zpracován v modulu _endev_ a je následně delegován do display server. Ten se na základě informací o rozložení oken rozhodne delegovat signál dále do konkrétní aplikace. Aplikace tak přijme signál, že bylo kliknuto na konkrétní tlačítko. Změní svůj stav, popřípadě i vyšle zpáteční signál s požadavkem o nové vyrendrování zpět do display server.
Po dlouhou dobu platil za standard protokol link:https://en.wikipedia.org/wiki/X_Window_System[X Windows System] (také známý pod názvem _X11_), který na pozadí komunikuje s display server link:https://en.wikipedia.org/wiki/X.Org_Server[X.Org Server]. Na <<X11,diagramu>> niže vidíme, jak X.Org Server komunikuje se svými klienty. Všimněme si, že na rozdíl o jeho následníka, o kterém bude řeč za malý okamžik, striktně odděluje modul nazvaný link:https://en.wikipedia.org/wiki/X_window_manager[Window manager]. Jak již název napovídá Window manager se stará o správu a rozložení jednotlivých oken aplikací. No a právě link:https://i3wm.org/[i3] je jednou z možných implementací Window manageru.
Po dlouhou dobu platil za standard protokol link:https://en.wikipedia.org/wiki/X_Window_System[X Windows System] (také známý pod názvem _X11_), který na pozadí komunikuje s display server link:https://en.wikipedia.org/wiki/X.Org_Server[X.Org Server]. Na <<X11,diagramu>> níže vidíme, jak X.Org Server komunikuje se svými klienty. Všimněme si, že na rozdíl od jeho následníka, o kterém bude řeč za malý okamžik, striktně odděluje modul nazvaný link:https://en.wikipedia.org/wiki/X_window_manager[Window manager]. Jak již název napovídá, Window manager se stará o správu a rozložení jednotlivých oken aplikací. No a právě link:https://i3wm.org/[i3] je jednou z možných implementací Window manageru.
[#X11]
.Ukázka X.Org Server komunikace, zdroj link:https://en.wikipedia.org/wiki/Display_server#/media/File:X11_display_server_protocol.svg[wikipedia]
......@@ -46,14 +46,14 @@ ____
What’s different now is that a lot of infrastructure has moved from the link:https://en.wikipedia.org/wiki/Display_server[X server] into the kernel (memory management, command scheduling, link:https://en.wikipedia.org/wiki/Mode-setting[mode setting]) or libraries (link:https://en.wikipedia.org/wiki/Cairo_(graphics)[cairo], pixman, link:https://en.wikipedia.org/wiki/Freetype[freetype], link:https://en.wikipedia.org/wiki/Fontconfig[fontconfig], link:https://en.wikipedia.org/wiki/Pango[pango], etc.), and there is very little left that has to happen in a central server process. ... [An X server has] a tremendous amount of functionality that you must support to claim to speak the X protocol, yet nobody will ever use this. ... This includes code tables, glyph rasterization and caching, link:https://en.wikipedia.org/wiki/X_logical_font_description[XLFDs] (seriously, XLFDs!), and the entire core rendering API that lets you draw stippled lines, polygons, wide arcs and many more state-of-the-1980s style graphics primitives. For many things we've been able to keep the X.org server modern by adding extension such as link:https://en.wikipedia.org/wiki/XRandR[XRandR], link:https://en.wikipedia.org/wiki/XRender[XRender] and link:https://en.wikipedia.org/wiki/Composite_(graphics)[COMPOSITE] ... With Wayland we can move the X server and all its legacy technology to an optional code path. Getting to a point where the X server is a compatibility option instead of the core rendering system will take a while, but we'll never get there if [we] don’t plan for it.
____
Nový protokol nazvali link:https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)[Wayland] a jeho ukázkovou komunikaci můžeme vidět na dalším <<Wayland,diagramu>>. Zmiňme tedy alespon seznam hlavním změň oproti protokolu X11:
Nový protokol nazvali link:https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)[Wayland] a jeho ukázkovou komunikaci můžeme vidět na dalším <<Wayland,diagramu>>. Zmiňme tedy alespoň seznam hlavních změn oproti protokolu X11:
* *Organizace* - došlo k výraznému zjednodušení, a mnohdy dokonce i k úplnému odstranení některých funkcionalit. Zvýšila se tak přehlednost kódu a usnadnila budoucí modifikace.
* *Organizace* - došlo k výraznému zjednodušení a mnohdy dokonce i k úplnému odstranení některých funkcionalit. Zvýšila se tak přehlednost kódu a usnadnila budoucí modifikace.
* *Architektura* - došlo ke sloučení Window serveru a samotného Display serveru.
* *Rendering* - v X11 prování rendering samotný X server. Na druhou stranu Wayland deleguje práci na jednotlivé své klienty.
* *Bezpečnost* - Wayland striktně odděluje vstupní a výstupním komunikaci mezi jednotlivými klienty. V současné době tak například není možné sdílení plochy pomocí třetí aplikace (ať už přímo systémovou aplikací například v GNOME, nebo internetovým prohlížečem). Došlo tak na výraznému navýšení bezpečnosti.
* *Rendering* - v X11 provádí rendering samotný X server. Na druhou stranu Wayland deleguje práci na jednotlivé své klienty.
* *Bezpečnost* - Wayland striktně odděluje vstupní a výstupním komunikaci mezi jednotlivými klienty. V současné době tak například není možné sdílení plochy pomocí třetí aplikace (ať už přímo systémovou aplikací například v GNOME, nebo internetovým prohlížečem). Došlo tak k výraznému navýšení bezpečnosti.
Každý display server, který implementuje protokol Wayland se nazývá link:https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Wayland_compositors[Wayland compositor]. Display server link:https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Weston[Weston], je pak jeho ukázkovou implementací. Mezi další Wyaland compositor se řadí právě link:https://swaywm.org/[Sway].
Každý display server který implementuje protokol Wayland se nazývá link:https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Wayland_compositors[Wayland compositor]. Display server link:https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Weston[Weston], je pak jeho ukázkovou implementací. Mezi další Wyaland compositor se řadí právě link:https://swaywm.org/[Sway].
Přechod na Wayland je však postupný. Důvodů, proč někteří uživatelé nedají na stará dobrá Xka dopustit, je několik. Jmenujme například počáteční nestabilita celého protokolu, hlavně v prvopočátcích vývoje. Dalším důvodem může být z počátku velmi malá podpora Wayland protokolu napříč aplikacemi. Dnes již však máme několik let od vydání první stabilní verze a například link:https://getfedora.org/[Fedora] již Wayland používá jako výchozí display server protokol.
......@@ -94,7 +94,7 @@ input 1:1:AT_Translated_Set_2_keyboard {
----
== Systémové nástroje
Sway je opravdu jen a pouze Wayland compositor, a proto je nutné doinstalovat spoustu systémových nástrojů, od lock manager začínaje a po ovládání hlasitosti končeje. Nepřekvapivě, lze většinu z níže popsaných nástrojů nainstalovat pomocí `pacman`, a co nenajde `pacman` najde `yaourt` (ať žije AUR).
Sway je opravdu jen a pouze Wayland compositor, a proto je nutné doinstalovat spoustu systémových nástrojů, od lock manager začínaje a po ovládání hlasitosti konče. Nepřekvapivě, lze většinu z níže popsaných nástrojů nainstalovat pomocí `pacman`, a co nenajde `pacman` najde `yaourt` (ať žije AUR).
=== link:https://github.com/swaywm/swaylock[`swaylock`] - Lock manager
Jak již název napovídá, _lock manager_ je nástroj starající se o uzamykání PC. Nic víc, nic míň. Přijemným zjištěním pro mě bylo, že na rozdíl od různých lock managerů pro i3, funguje bezproblémově i při uspávání PC. Dříve se totiž stávalo, že se PC po probuzení načetl a pak teprve uzavřel, takže bylo někdy krátce (někdy déle) vidět, na čem uživatel právě pracuje.
......@@ -105,7 +105,7 @@ Pokud máte výkonný PC, můžete si napsat script, který vždy před uzavřen
====
=== link:https://github.com/swaywm/swayidle[`swayidle`] - Idle manager
Chceme-li (a to vážně chceme), aby se PC automaticky při nečinosti uzamklo, můžeme využívat `swayidle`. Konfiguraje je ve skrze prostá:
Chceme-li (a to vážně chceme), aby se PC automaticky při nečinnosti uzamklo, můžeme využívat `swayidle`. Konfigurace je ve skrze prostá:
[source]
.~/.config/sway/config
......@@ -120,7 +120,7 @@ exec swayidle -w \
[TIP]
====
`swayidle` uzavře PC i v případě, že je aktivní fullscreen mode. To může (je) velmi otravné, obzvláště při sledování filmů a seriálů. Alespoň částečné řešení si popíšeme v kapitole <<waybar,Waybar>>.
`swayidle` uzavře PC i v případě, že je aktivní fullscreen mode. To může být (je) velmi otravné, obzvláště při sledování filmů a seriálů. Alespoň částečné řešení si popíšeme v kapitole <<waybar,Waybar>>.
====
=== link:https://github.com/bugaevc/wl-clipboard[`wl-clipboard`] - Clipboard manager
......@@ -208,7 +208,7 @@ default-timeout=5000
image::notification.png[title=Ukázka notifikace.]
=== link:https://github.com/minus7/redshift/tree/wayland[`redshift`] - Adjusts the color temperature
`redshift` je nástroj pro úpravu barvy obrazovky. Typické použití je snížiní hladiny modrého světla ve večerních hodinách. Člověku pak méně bolí uči a lépe se mu usíná (pozor subjektivní názor!). Pro instalaci je nutné zvolit verzi z AUR konkrétně link:https://aur.archlinux.org/packages/redshift-wlr-gamma-control-git/[redshift-wlr-gamma-control-git].
`redshift` je nástroj pro úpravu barvy obrazovky. Typické použití je snížení hladiny modrého světla ve večerních hodinách. Člověku pak méně bolí oči a lépe se mu usíná (pozor subjektivní názor!). Pro instalaci je nutné zvolit verzi z AUR konkrétně link:https://aur.archlinux.org/packages/redshift-wlr-gamma-control-git/[redshift-wlr-gamma-control-git].
Spuštění je pak možné pomocí příkazu `redshift -l LATITUDE:LONGITUDE`. Pokud nechceme zadávat souřadnice ručně, můžeme využít link:https://www.archlinux.org/packages/extra/x86_64/geoclue/[geoclue2]. V takovém případě je nutná modifikace souboru `/etc/geoclue/geoclue.conf` a následný restart služby `redshift.service`.
......@@ -231,7 +231,7 @@ exec redshift
Po velmi dlouhou dobu panovalo přesvědčení (alespoň tedy na straně výrobců monitorů), že FullHD rozlišení (1920x1080), je plně dostateční a není tak důvod jej z budoucnosti u domácích monitorů zvyšovat. Díky Bohu, že jsou tyto názory již dnes passé. Bežně se tak již můžeme setkat s rozlišením QHD (2560x1440) či dokonce 4K UHD (3840 × 2160). Těmto obrazovkám s vysokým rozlišením se v počítačovém žargonu říká link:https://wiki.archlinux.org/index.php/HiDPI[High Dots Per Inch].
S náhlým příchodem HiDPI obrazovek však nastal, který jen málo kdo očekával. Stávající aplikace, potažno display servery nebyly připraveny na překročení oné hranice 1920x1080. Nezřídka se stávalo (a s velkým zármutkem v srdci nutno přiznat, že doposud stává), že nekompatibilní aplikace byly buďto rozmazané (což je přesný opak toho, co měly obrazovky s vyšším rozlišením přinést), nebo obsah v nich "nesmyslně" malý a text prakticky nečitelný.
S náhlým příchodem HiDPI obrazovek však nastal, který jen málo kdo očekával. Stávající aplikace, potažmo display servery nebyly připraveny na překročení oné hranice 1920x1080. Nezřídka se stávalo (a s velkým zármutkem v srdci nutno přiznat, že doposud stává), že nekompatibilní aplikace byly buďto rozmazané (což je přesný opak toho, co měly obrazovky s vyšším rozlišením přinést), nebo obsah v nich "nesmyslně" malý a text prakticky nečitelný.
Aby došlo k nápravě tohoto problému, byla nutná modifikace jak na straně display serverů, tak na straně jednotlivých aplikací. A zde se obloukem vracíme k našemu počátečnímu povídá o GUI na OS Linux. Jak již bylo uvedeno Wayland přenechal odpovědnost za renderování na svých klientech, kdežto X11 je renderuje v samotném serveru. Proto přístup jak řešit problém s HiDPI je pro každý z těch serverů odlišný. To by nebyl až tak zásadní problém, kdyby všechny aplikace plně podporovali jak X11, tak Wayland. Bohužel tomu tak není. A XWayland tento problém sám o sobě nedokáže vyřešit.
......@@ -256,17 +256,17 @@ Nejpalčivější problém, se kterým jsem se při přechodu setkal, byl s inte
[TIP]
====
Pokud potřebujete vždy před spuštěním Sway nastavit globální proměnou prostředí, není nic snažšího než využít link:https://www.freedesktop.org/software/systemd/man/environment.d.html]místo[environment.d] a modifikovat adresář `~/.config/environment.d/`.
Pokud potřebujete vždy před spuštěním Sway nastavit globální proměnnou prostředí, není nic snažšího než využít link:https://www.freedesktop.org/software/systemd/man/environment.d.html]místo[environment.d] a modifikovat adresář `~/.config/environment.d/`.
====
Zde uvádím, alespoň krátký výčet aplikací, které doposud nemají nativní podporu protokolu Wayland:
Zde uvádím alespoň krátký výčet aplikací, které doposud nemají nativní podporu protokolu Wayland:
* JetBrains IDEs (PyChar, CLion and others)
* Chromuim
* Inskape
== Závěr
Po několika letech čekání jsme se konečně dočkali první stabilní verze Sway. A i přes popsané problémy s HiDPI se jedná o funkčním a hlavně použitelnou alternativu k jiným uživatelským prostředím. Upřímně jsem byl až zaskočen, jak bezproblémový přechod to byl. Mnoho z výše popsaných aplikací stačí pouze nainstalovat a ony v základním nastavení dělají přesně to co se od nich žádá. Na závěr si dovolím malou paralelu:
Po několika letech čekání jsme se konečně dočkali první stabilní verze Sway. A i přes popsané problémy s HiDPI se jedná o funkčním a hlavně použitelnou alternativu k jiným uživatelským prostředím. Upřímně jsem byl až zaskočen, jak bezproblémový přechod to byl. Mnoho z výše popsaných aplikací stačí pouze nainstalovat a ony v základním nastavení dělají přesně to, co se od nich žádá. Na závěr si dovolím malou paralelu:
[quote, Já, Teď a tady]
____
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment