Benutzer:Tuxnix: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(edit)
K (inuse)
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Entwurf:  
{{inuse|[[Benutzer:Tuxnix|Tuxnix]] ([[Benutzer Diskussion:Tuxnix|Diskussion]])}}{{SEITENTITEL:sway}}{{righttoc}}[[Bild:Sway Wallpaper Blue 1920x1080.png|thumb|360px|Sway (Wallpaper)]]


== Package-Preload (Beispiel) ==
Sway ist ein Tiling Compositor für Wayland.
{{Hinweis|Sway unterstützt keine proprietären Grafiktreiber. Für Nvidia-Karten ist der Treiber Nouveau zu nutzen.}}


Das folgende Beispiel zeigt die Möglichkeit auf den Download von neuen Paketen auf einem zentalen Rechner automatisch durchzuführen und die Pakete von dort aus auf andere Rechner zu verteilen.
{{installation|paket=sway|repo=community}}
Um die Gefahr eines [[Pacman#Keine_partiellen_Upgrades|partiellen Upgrades]], das die Konsistenz des Systems bei einen unbedachten `pacman -S foobar` beschädigen könnte zu vermeiden, wird eine separate Sync-DB genutzt, damit die vorhandene Paketdatenbank weiterhin den jeweiligen Stand der Aktualität des Systems wiedergibt. Die  Installation, der auf diese Weise vorab heruntergeladenen Pakete, wird dabei wie bisher mit dem Befehl `pacman -Syu` auf jedem Rechner einzeln durchgeführt. Das Upgrade läuft entsprechend schneller ab, da für bereits heruntergeladene Pakete auf den gemeinsam genutzten Paket Cache zugegriffen wird.


=== Für den Rechner (server) der das Package-Preload durchführen soll: ===
Ergänzend stehen einige Tools zur Verfügung die in der Standartkonfiguration bereits mit eingebunden sind:


==== Vorbereitung ====
* {{Paket|foot}} - Terminalemulator
Für die separate Sync-Datenbank wird ein Verzeichnis angelegt und der Ordner local symbolisch darauf verlinkt.
* {{Paket|dmenu}} - Anwendungslauncher
* {{Paket|swaybg}} - Sway-Wallpaper


mkdir /var/lib/preload
Des Weiteren sind die folgenden Schriftarten empfohlen:
ln -s /var/lib/pacman/local/ /var/lib/preload


==== Einrichtung des nfs Servers ====
* {{Paket|ttf-roboto}}
Im Unterschied zu dem Beispiel im Wiki-Artikel [[Network_File_System|nfs Server]] wird in der Datei /etc/exports folgende Zeile hinzugefügt.
* {{Paket|ttf-font-awesome}}
/var/cache/pacman/pkg <client>(rw,sync,no_root_squash)
Für <client> ist hier der entsprechende hostname des zugreifenden Rechners zu setzen. Für den Zugriff von weiteren Rechnern kann jeweils eine neue Zeile angelegt werden.


==== pkgpreload.sh ====
Sollte man keine Alternativen Tools (s. unten) bevorzugen, dann lautet der komplette Installationsbefehl:
pacman -S  sway foot dmenu swaybg ttf-roboto ttf-font-awesome


#!/usr/bin/env bash
== Umstieg von i3 ==
# file-> /usr/local/bin/pkgpreload.sh
Sway ist bis auf wenige Features, die nur auf X11 Sinn machen, mit der Konfiguration von i3, i3 IPC, i3-gaps, und i3bar kompatibel. Es empfiehlt sich die bisherige i3-Konfigurationsdatei nach {{ic|~/.config/sway/config}} zu kopieren. Weitere Tipps sind vom [https://github.com/swaywm/sway/wiki/i3-Migration-Guide i3 Migration Guide] zu erfahren.
# Proof if root
if (( `id -u` != 0 )); then
echo "Sorry, you must be root."
exit
fi
ListDir="/var/cache/pacman/pkg"
PreLoad_DB="/var/lib/preload"
# Write and sort package lists
pacman -Qqe > ${ListDir}/${HOSTNAME}.list
sort -u ${ListDir}/*.list > ${ListDir}/org.list
# Ignore packages not available in our sync DB (like AUR and local installed packages)
comm -12 <(pacman -Slq --dbpath ${PreLoad_DB} | sort) <(sort ${ListDir}/org.list) > /${ListDir}/all.list
# Preload packages
pacman -Syuw --noconfirm --dbpath ${PreLoad_DB}


Die Datei pkgpreload.sh nach /usr/local/bin/pkgpreload.sh abspeichern und mit dem folgen Befehl ausführbar machen.  
== Sway Starten ==
chmod +x /usr/local/bin/pkgpreload.sh
Eine Sway Sitzung kann auf verschiedene Arten gestartet werden:
Zusätzlich wäre zu überlegen, den Befehl [[Pacman#Paccache|paccache]] ins script zu integrieren um der Vorrat an alten Paketen zu limitieren.
* Nach dem login auf TTY mit der Eingabe {{ic|sway}}
* oder automatisch nach Einfügen der Zeile {{ic|[ "$(tty)" &#61; "/dev/tty1" ] && exec sway}} in die {{ic|~/.bash_profile}} Datei.
* Mittels modernem [[Login-Manager]] wie [[GDM]] oder SDDM bzw. einem der [https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway#login-managers hier] gelisteten.


==== systemd service ====
== Tastaturbefehle (default) ==
# file-> /etc/systemd/system/pkgpreload.service
{|
|{{taste|mod}} + {{taste|1}}-{{taste|0}}
[Unit]
| - Ein Fenster öffnen
Description=preloads packages
|-
After=network-online.target
|{{taste|mod}} + {{taste|Return}}
Wants=network-online.target
| - Ein Terminal öffnen
|-
[Service]
|{{taste|mod}} + {{taste|Pfeil}}
ExecStart=/usr/local/bin/pkgpreload.sh
| - Den Fensterfokus wechseln
|-
[Install]
|{{taste|mod}} + {{taste|d}}
WantedBy=basic.target
| - Den Anwendungsstarter aufrufen
Service unter /etc/systemd/system/pkgpreload.service abspeichern und danach aktivieren
|-
systemctl enable --now pkgpreload.service
|{{taste|mod}} + {{taste|f}}
| - Vollbildmodus ein-/ ausschalten
|-
|style="color:white"|-
|
|-
|{{taste|mod}} + {{taste|Shift}} + {{taste|1}}-{{taste|0}}
| - Die laufende Anwendung auf ein Fenster verschieben
|-
|{{taste|mod}} + {{taste|Shift}} + {{taste|c}}
| - Die config Datei neu einlesen
|-
|{{taste|mod}} + {{taste|Shift}} + {{taste|Pfeil}}
| - Ein Fenster horizontal oder vertikal verschieben
|-
|{{taste|mod}} + {{taste|Shift}} + {{taste|q}}
| - Eine Anwendung schließen
|-
|{{taste|mod}} + {{taste|Shift}} + {{taste|e}}
| - Sway beenden
|}


== Konfiguration ==
Möchte man die vorgegebene Konfiguration anpassen, so wird empfohlen die Konfigurationsdatei ins eigene Benutzerverzeichnis zu kopieren und nur diese zu bearbeiten.
mkdir ~/.config/sway
cp /etc/sway/config ~/.config/sway/config


==== systemd timer ====
Die folgende Auflistung führt einige zusätzlichen Tools und die jeweiligen dazugehörigen Einstellungen in der {{ic|~/.config/sway/config}} Datei auf. Eine komplette Liste von Sway-Ad-Ons ist [https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway hier] abrufbar.
# file-> /etc/systemd/system/pkgpreload.timer
{|
|'''Paket/Einstellungen'''
[Unit]
|'''Config-Eintrag (Bsp.)'''
Description=preloads packages
|-
|{{taste|Win}} als mod-Taste
[Timer]
|{{ic|set $mod Mod4}} (default)
OnCalendar=daily
|-
Persistent=true
|{{taste|Alt}} als mod-Taste
|{{ic|set $mod Mod1}}
[Install]
|-
WantedBy=basic.target
|Deutsches Tastaturlayout
Timer unter /etc/systemd/system/pkgpreload.timer abspeichern und danach aktivieren
|{{ic|input * xkb_layout "de"}}
systemctl enable --now pkgpreload.timer
|-
Für andere Zeitintervalle siehe [[Systemd/Timers#Die_[Timer]_Sektion|systemd/Timers]]
|Auflösung
|{{ic|output * resolution --custom 1920x1080}} (default)
|-
|style="color:white"|-
|
|-
|''Terminal-Emulatoren:''
|
|-
|{{paket|foot}}
|{{ic|set $term foot}} (default)
|-
|{{paket|alacritty}}
|{{ic|set $term alacritty}}
|-
|style="color:white"|-
|
|-
|''Wallpaper:''
|
|-
|{{paket|swaybg}}
|{{ic|output * bg <image-datei> fill}} (default)
|-
|style="color:white"|-
|
|-
|''Anwendungs-Lancher:''
|
|-
|{{paket|dmenu}}
|{{ic|set $menu dmenu_path &#124; dmenu &#124; xargs swaymsg exec --}} (default)
|-
|{{paket|wofi}}
|{{ic|set $menu wofi --show run --exec-search}}
|-
|style="color:white"|-
|
|-
|''Symbolleisten:''
|
|-
|sway-bar (eingebaut)
|siehe config Datei (default)
|-
|{{paket|waybar}}
|{{ic|bar swaybar command waybar}}
|-
|style="color:white"|-
|
|-
|''Idle Management Daemon und Screenlocker:''
|
|-
|{{paket|swayidle}} und {{paket|swaylock}}
|Das Beispiel in der config auskommentieren
|}


== siehe auch ==
* [[i3]]


=== Für alle anderen Rechner: ===
== Weblinks ==
* [https://github.com/swaywm/sway/wiki/i3-Migration-Guide i3 Migration Guide] {{sprache|en}}
* [https://github.com/swaywm/sway/wiki Sway Wiki] {{sprache|en}}
* [https://www.youtube.com/watch?v=hRIGYUWQfYU Sway Install Guide (Video)] {{sprache|en}}
* [https://medium.com/hacker-toolbelt/linuxs-sway-window-manager-c39abe0b7bc9 A short install guide] {{sprache|en}}
* [https://www.youtube.com/watch?v=oUpvtCEGrxQ Waybar Customization (Video)] {{sprache|en}}


==== Den nfs Client einrichten ====
[[Kategorie:Fenstermanager]]
Wie beim server ist auch hier das Paket nfs-utils zu installieren.
[[en:sway]]
pacman -S nfs-utils
Danach ist der /etc/fstab Datei die folgende Zeile anzufügen.
<server>:/var/cache/pacman/pkg /var/cache/pacman/pkg nfs rw,nofail 0 0
Der Ausdruck <server> ist hier durch den hostname des Servers zu ersetzen.
Nach einem reboot sollte die Verbindung stehen.
 
==== pacman Hook ====
Ein Verzeichnis hooks anlegen
mkdir /etc/pacman.d/hooks
Und die folgende pkglist.hook Datei dort abspeichern
# file->/etc/pacman.d/hooks/pkglist.hook
[Trigger]
Type = Package
Operation = Install
Operation = Remove
Target = *
[Action]
Description = updating packagelist
When = PostTransaction
Exec = /bin/sh -c 'pacman -Qqe  > /var/cache/pacman/pkg/$HOSTNAME.list; exit'

Aktuelle Version vom 18. Januar 2023, 11:52 Uhr

„Tuxnix“ wurde von Tuxnix (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Tuxnix (Diskussion) bitte, bevor du den Artikel bearbeitest.


Sway (Wallpaper)

Sway ist ein Tiling Compositor für Wayland.

Hinweis: Sway unterstützt keine proprietären Grafiktreiber. Für Nvidia-Karten ist der Treiber Nouveau zu nutzen.

Installation

Das Programm ist als sway in community verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S sway

Ergänzend stehen einige Tools zur Verfügung die in der Standartkonfiguration bereits mit eingebunden sind:

Des Weiteren sind die folgenden Schriftarten empfohlen:

Sollte man keine Alternativen Tools (s. unten) bevorzugen, dann lautet der komplette Installationsbefehl:

pacman -S  sway foot dmenu swaybg ttf-roboto ttf-font-awesome

Umstieg von i3

Sway ist bis auf wenige Features, die nur auf X11 Sinn machen, mit der Konfiguration von i3, i3 IPC, i3-gaps, und i3bar kompatibel. Es empfiehlt sich die bisherige i3-Konfigurationsdatei nach ~/.config/sway/config zu kopieren. Weitere Tipps sind vom i3 Migration Guide zu erfahren.

Sway Starten

Eine Sway Sitzung kann auf verschiedene Arten gestartet werden:

  • Nach dem login auf TTY mit der Eingabe sway
  • oder automatisch nach Einfügen der Zeile [ "$(tty)" = "/dev/tty1" ] && exec sway in die ~/.bash_profile Datei.
  • Mittels modernem Login-Manager wie GDM oder SDDM bzw. einem der hier gelisteten.

Tastaturbefehle (default)

mod + 1-0 - Ein Fenster öffnen
mod + Return - Ein Terminal öffnen
mod + Pfeil - Den Fensterfokus wechseln
mod + d - Den Anwendungsstarter aufrufen
mod + f - Vollbildmodus ein-/ ausschalten
-
mod + ⇧ Shift + 1-0 - Die laufende Anwendung auf ein Fenster verschieben
mod + ⇧ Shift + c - Die config Datei neu einlesen
mod + ⇧ Shift + Pfeil - Ein Fenster horizontal oder vertikal verschieben
mod + ⇧ Shift + q - Eine Anwendung schließen
mod + ⇧ Shift + e - Sway beenden

Konfiguration

Möchte man die vorgegebene Konfiguration anpassen, so wird empfohlen die Konfigurationsdatei ins eigene Benutzerverzeichnis zu kopieren und nur diese zu bearbeiten.

mkdir ~/.config/sway
cp /etc/sway/config ~/.config/sway/config

Die folgende Auflistung führt einige zusätzlichen Tools und die jeweiligen dazugehörigen Einstellungen in der ~/.config/sway/config Datei auf. Eine komplette Liste von Sway-Ad-Ons ist hier abrufbar.

Paket/Einstellungen Config-Eintrag (Bsp.)
Win als mod-Taste set $mod Mod4 (default)
Alt als mod-Taste set $mod Mod1
Deutsches Tastaturlayout input * xkb_layout "de"
Auflösung output * resolution --custom 1920x1080 (default)
-
Terminal-Emulatoren:
foot set $term foot (default)
alacritty set $term alacritty
-
Wallpaper:
swaybg output * bg <image-datei> fill (default)
-
Anwendungs-Lancher:
dmenu set $menu dmenu_path | dmenu | xargs swaymsg exec -- (default)
wofi set $menu wofi --show run --exec-search
-
Symbolleisten:
sway-bar (eingebaut) siehe config Datei (default)
waybar bar swaybar command waybar
-
Idle Management Daemon und Screenlocker:
swayidle und swaylock Das Beispiel in der config auskommentieren

siehe auch

Weblinks