Benutzer:Tuxnix: Unterschied zwischen den Versionen

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


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.
Sway ist ein Tiling Compositor für Wayland.
Um die Gefahr eines [partielles Upgrades](https://wiki.archlinux.de/title/Pacman#Keine_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.
{{Hinweis|Sway unterstützt keine proprietären Grafiktreiber. Für Nvidia-Karten ist der Treiber Nouveau zu nutzen.}}


## Für den Rechner (server) der das Package-Preload durchführen soll:
{{installation|paket=sway|repo=community}}


### Vorbereitung
Ergänzend stehen einige Tools zur Verfügung die in der Standartkonfiguration bereits mit eingebunden sind:
Für die separate Sync-Datenbank wird ein Verzeichnis angelegt und der Ordner local symbolisch darauf verlinkt.
```
mkdir /var/lib/preload
ln -s /var/lib/pacman/local/ /var/lib/preload
```
### Einrichtung des nfs Servers
Im Unterschied zu dem Beispiel im Wiki-Artikel [nfs Server](https://wiki.archlinux.de/title/Network_File_System) wird in der Datei /etc/exports die Zeile
`/var/cache/pacman/pkg <client>(rw,sync,no_root_squash)` hinzugefügt.  Für <client> ist der entsprechende hostname des zugreifenden Rechners zu setzen. Für den Zugriff von weiteren Rechnern kann jeweils eine neue Zeile angelegt werden.


* {{Paket|foot}} - Terminalemulator
* {{Paket|dmenu}} - Anwendungslauncher
* {{Paket|swaybg}} - Sway-Wallpaper


### pkgpreload.sh
Des Weiteren sind die folgenden Schriftarten empfohlen:
```
#!/usr/bin/env bash
# file-> /usr/local/bin/pkgpreload.sh


# Proof if root
* {{Paket|ttf-roboto}}
if (( `id -u` != 0 )); then
* {{Paket|ttf-font-awesome}}
echo "Sorry, you must be root."
exit
fi


ListDir="/var/cache/pacman/pkg"
Sollte man keine Alternativen Tools (s. unten) bevorzugen, dann lautet der komplette Installationsbefehl:
PreLoad_DB="/var/lib/preload"
pacman -S  sway foot dmenu swaybg ttf-roboto ttf-font-awesome


# Write and sort package lists
== Umstieg von i3 ==
pacman -Qqe > ${ListDir}/${HOSTNAME}.list
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.
sort -u ${ListDir}/*.list > ${ListDir}/org.list


# Ignore packages not available in our sync DB (like AUR and local installed packages)
== Sway Starten ==
comm -12 <(pacman -Slq --dbpath ${PreLoad_DB} | sort) <(sort ${ListDir}/org.list) > /${ListDir}/all.list
Eine Sway Sitzung kann auf verschiedene Arten gestartet werden:
* 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.


# Preload packages
== Tastaturbefehle (default) ==
pacman -Syuw --noconfirm --dbpath ${PreLoad_DB}
{|
```
|{{taste|mod}} + {{taste|1}}-{{taste|0}}
Die Datei pkgpreload.sh nach /usr/local/bin/pkgpreload.sh abspeichern und mit einem `chmod +x /usr/local/bin/pkgpreload.sh` ausführbar machen.
| - Ein Fenster öffnen
Zusätzlich wäre zu überlegen, den Befehl [paccache](https://wiki.archlinux.de/title/Pacman#Paccache) ins script zu integrieren um der Vorrat an alten Paketen zu limitieren.
|-
|{{taste|mod}} + {{taste|Return}}
| - Ein Terminal öffnen
|-
|{{taste|mod}} + {{taste|Pfeil}}
| - Den Fensterfokus wechseln
|-
|{{taste|mod}} + {{taste|d}}
| - Den Anwendungsstarter aufrufen
|-
|{{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
|}


### systemd service
== Konfiguration ==
Service unter /etc/systemd/system/pkgpreload.service abspeichern und danach aktivieren
Möchte man die vorgegebene Konfiguration anpassen, so wird empfohlen die Konfigurationsdatei ins eigene Benutzerverzeichnis zu kopieren und nur diese zu bearbeiten.
`systemctl enable --now pkgpreload.service`
mkdir ~/.config/sway
```
cp /etc/sway/config ~/.config/sway/config
# file-> /etc/systemd/system/pkgpreload.service


[Unit]
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.
Description=preloads packages
{|
After=network-online.target
|'''Paket/Einstellungen'''
Wants=network-online.target
|'''Config-Eintrag (Bsp.)'''
|-
|{{taste|Win}} als mod-Taste
|{{ic|set $mod Mod4}} (default)
|-
|{{taste|Alt}} als mod-Taste
|{{ic|set $mod Mod1}}
|-
|Deutsches Tastaturlayout
|{{ic|input * xkb_layout "de"}}
|-
|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
|}


[Service]
== siehe auch ==
ExecStart=/usr/local/bin/pkgpreload.sh
* [[i3]]


[Install]
== Weblinks ==
WantedBy=basic.target
* [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}}


### systemd timer
[[Kategorie:Fenstermanager]]
Timer unter /etc/systemd/system/pkgpreload.timer abspeichern und danach aktivieren
[[en:sway]]
`systemctl enable --now pkgpreload.timer`
Für andere Zeitintervalle siehe [systemd/Timers](https://wiki.archlinux.de/title/Systemd/Timers#Die_[Timer]_Sektion)
```
# file-> /etc/systemd/system/pkgpreload.timer
 
[Unit]
Description=preloads packages
 
[Timer]
OnCalendar=daily
Persistent=true
 
[Install]
WantedBy=basic.target
```
 
## Für alle anderen Rechner:
 
### Den nfs Client einrichten
Wie beim server ist auch hier das Paket nfs-utils zu installieren.
`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 Ausduck <server> ist hier durch den hostname des Servers zu ersetzen.
Nach einem reboot müsste 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, 12: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