Compare commits

..

8 Commits

Author SHA1 Message Date
101eabc15f Oprv. gramatiky 2024-12-03 14:08:00 +01:00
456b01a01b pacman full 2024-11-27 21:18:50 +01:00
6f90671f00 pacman part1 80% 2024-11-26 22:13:08 +01:00
2054534d49 full 2024-11-24 21:11:11 +01:00
83200e2633 openbox Použití Openbox s XFCE 2024-11-24 11:22:15 +01:00
257001eb68 change category Qtile 2024-11-24 10:48:23 +01:00
b5738be5d7 qtile správce oken 2024-11-23 14:31:36 +01:00
e1f7a55af1 oprava code 2024-11-21 14:08:30 +01:00
8 changed files with 513 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -23,7 +23,7 @@ sudo pacman -R i3lock
Po dokončení odinstalace můžete nainstalovat **i3lock-color** pomocí pomocníka AUR:
````
yay i3lock-color
yay -S i3lock-color
````
Jakmile skončíte s instalací, vytvořte nový adresář a vytvořte nový soubor pro uložení konfigurace pro zamykací obrazovku:

View File

@@ -0,0 +1,49 @@
# Linux pacman příkazy
Pacman je nedílnou součástí Arch Linuxu a distribucí na Arch Linuxu založených.
V tomto článku se zaměříme na příkazy pacman, co dělají či k čemu slouží. Příkazy pacman zapisujeme do terminálu či multiplexoru jako například můj oblíbený [Zellij](https://zellij.dev/), [Tmux](https://github.com/tmux/tmux/wiki) či velmi oblíbený u spousty uživatelů [Tilix](https://arch-linux.cz/dlazdicovy-terminal-tilix/).
POZNÁMKA: vždy před příkazem pacman musíme použít sudo. V příkazech níže ho nebudu stále dokola opakavot (v některých případech třeba při použití příkazu su se také nemusí použít, ale mi ho použijeme!). Tak například u příkazu **pacman -Syu** do terminálu zapíšeme **sudo pacman -Syu**.
Vždy kdy si nebudete vědět použíjte za příkazem -h, například **pacman -h** a zobrazí se vám nápověda v češtině.
## Package Installation, Update, Remove
### Instalace balíčku, povýšení balíčku a odebrání balíčků
```
pacman -S <název balíčků> # nainstaluje balíček a další potředné soubory
pacman -U /path/to/package.pkg.tar.zst # nainstaluje balíček lokálně uložený ve vašem pc
pacman -Syu # vyhledá a aktualizuje všechny vaše balíčky které mají novější verzi
pacman -Syu --ignore <název balíčků> # vyhledá a aktualizuje všechny balíčky mimo těch co jsou uvedeny za --ignore
pacman -S <název balíčku>=<verze balíčku> # nainstaluje balíček podle názvu a verze kterou potřebujete
pacman -R <název balíčků> # odebere balíček bez dalších potřebných balíčků které se sním nainstalovali
pacman -Rs <název balíčků> # odebere balíček i s dalšími který se sníěm nainstalovali pokud nejsou potřeba pro jiný nainstalovaný balíček
pacman -Rns $(pacman-Qdtq) # odstrání nepotřebné součásti nainstalovaných balíčků
pacman -Rdd <název balíčků> # odebere komplet balíček bez dalších potřebných balíčků
pacman -Sc # odebere staré verze balíčků i staré verze balíčků v cache
pacman -Scc # Odstraní všechny balíčky z cache, které nejsou aktuálně nainstalovány.
```
## Package Search
### Vyhledávání balíčků
```
pacman -Sy # stahuje aktualizované seznamy balíčků z každého konfigurovaného repozitáře
pacman -Ss <název hledaného balíčku> # zobrazí všechny shody hledaného balíčku v repozitářích
pacman -Qs <název balíčků> # vyhledá všechny balíčky co se shodují s názvem které máte nainstalované, může se hodit pojud některé balíčky používáte ve více verzích
pacman -F <název balíčků> # zobrazí všechny verze balíčku v repozitářích tak i co máte nainstalované
```
## Package Information Query
### Informace o balíčkách
```
pacman -Q # vypíše všechny názvy nainstalovaných balíčků a jejich verzi
pacman -Ql <název balíčků> # vypíše všechny součásti na instalovaného balíčku a cestu k nim
pacman -Qo /cesta/k souboru/ # Po spuštění tohoto příkazu Pacman prohledá databázi nainstalovaných balíčků a vrátí informaci o tom, kterému balíčků patří zadaný soubor
pacman -Qe # výstup tohoto příkazu bude seznam názvů balíčků, které jste explicitně nainstalovali.
pacman -Si <název balíčků> # zobrazí detailní informace o balíčků, jako verzi, velikost, závislosti atd.
pacman -Qi <název balíčků> # zobrazí detailní informace o balíčků, jako verzi, velikost, závislosti atd u nainstalovaného balíčků. Navíc zobrazí informace o instalaci balíčků jako kdy byl instalován
pacman -Qdt # výstup tohoto příkazu bude seznam názvů balíčků, které jsou označeny jako orphaned. Tento seznam může být užitečný při čištění systému od nepotřebných balíčků a uvolnění místa na disku.
```

BIN
Linux/img/Openbox.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

BIN
Linux/img/qtile.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

121
Linux/návody/Openbox.md Normal file
View File

@@ -0,0 +1,121 @@
# Openbox správce oken
## Openbox v EndeavourOS
### Úvod
[Openbox](https://openbox.org/) je vysoce konfigurovatelný a minimální správce plovoucích oken. To vám umožní spravovat okna s myší tak, jak byste to dělali na tradičním DE, jako je Xfce, ale Openbox umožňuje mnohem více konfigurace, jako je tomu u většiny samostatných manažerů oken. Očekávanou vedlejší efekt je, že Openbox je velmi lehký na systémové prostředky.
Správce Obenbox je lehký správce oken, který je navržen tak, aby byl rychlý a efektivní. Může být použit samostatně nebo v kombinaci s jinými desktopovými prostředími, jako je GNOME nebo XFCE.
![](../img/Openbox.png)
### Hlavní konfigurace
Openbox hlavní konfigurace je na **~/.config/openbox/rc.xml**. Obvykle ji nemusíte upravovat ručně. Můžete použít **obconf**. Nástroj pro provedení změn konfigurace prostřednictvím **GUI**. Tento konfigurační **rc.xml** soubor obsahuje:
* Klávesové zkratky
* emming
* Nastavení plochy a virtuální plochy
* Nastavení okna aplikace
Konfigurace kliknutí na nabídku se ukládá v souboru **~/.config/openbox/menu.xml**. Tento soubor obsahuje statické menu.
Aplikace automatického startu jsou definovány v **~/.config/openbox/autostart**.
Pod **~/.config/openbox/scripts/** najdete v různé skripty, které Openbox CE používá pro různé funkce.
### Menu launcher aplikací
Nabídka aktivovaná kliknutím na levé dolní tlačítko je **jgmenu**. Jeho konfigurace je uložena na **~/.config/openbox/jgmenu/jgmenurc**.
### Dunst
Dunst zobrazuje vaše oznámení. Config se nachází v **~/.config/dunst/dunstrc**. Můžete změnit barvy atd.
Jedním z důležitých nastavení, které chcete změnit, je vazba pro **Ctrl + grave**. Ve výchozím nastavení se to používá k prokazování historie. Užitečné v případě, že zmeškáte oznámení nebo chcete znovu vidět podrobnosti. Klíčové vázání může být v rozporu s jinými aplikacemi. Stejné klávesové vázání se používá například i v Code-OSS/VSCode. Chcete-li zakázat toto chování, otevřete konfigurační soubor dunstrc a komentujte linku 274.
[https://github.com/EndeavourOS-Community-Editions/openbox/blob/main/.config/dunst/dunstrc#L274](https://github.com/EndeavourOS-Community-Editions/openbox/blob/main/.config/dunst/dunstrc#L274)
Chcete-li to komentovat, jednoduše dáte symbol hastag # na začátku řádku.
### Panel
Panel, který používáme, je Tint2. Jeho konfigurace je uložena na **~/.config/tint2/tint2rc**. Panel lze také konfigurovat prostřednictvím přiložené aplikace nastavení **Tint2**.
### Vývoj Openbox a EndeavourOS
Vývoj Openbox pro EndeavourOS se děje v repozitářích GitHub. Úložiště je na [https://github.com/EndeavourOS-Community-Editions/openbox/](https://github.com/EndeavourOS-Community-Editions/openbox/)
---
## Openbox tipy pro EndeavourOS a ostatní distribuce
### Použití Openbox samostatně
Openbox může být použit jako samostatný správce oken. V tomto případě budete potřebovat některé doplňkové nástroje a aplikace, abyste měli plnohodnotné prostředí. Například:
* Panel: Můžete použít t3wm, tint2 nebo jiný lehký panel.
* Správce plochy: Můžete použít nitrogen nebo feh pro nastavení pozadí.
* Menu: Můžete použít obmenu-generator nebo jiný generátor menu.
### Použití Openbox s GNOME
Openbox může být použit jako správce oken v prostředí GNOME. To vám umožní využít všechny funkce GNOME, ale s lehčím a rychlejším správcem oken. Postup je následující:
1. Nainstalujte Openbox a GNOME.
2. Vytvořte nebo upravte soubor **~/.xinitrc** nebo **~/.xsession** tak, aby obsahoval následující řádky:
````
exec gnome-session --session=openbox-gnome
````
3. Restartujte X server nebo se přihlašte znovu.
### Použití Openbox s XFCE
Openbox může být také použit s XFCE. Postup je podobný jako u GNOME:
1. Nainstalujte Openbox a XFCE.
2. Vytvořte nebo upravte soubor **~/.xinitrc** nebo **~/.xsession** tak, aby obsahoval následující řádky:
```
exec startxfce4 --replace-wm openbox
```
3. Restartujte X server nebo se přihlašte znovu.
### Na většině Linuxových distribucí můžete Openbox nainstalovat pomocí balíčkového manažeru. Například:
**Arch Linux:**
```
sudo pacman -S openbox
```
**Fedora:**
```
sudo dnf install openbox
```
**Debian/Ubuntu:**
```
sudo apt-get install openbox
```
### Konfigurace Openbox
Konfigurační soubory pro Openbox se nacházejí v adresáři **~/.config/openbox/**. Hlavní konfigurační soubory jsou:
* **rc.xml**: Hlavní konfigurační soubor pro Openbox.
* **menu.xml**: Soubor pro konfiguraci menu.
* **autostart**: Skript, který se spustí při startu Openbox.
Můžete tyto soubory upravovat podle svých potřeb.
### Závěr
Openbox je velmi flexibilní a může být použit v různých konfiguracích, buď samostatně nebo v kombinaci s jinými desktopovými prostředími. Výběr závisí na vašich potřebách a preferencích.

342
Linux/návody/qtile.md Normal file
View File

@@ -0,0 +1,342 @@
# Qtile správce oken
[Qtile](https://qtile.org/) je správce oken pro Linux, který je napsaný v Pythonu a je známý svou flexibilitou a konfigurovatelností.
![](../img/qtile.png)
### Instalace
Qtile lze nainstalovat tímto způsobem:
```
sudo pacman -S qtile
```
### Konfigurace
Konfigurační soubor Qtile je napsán v Pythonu, což umožňuje velkou flexibilitu. Soubor se obvykle nachází v **~/.config/qtile/config.py**. Zde je základní struktura konfiguračního souboru:
```
from libqtile import bar, layout, widget
from libqtile.config import Click, Drag, Group, Key, Match, Screen
from libqtile.lazy import lazy
from libqtile.utils import guess_terminal
mod = "mod4" # Mod key (usually the Windows key)
terminal = guess_terminal()
keys = [
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
# Add more keybindings here
]
groups = [Group(i) for i in "123456789"]
for i in groups:
keys.extend([
Key([mod], i.name, lazy.group[i.name].toscreen(),
desc="Switch to group {}".format(i.name)),
Key([mod, "shift"], i.name, lazy.window.togroup(i.name, switch_group=True),
desc="Switch to & move focused window to group {}".format(i.name)),
])
layouts = [
layout.Columns(border_focus_stack=['#d75f5f', '#8f3d3d'], border_width=4),
layout.Max(),
# Add more layouts here
]
widget_defaults = dict(
font='sans',
fontsize=12,
padding=3,
)
extension_defaults = widget_defaults.copy()
screens = [
Screen(
top=bar.Bar(
[
widget.CurrentLayout(),
widget.GroupBox(),
widget.Prompt(),
widget.WindowName(),
widget.Chord(
chords_colors={
'launch': ("#ff0000", "#ffffff"),
},
name_transform=lambda name: name.upper(),
),
widget.Systray(),
widget.Clock(format='%Y-%m-%d %a %I:%M %p'),
widget.QuickExit(),
],
24,
),
),
]
# Drag floating layouts.
mouse = [
Drag([mod], "Button1", lazy.window.set_position_floating(),
start=lazy.window.get_position()),
Drag([mod], "Button3", lazy.window.set_size_floating(),
start=lazy.window.get_size()),
Click([mod], "Button2", lazy.window.bring_to_front())
]
dgroups_key_binder = None
dgroups_app_rules = [] # type: List
follow_mouse_focus = True
bring_front_click = False
cursor_warp = False
floating_layout = layout.Floating(float_rules=[
# Run the utility of `xprop` to see the wm class and name of an X client.
*layout.Floating.default_float_rules,
Match(wm_class='confirmreset'), # gitk
Match(wm_class='makebranch'), # gitk
Match(wm_class='maketag'), # gitk
Match(wm_class='ssh-askpass'), # ssh-askpass
Match(title='branchdialog'), # gitk
Match(title='pinentry'), # GPG key password entry
])
auto_fullscreen = True
focus_on_window_activation = "smart"
reconfigure_screens = True
# If things like steam games want to auto-minimize themselves when losing
# focus, should we respect this or not?
auto_minimize = True
# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this
# string besides java UI toolkits; you can see several discussions on the
# mailing lists, GitHub issues, and other WM documentation that suggest setting
# this string if your java app doesn't work correctly. We may as well just lie
# and say that we're a working one by default.
#
# We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in
# java that happens to be on java's whitelist.
wmname = "LG3D"
```
**Další konfigurační soubory jsou:**
* Main config file: ~/.config/qtile/config.py
* Keybindings: ~/.config/qtile/modules/keys.py
* Bar: ~/.config/qtile/modules/screens.py
* Widgets: ~/.config/qtile/modules/widgets.py
* Auto-start: ~/.config/qtile/autostart.sh
### KLávesové zkratky
Klávesové zkratky jsou definovány v sekci keys. Například:
```
keys = [
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
# Add more keybindings here
]
```
![](../img/qtilekeyboard.png)
### Rozvržení
Rozvržení oken lze konfigurovat v sekci **layouts**. Například:
```
layouts = [
layout.Columns(border_focus_stack=['#d75f5f', '#8f3d3d'], border_width=4),
layout.Max(),
# Add more layouts here
]
```
### Widgety
Widgety jsou malé aplikace, které se zobrazují na panelu. Například:
```
widget_defaults = dict(
font='sans',
fontsize=12,
padding=3,
)
extension_defaults = widget_defaults.copy()
screens = [
Screen(
top=bar.Bar(
[
widget.CurrentLayout(),
widget.GroupBox(),
widget.Prompt(),
widget.WindowName(),
widget.Chord(
chords_colors={
'launch': ("#ff0000", "#ffffff"),
},
name_transform=lambda name: name.upper(),
),
widget.Systray(),
widget.Clock(format='%Y-%m-%d %a %I:%M %p'),
widget.QuickExit(),
],
24,
),
),
]
```
### Spuštění
Po konfiguraci můžete **Qtile** spustit pomocí příkazu:
```
qtile start
```
### Dokumentace a komunita
Pro další informace a podporu můžete navštívit oficiální dokumentaci [Qtile na docs.qtile.org](https://docs.qtile.org/en/latest/) nebo se připojit k komunitě na [GitHub](https://github.com/qtile/qtile) a [Reddit](https://www.reddit.com/r/qtile/).
----
Qtile je samostatný správce oken, což znamená, že nemusíte mít nainstalováno žádné desktopové prostředí (DE) jako GNOME, KDE Plasma nebo XFCE. Qtile může být použit jako samostatný správce oken, který se stará o správu oken a pracovních ploch. Nicméně, pokud chcete využít některé funkce, které poskytují desktopová prostředí (například automatické správu energie, notifikace, systémové nástroje), můžete je nainstalovat a používat společně s Qtile.
### Použití Qtile bez desktopového prostředí
Pokud chcete používat Qtile bez desktopového prostředí, stačí nainstalovat Qtile a nastavit ho jako výchozí správce oken. To můžete udělat takto:
1. Nainstalujte Qtile:
```
sudo pacman -S qtile
```
2. Nastavte Qtile jako výchozí správce oken:
Vytvořte nebo upravte soubor **~/.xinitrc** a přidejte do něj řádek:
```
exec qtile
```
3. Spusťte Qtile:
```
startx
```
### Použití Qtile s desktopovým prostředím
Pokud chcete využít některé funkce desktopového prostředí, můžete nainstalovat a používat Qtile společně s ním. Například, můžete nainstalovat GNOME a používat Qtile jako správce oken:
1. Nainstalujte GNOME:
```
sudo pacman -S gnome
```
2. Nastavte Qtile jako správce oken v GNOME:
Vytvořte nebo upravte soubor **~/.xinitrc** a přidejte do něj řádek:
```
exec gnome-session --session=qtile
```
3. Spusťte GNOME s Qtile:
```
startx
```
### Použití Qtile s dalšími nástroji
Pokud chcete využít některé funkce desktopového prostředí, ale nechcete nainstalovat celé prostředí, můžete nainstalovat jednotlivé nástroje a používat je společně s Qtile. Například:
* Notifikace: Nainstalujte dunst nebo xfce4-notifyd.
* Automatická správa energie: Nainstalujte tlp nebo powertop.
* Systémové nástroje: Nainstalujte gnome-system-monitor nebo htop.
### Příklad konfigurace s notifikacemi
Pokud chcete přidat notifikace pomocí **dunst**, můžete to udělat takto:
1. Nainstalujte dunst:
```
sudo pacman -S dunst
```
2. Přidejte dunst do konfiguračního souboru Qtile:
```
from libqtile import hook
import subprocess
@hook.subscribe.startup_once
def autostart():
subprocess.Popen(['dunst'])
```
Tímto způsobem můžete Qtile používat jako samostatný správce oken nebo v kombinaci s dalšími nástroji a desktopovými prostředími podle vašich potřeb.
## Rozdíl mezi Qtile a i3wm
Qtile a i3wm jsou oba populární správci oken pro Linux, ale mají několik klíčových rozdílů v konfiguraci, použití a filozofii. Zde je přehled hlavních rozdílů mezi Qtile a i3wm:
### Jazyk konfigurace
* Qtile: Konfigurační soubor Qtile je napsán v Pythonu. To umožňuje velkou flexibilitu a možnost použít všechny funkce Pythonu pro konfiguraci a rozšíření.
* i3wm: Konfigurační soubor i3wm je napsán v jednoduchém textovém formátu. To znamená, že je snadnější pro začátečníky, ale méně flexibilní než Python.
### Konfigurace
* Qtile: Konfigurace Qtile je uložena v souboru ~/.config/qtile/config.py. Díky použití Pythonu můžete snadno vytvářet složité konfigurace a skripty.
* i3wm: Konfigurace i3wm je uložena v souboru ~/.config/i3/config. Konfigurační soubor je jednoduchý textový soubor, který je snadno čitelný a upravitelný.
### Rozvržení oken
* Qtile: Qtile podporuje různé typy rozvržení, jako jsou sloupce, řádky, plocha, plovoucí okna atd. Rozvržení lze snadno přepínat a konfigurovat.
* i3wm: i3wm používá stromovou strukturu pro rozvržení oken. To znamená, že okna jsou organizována do stromu, kde každý uzel může obsahovat další uzly nebo okna. Toto rozvržení je velmi efektivní pro práci s mnoha okny.
### Klávesové zkratky
* Qtile: Klávesové zkratky jsou definovány v konfiguračním souboru a mohou být velmi flexibilní díky použití Pythonu.
* i3wm: Klávesové zkratky jsou také definovány v konfiguračním souboru, ale jsou méně flexibilní než v Qtile. Nicméně, i3wm má velmi dobře propracované výchozí klávesové zkratky, které jsou pro mnoho uživatelů dostačující.
### Widgety a rozšíření
* Qtile: Qtile podporuje různé widgety, které lze přidat do panelu. Díky použití Pythonu je snadné vytvářet vlastní widgety a rozšíření.
* i3wm: i3wm má omezenou podporu pro widgety a rozšíření. Nicméně, existují externí nástroje, jako je i3status nebo polybar, které lze použít pro přidání widgetů do panelu.
### Komunita a podpora
* Qtile: Qtile má aktivní komunitu a dobrou dokumentaci. Podpora je dostupná na GitHubu a dalších fórech.
* i3wm: i3wm má velkou a aktivní komunitu a také dobrou dokumentaci. Podpora je dostupná na GitHubu, Reddit a dalších fórech.
### Výkon
* Qtile: Qtile je velmi lehký a rychlý správce oken, který má nízkou spotřebu paměti a procesoru.
* i3wm: i3wm je také velmi lehký a rychlý správce oken s nízkou spotřebou paměti a procesoru.