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

wip

parent d8514cd0
Pipeline #122039747 passed with stage
in 49 seconds
......@@ -8,7 +8,7 @@ Jan Uhlík <[email protected]>
:docinfodir: ./meta
: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 s to 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.
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 s to 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ávě k i3. A právě přechodu z GNOME na Sway bude pojednávat tento článek.
[NOTE]
====
......@@ -40,7 +40,7 @@ Základním stavebním kamenem link:https://en.wikipedia.org/wiki/Graphical_user
.Základní komponenty link:https://en.wikipedia.org/wiki/Graphical_user_interface[GUI]
image::gui.svg[1000,1000]
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.
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 _evdev_ 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>> 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.
......@@ -62,7 +62,7 @@ Nový protokol nazvali link:https://en.wikipedia.org/wiki/Wayland_(display_serve
* *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. link:https://www.reddit.com/r/linux/comments/8fcfdn/how_insecure_is_xorg/[Explanation]
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ší Wayland 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.
......@@ -83,7 +83,7 @@ Jak již bylo řečeno, na Sway jsem přecházel z GNOME, proto jsem jako link:h
[source,bash]
----
# pacman -S sway
pacman -S sway
----
Výchozí nastavení pro Sway nalezneme v souboru `/etc/sway/config`. Před prvním spuštění Sway doporučuji řádně prostudovat právě toto nastavení, abyste se vyvarovali prvotnímu šoku. 😊
......@@ -91,6 +91,7 @@ Výchozí nastavení pro Sway nalezneme v souboru `/etc/sway/config`. Před prvn
=== Rozložení klávesnice
V dřívějších verzích Sway bylo nutné vždy nastavit proměnné prostředí s daným rozloženým klávesnice, a to ještě před startem Sway. Tomuto přístupu již naštěstí odzvonilo, a tak můžeme nastavit rozložení klávesnice jednoduše spolu s nastavením Sway.
// tag::keyboard[]
Jméno vstupního zařízení můžeme najít pomocí příkazu `swaymsg -t get_inputs`.
[source]
......@@ -101,6 +102,7 @@ input 1:1:AT_Translated_Set_2_keyboard {
xkb_options grp:win_space_toggle,caps:swapescape
}
----
// end::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če. Nepřekvapivě, lze většinu z níže popsaných nástrojů nainstalovat pomocí `pacman`, a co nenajde `pacman` najde `yay` (ať žije AUR).
......@@ -256,7 +258,7 @@ Nedílnou součástí `grim` a `wf-recorder` je pak `slurp`, který uživately d
// tag::slurp[]
[source,bash]
----
$ grim -g "$(slurp)" screenshot.png
grim -g "$(slurp)" screenshot.png
----
// end::slurp[]
......
......@@ -34,7 +34,7 @@ video::7e_bg8vUTfM[youtube]
image::gui.svg[width=110%]
== X11
== X Windows System
image::x11.png[width=95%]
......@@ -42,6 +42,10 @@ image::x11.png[width=95%]
image::wayland.png[width=50%]
== Rozložení klávesnice
include::article.adoc[tag=keyboard]
== `swaylock`
include::article.adoc[tag=swaylock]
......
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