From 4881be9737c06b45d86b770124d7d1f5e1e27a50 Mon Sep 17 00:00:00 2001 From: Christian Kauer Date: Tue, 24 Mar 2026 16:53:18 +0100 Subject: [PATCH] diverse updates --- system.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/system.md b/system.md index e41439d..ecb29a3 100644 --- a/system.md +++ b/system.md @@ -9,7 +9,10 @@ ### nvme0n1 (2 TB) — Ventoy - `nvme0n1p1` — Ventoy NTFS-Partition (VMs), UUID: `98FA5A9DFA5A7808`, Label: "Ventoy" - `nvme0n1p2` — VTOYEFI (FAT16), UUID: `3105-B091` -- Unter Windows als `D:\` verfügbar, unter Linux als `/run/media/chk/Ventoy/` +- Unter Windows als `D:\` verfügbar, unter Linux als `/mnt/ventoy` (Auto-Mount via fstab) +- **Wichtig:** Das Raw-Device `/dev/nvme0n1p1` kann unter CachyOS nicht direkt gemountet werden (`Can't open blockdev`), weil Ventoy es über den Device-Mapper belegt. Stattdessen muss `/dev/mapper/nvme0n1p1` (= `/dev/dm-1`) verwendet werden. +- **fstab:** `/dev/mapper/nvme0n1p1 /mnt/ventoy ntfs3 rw,uid=1000,gid=1000,nofail 0 0` +- **Symlink:** `~/projects` → `/mnt/ventoy/projects` ### nvme1n1 (1 TB) — Windows - `nvme1n1p1` — BOOT/EFI (FAT32), UUID: `9EAB-CAFA` @@ -27,7 +30,10 @@ - 250 GB Disk (sda), BTRFS mit Subvolumes - zram-Swap (11,6 GB) - **Desktop:** KDE auf Wayland -- **Shell:** fish (Login-Shell ist zsh) +- **Shell:** zsh (umgestellt von fish wegen fehlender POSIX-Kompatibilität — kein Heredoc, abweichende Syntax bei Online-Snippets) + - **Prompt:** Powerlevel10k (`~/.p10k.zsh`) + - **Config:** `~/.zshrc` → lädt `/usr/share/cachyos-zsh-config/cachyos-config.zsh` (oh-my-zsh, fzf, git) + - **Plugins:** `zsh-autosuggestions`, `zsh-syntax-highlighting` (bereits via CachyOS-Config aktiv — fish-äquivalentes Erlebnis) - **Init:** systemd (mit plymouth) - **Sprache:** Deutsch @@ -122,6 +128,29 @@ nmcli connection up "Kabelgebundene Verbindung 1" - **VPN-Koexistenz:** Wenn `sslvpn-fixed` aktiv ist, übernehmen die VPN-Routing-Domains auf `tun0` den Firmen-DNS für interne Auflösung — gleiche Domains, anderer Link +### Kurzname-Auflösung (Search Domains vs. Routing Domains) + +- **Problem:** Firmen-Hostnamen wie `krah-invoice` werden über VPN nicht aufgelöst — nur der FQDN `krah-invoice.krah.intranet.de` funktioniert. +- **Ursache:** `~krah.intranet.de` (mit `~`-Prefix) ist nur eine **Routing-Domain** — DNS-Queries für `*.krah.intranet.de` werden an den Firmen-DNS geleitet, aber kurze Hostnamen werden **nicht** automatisch ergänzt. Dafür braucht systemd-resolved eine **Search Domain** (ohne `~`). +- **Lösung:** NetworkManager-Dispatcher-Script, das beim VPN-Connect automatisch die Search Domain setzt: + - **Datei:** `/etc/NetworkManager/dispatcher.d/10-vpn-search-domain` + ```bash + #!/bin/bash + INTERFACE="$1" + ACTION="$2" + if [[ "$INTERFACE" == "tun0" && "$ACTION" == "vpn-up" ]]; then + resolvectl domain tun0 krah.intranet.de ~internal.lan ~krah-gruppe.de ~hirsau.seuffer ~resistec.pri ~krahicenet.local + fi + ``` + - **Rechte:** `chmod 755` (muss ausführbar sein, sonst ignoriert NM das Script) + - `krah.intranet.de` ohne `~` = Search Domain, der Rest mit `~` = Routing Domains +- **Manuell (falls Dispatcher nicht greift):** + ```bash + sudo resolvectl domain tun0 krah.intranet.de '~internal.lan' '~krah-gruppe.de' '~hirsau.seuffer' '~resistec.pri' '~krahicenet.local' + ``` + - **Hinweis:** Die `~`-Zeichen müssen in zsh/fish mit Anführungszeichen escaped werden (`'~...'`), da die Shell sie sonst als Home-Directory interpretiert. +- **Verifikation:** `resolvectl status` prüfen — beim tun0-Link muss `krah.intranet.de` ohne `~` erscheinen + ### Sophos Endpoint (Protection for Linux) - **Paket:** Sophos Protection for Linux (SPL), installiert unter `/opt/sophos-spl` @@ -255,6 +284,24 @@ sudo systemctl enable --now displaylink ``` - **Hinweis:** `evdi-dkms` kompiliert per DKMS gegen den aktiven Kernel — nach Kernel-Updates wird das Modul automatisch neu gebaut +### Microsoft Teams (`teams-for-linux`) + +- **Paket:** `teams-for-linux` (CachyOS-Repo), Electron-basierter Unofficial Client +- **Problem:** Kamera und Tonausgabe funktionierten ohne zusätzliche Konfiguration nicht + - **Kamera:** Electron nutzt ohne `WebRTCPipeWireCapturer` nicht den PipeWire-Kamerapfad + - **Tonausgabe:** Chromiums `AudioServiceOutOfProcess`-Feature lagert Audio in einen Sandboxed-Prozess aus, der unter PipeWire/Wayland keinen Zugriff auf den PipeWire-Socket (`/run/user/1000/pipewire-0`) hat — es wird kein Audio-Output-Stream erzeugt +- **Lösung:** Beide Probleme über `electronCLIFlags` in der App-Config beheben: + - **Config:** `~/.config/teams-for-linux/config.json` + ```json + { + "electronCLIFlags": [ + ["enable-features", "WebRTCPipeWireCapturer"], + ["disable-features", "AudioServiceOutOfProcess"] + ] + } + ``` +- **Hinweis:** Nach Änderung der Config muss Teams komplett neu gestartet werden (Tray-Icon schließen) + ### Installierte Pakete (manuell) - `teams-for-linux` — MS Teams Client (CachyOS-Repo) - `rclone` — Cloud-Sync (pacman)