Compare commits
3 Commits
6159dd67db
...
69bfe39cd6
Author | SHA1 | Date | |
---|---|---|---|
69bfe39cd6 | |||
f5d6b64489 | |||
74334bb765 |
BIN
img/arch-pacman.jpg
Normal file
BIN
img/arch-pacman.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.9 KiB |
BIN
img/qtile.png
Normal file
BIN
img/qtile.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 210 KiB |
BIN
img/qtilekeyboard.png
Normal file
BIN
img/qtilekeyboard.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
364
qtile.php
Normal file
364
qtile.php
Normal file
@ -0,0 +1,364 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="cs">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta content="EndeavourOS svobodný operační systém...." name="description" />
|
||||
<meta content="EndeavourOS, ArchLinux" name="keywords" />
|
||||
<meta content="Kankys" name="author" />
|
||||
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
|
||||
<link href="assets/style.css" rel="stylesheet" />
|
||||
<link href="/img/icons.png" rel="shortcut icon" />
|
||||
<script crossorigin="anonymous" src="https://kit.fontawesome.com/0a43c6cd1f.js"></script>
|
||||
<!--icons dark, go to up-->
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet" />
|
||||
|
||||
<!--ubuntu fonts-->
|
||||
<style>
|
||||
@import url("https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap");
|
||||
</style>
|
||||
|
||||
<title>EndeavourOS - 🔑 Řešení chyb s klíči v Arch Linux a EndeavourOS</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<?php require 'assets/header.php'; ?>
|
||||
<main>
|
||||
<section class="welcome">
|
||||
<h1>Qtile správce oken</h1>
|
||||
<p><a href="https://qtile.org/" target="_blank">Qtile</a> je správce oken pro Linux, který je napsaný v
|
||||
Pythonu a je známý svou flexibilitou a konfigurovatelností.</p>
|
||||
<img src="img/qtile.png" alt="" style="width: 65%;height: auto;">
|
||||
<h3>Instalace</h3>
|
||||
<p>Qtile lze nainstalovat tímto způsobem:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
sudo pacman -S qtile
|
||||
</pre>
|
||||
</div>
|
||||
<h3>Konfigurace</h3>
|
||||
<p>Konfigurační soubor Qtile je napsán v Pythonu, což umožňuje velkou flexibilitu. Soubor se obvykle nachází
|
||||
v <strong>~/.config/qtile/config.py</strong>. Zde je základní struktura konfiguračního souboru:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
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"
|
||||
</pre>
|
||||
</div>
|
||||
<p><strong>Další konfigurační soubory jsou:</strong></p>
|
||||
<ul>
|
||||
<li>Main config file: ~/.config/qtile/config.py</li>
|
||||
<li>Keybindings: ~/.config/qtile/modules/keys.py</li>
|
||||
<li>Bar: ~/.config/qtile/modules/screens.py</li>
|
||||
<li>Widgets: ~/.config/qtile/modules/widgets.py</li>
|
||||
<li>Auto-start: ~/.config/qtile/autostart.sh</li>
|
||||
</ul>
|
||||
<h3>KLávesové zkratky</h3>
|
||||
<p>Klávesové zkratky jsou definovány v sekci keys. Například:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
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
|
||||
]
|
||||
</pre>
|
||||
</div>
|
||||
<img src="img/qtilekeyboard.png" alt="" style="width: 50%;height: auto;">
|
||||
<h3>Rozvržení</h3>
|
||||
<p>Rozvržení oken lze konfigurovat v sekci layouts. Například:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
layouts = [
|
||||
layout.Columns(border_focus_stack=['#d75f5f', '#8f3d3d'], border_width=4),
|
||||
layout.Max(),
|
||||
# Add more layouts here
|
||||
]
|
||||
</pre>
|
||||
</div>
|
||||
<h3>Widgety</h3>
|
||||
<p>Widgety jsou malé aplikace, které se zobrazují na panelu. Například:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
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,
|
||||
),
|
||||
),
|
||||
]
|
||||
</pre>
|
||||
</div>
|
||||
<h3>Spouštění</h3>
|
||||
<p>Po konfiguraci můžete Qtile spustit pomocí příkazu:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
qtile start
|
||||
</pre>
|
||||
</div>
|
||||
<h3>Dokumentace a komunita</h3>
|
||||
<p>Pro další informace a podporu můžete navštívit oficiální dokumentaci <a
|
||||
href="https://docs.qtile.org/en/latest/" target="_blank">Qtile na docs.qtile.org </a> nebo se
|
||||
připojit k
|
||||
komunitě na <a href="https://github.com/qtile/qtile" target="_blank">GitHub</a> a <a
|
||||
href="https://www.reddit.com/r/qtile/" target="_blank">Reddit</a>.</p>
|
||||
<hr>
|
||||
<p>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.</p>
|
||||
<h3>Použití Qtile bez desktopového prostředí</h3>
|
||||
<p>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:</p>
|
||||
<p>1. Nainstalujte Qtile:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
sudo pacman -S qtile
|
||||
</pre>
|
||||
</div>
|
||||
<p>Nastavte Qtile jako výchozí správce oken:</p>
|
||||
<p>Vytvořte nebo upravte soubor <strong>~/.xinitrc</strong> a přidejte do něj řádek:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
exec qtile
|
||||
</pre>
|
||||
</div>
|
||||
<p>3. Spusťte Qtile:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
startx
|
||||
</pre>
|
||||
</div>
|
||||
<h3>Použití Qtile s desktopovým prostředím</h3>
|
||||
<p>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:</p>
|
||||
<p>1. Nainstalujte GNOME:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
sudo pacman -S gnome
|
||||
</pre>
|
||||
</div>
|
||||
<p>2. Nastavte Qtile jako správce oken v GNOME:</p>
|
||||
<p>Vytvořte nebo upravte soubor <strong>~/.xinitrc</strong> a přidejte do něj řádek:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
exec gnome-session --session=qtile
|
||||
</pre>
|
||||
</div>
|
||||
<p>3. Spusťte GNOME s Qtile:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
startx
|
||||
</pre>
|
||||
</div>
|
||||
<h3>Použití Qtile s dalšími nástroji</h3>
|
||||
<p>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:</p>
|
||||
<ul>
|
||||
<li>Notifikace: Nainstalujte dunst nebo xfce4-notifyd.</li>
|
||||
<li>Automatická správa energie: Nainstalujte tlp nebo powertop.</li>
|
||||
<li>Systémové nástroje: Nainstalujte gnome-system-monitor nebo htop.</li>
|
||||
</ul>
|
||||
<h3>Příklad konfigurace s notifikacemi</h3>
|
||||
<p>Pokud chcete přidat notifikace pomocí <strong>dunst</strong>, můžete to udělat takto:</p>
|
||||
<p>1. Nainstalujte dunst:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
sudo pacman -S dunst
|
||||
</pre>
|
||||
</div>
|
||||
<p>2. Přidejte dunst do konfiguračního souboru Qtile:</p>
|
||||
<div class="code-box">
|
||||
<pre id="code-content">
|
||||
from libqtile import hook
|
||||
import subprocess
|
||||
|
||||
@hook.subscribe.startup_once
|
||||
def autostart():
|
||||
subprocess.Popen(['dunst'])
|
||||
</pre>
|
||||
</div>
|
||||
<p>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.</p>
|
||||
<hr>
|
||||
<h2>Rozdíl mezi Qtile a i3wm</h2>
|
||||
<p>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:</p>
|
||||
<h3>Jazyk konfigurace</h3>
|
||||
<p>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í.</p>
|
||||
<p>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.</p>
|
||||
<h3>Konfigurace</h3>
|
||||
<p>Qtile: Konfigurace Qtile je uložena v souboru <strong>~/.config/qtile/config.py</strong>. Díky použití
|
||||
Pythonu můžete snadno vytvářet složité konfigurace a skripty.</p>
|
||||
<p>i3wm: Konfigurace i3wm je uložena v souboru <strong>~/.config/i3/config</strong>. Konfigurační soubor je
|
||||
jednoduchý textový soubor, který je snadno čitelný a upravitelný.</p>
|
||||
<h3>Rozvržení oken</h3>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<h3>Klávesové zkratky</h3>
|
||||
<p>Qtile: Klávesové zkratky jsou definovány v konfiguračním souboru a mohou být velmi flexibilní díky
|
||||
použití Pythonu.</p>
|
||||
<p>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í.</p>
|
||||
<h3>Widgety a rozšíření</h3>
|
||||
<p>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í.</p>
|
||||
<p>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.</p>
|
||||
<h3>Komunita a podpora</h3>
|
||||
<p>Qtile: Qtile má aktivní komunitu a dobrou dokumentaci. Podpora je dostupná na GitHubu a dalších fórech.
|
||||
</p>
|
||||
<p>i3wm: i3wm má velkou a aktivní komunitu a také dobrou dokumentaci. Podpora je dostupná na GitHubu, Reddit
|
||||
a dalších fórech.</p>
|
||||
<h3>Výkon</h3>
|
||||
<p>Qtile: Qtile je velmi lehký a rychlý správce oken, který má nízkou spotřebu paměti a procesoru.</p>
|
||||
<p>i3wm: i3wm je také velmi lehký a rychlý správce oken s nízkou spotřebou paměti a procesoru.</p>
|
||||
<p>
|
||||
<code><a href="https://lukaskanka.cz/" target="_blank">Kankys</a>
|
||||
23.11.2024</code>
|
||||
</p>
|
||||
</section>
|
||||
</main>
|
||||
<?php require 'assets/returnbutton.php'; ?>
|
||||
<?php require 'assets/footer.php'; ?>
|
||||
<script src="assets/script.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -35,7 +35,7 @@
|
||||
<section class="welcome">
|
||||
<h1>🔑 Řešení chyb s klíči v Arch Linux a EndeavourOS</h1>
|
||||
<p>Pokud při aktualizaci nebo instalaci dostáváte chyby jako “Nelze aktualizovat: podpis od *** má nedostatečnou důvěru” nebo “neplatný či poškozený balíček”, postupujte následovně pro řešení.</p>
|
||||
<img src="./img/archos-key.png" alt="" style="width: 50%;height: auto;">
|
||||
<img src="img/arch-pacman.jpg" alt="" style="width: 65%;height: auto;">
|
||||
<h2>1. Aktualizace klíčů pro podepisování balíčků</h2>
|
||||
<p>Pro zajištění správného ověření balíčků je potřeba aktualizovat klíče pro Arch Linux i EndeavourOS.</p>
|
||||
<p>Uživatelé <strong>EndeavourOS</strong> by měli použít následující příkaz pro aktualizaci obou klíčových balíčků:</p>
|
||||
@ -50,6 +50,7 @@
|
||||
sudo pacman -Sy archlinux-keyring
|
||||
</pre>
|
||||
</div>
|
||||
<img src="./img/archos-key.png" alt="" style="width: 50%;height: auto;">
|
||||
<p>⚠️ <strong>Tip</strong>: Zkontrolujte, že je systémový čas správně nastavený, protože nesprávný čas může způsobit problémy s klíči.</p>
|
||||
<h2>2. Kontrola a odstranění poškozených balíčků</h2>
|
||||
<p>Je možné, že balíček je skutečně poškozený. V takovém případě ho odstraňte z cache, aby si pacman stáhl novou verzi:</p>
|
||||
|
@ -52,6 +52,8 @@
|
||||
načtených panelů</a>
|
||||
</h4>
|
||||
<h2>⬇ Wiki ⬇</h2>
|
||||
<h4><a href="qtile.php">Správci oken - Qtile správce oken - 23.11.2024</a></h4>
|
||||
|
||||
<h4><a href="i3lock-oku-lahodici.php">Správci oken - 🗝 i3lock oku lahodící - 21.11.2024</a></h4>
|
||||
<h4>
|
||||
<a href="jak-pripojit-novy-ssd-disk-v-endeavouros.php">Uložiště a oddíly - 💽 Jak připojit nový SSD disk
|
||||
|
@ -34,6 +34,8 @@
|
||||
<main>
|
||||
<section class="welcome">
|
||||
<h1>Správci oken</h1>
|
||||
<h2><a href="qtile.php">Qtile správce oken - 23.11.2024</a></h2>
|
||||
|
||||
<h2><a href="i3lock-oku-lahodici.php">🗝 i3lock oku lahodící - 21.11.2024</a></h2>
|
||||
|
||||
<h2>
|
||||
|
Loading…
Reference in New Issue
Block a user