ROAMSWITCH FÜR LINUX · OPERATIONSREFERENZ

CLI-/Headless-Betriebshandbuch

So bedienen Sie RoamSwitch für Linux ohne GUI – auf Cloud-VPS-Instanzen, über SSH, von Cron, Überwachungsskripten und programmatischen KI-Agenten (MCP).

Auswahl der Edition
  • Client Edition (roamswitch): Entwickelt für Laptops, mobile Workstations und Entwicklergeräte. Wechselt automatisch die nftables-Firewall-Profile basierend auf der Vertrauensstufe des verbundenen Netzwerks. Dieses Handbuch konzentriert sich hauptsächlich auf die Headless-/CLI-Verwaltung der Client Edition.
  • Server Edition (roamswitch-server): Entwickelt für Cloud-VPS-Instanzen (AWS, GCP, DigitalOcean, Linode usw.) und lokale Server, die direkt mit dem Internet verbunden sind. Bietet eingehende Standard-Drop-Filterung, SSH-Sperrschutz, Critical-Path File Integrity Monitoring (FIM), eBPF/Falco-Laufzeitintegration und sofortige Benachrichtigungen (Telegram/LINE/Webhooks). Vollständige Installations- und Verwaltungsanweisungen finden Sie im RoamSwitch Server Edition-Betriebshandbuch und im Server Security Whitepaper.

1. Komponenten

Komponente Läuft als Rolle
roamswitch-daemon (Kunde) root (systemd Type=notify) Alle privilegierten Client-Vorgänge: nftables-Steuerung, Netzwerkerkennung, Ransomware-/Malware-Überwachung, Fanotify, ARP/NDP-Pinning, DNS-Durchsetzung. Öffnet keinen TCP/UDP-Listening-Socket.
roamswitch-server-daemon (Server) root (systemd Type=notify) Alle serverprivilegierten Vorgänge: eingehender Standard-Drop, SSH- und Admin-Bastion-Erhaltung, FIM (über 150 kritische Binär-Hashes), Falco eBPF UNIX-Socket-Listener mit autonomem SIGSTOP-Einfrieren, Alarmverteilung.
roamswitch (CLI) Login-Benutzer (einige Aktionen erfordern Sudo) Thin Client liest Daemon-Status. Verwendet /run/roamswitch/roamswitch.sock IPC in der Client Edition oder stellt die Unterbefehle --server, server, fim und emergency-restore in der Server Edition bereit.
roamswitch-mcp von KI-Clients hervorgebracht Schreibgeschützter MCP-Server (stdio / JSON-RPC) für den programmgesteuerten Statusabruf durch KI-Agenten. Siehe MCP-Setup
roamswitch-app Login-Benutzer GTK-GUI (nur Client Edition). In Headless-Umgebungen nicht erforderlich.

Eine Headless-Bereitstellung läuft auf dem Daemon + roamswitch CLI (plus roamswitch-mcp, falls gewünscht). Alle autonomen Abwehrmechanismen funktionieren ohne GUI.

Sich gegenseitig ausschließende Pakete
Client Edition (roamswitch) und Server Edition (roamswitch-server) sind sich gegenseitig ausschließende Pakete (Conflicts). Stellen Sie roamswitch-server in Serverumgebungen bereit.

2. Daemon (Systemd-Dienste)

Client-Edition

sudo systemctl status  roamswitch.service      # Status
sudo systemctl enable  roamswitch.service      # Autostart beim Booten (bei Installation aktiviert)
sudo systemctl restart roamswitch.service      # Neustart
journalctl -u roamswitch.service -f            # Logs verfolgen
journalctl -u roamswitch.service --since "1h ago"

Was der Client-Daemon beim Start und in jedem Zyklus (3 s) autonom macht:

  • Identifiziert den verbundenen Gateway-MAC und wendet nftables-Profile (open / balanced / lockdown) auf trusted_networks an.
  • Verhaltensbasierte Ransomware-Erkennung (Fanotify + Shannon-Entropie + Kanarienvögel)
  • On-Access-Malware-Scanning (Fanotify, optional ClamAV)
  • ARP-Spoof-Überwachung und präventives Gateway-ARP/NDP-Pinning in nicht vertrauenswürdigen Netzwerken
  • Kernel-Härtung (sysctl / Yama / core dumps / /tmp noexec) pro Profil
  • Bedrohungsschutz-DNS-Durchsetzung (dns_enabled + dns_scope)
  • Link Guard (NFQUEUE) zum Abfangen von Phishing
  • Ausgabe des Laufzeitstatus an /run/roamswitch/state.json

Server-Edition

sudo systemctl status  roamswitch-server.service      # Status
sudo systemctl restart roamswitch-server.service      # Neustart
sudo systemctl reload  roamswitch-server.service      # Konfigurationsdatei neu laden
journalctl -u roamswitch-server.service -f            # Logs verfolgen

3. CLI-Befehlsreferenz

Grundlegende Syntax: roamswitch <command> [options]. Bei der Ausführung ohne Argumente wird standardmäßig status verwendet. Die Ausgabesprache folgt automatisch dem Betriebssystemgebietsschema (LC_ALL / LC_MESSAGES / LANG).

Befehl Berechtigungen Beschreibung
status [--server] (alias report / server-status) Benutzer Bewertung des Sicherheitszustands (24 Überprüfungen beim Client, 30 Überprüfungen bei --server), 0–100 Punkte, Note und Empfehlungen pro Element
server [config|setup|test-notify|restart|ebpf] Benutzer/root Konfigurationsverwaltung der Server Edition, interaktiver Einrichtungsassistent und Testbenachrichtigungen. ebpf (Alias incidents) zeigt den aktuellen Eindämmungsstatus des eBPF-Runtime-Guards und die erkannte Vorfallshistorie
fim [verify|update] Benutzer/root Überprüfung der Dateiintegritätsüberwachung kritischer Pfade (verify) und Aktualisierung der Baseline-Hash-Datenbank (update)
emergency-restore Wurzel Heben Sie alle Notfall-eBPF-/Firewall-Isolationen auf und stellen Sie die Netzwerk-Baseline wieder her
ports [-a|--all] Benutzer Überwachungsports auf 0.0.0.0, nicht authentifizierten Datenbanken und Entwicklungsservern. -a umfasst reine Loopback-Ports
guards Benutzer Status der automatischen Verteidigungswächter (Portanomalie, ARP, USB-Speicher, Download, DNS-Bedrohung, Canary, Dev-Server-Isolator, Bluetooth)
wifi Benutzer WLAN-Verschlüsselungsstärke (Offen / WEP / WPA / kabelgebunden) und SSID
sharing [status|on|off] Benutzer Automatisches Stoppen/Wiederherstellen von SSH/Samba/RDP in nicht vertrauenswürdigen Netzwerken (on trennt aktives SSH, wenn es nicht vertrauenswürdig ist)
audit-url <URL> Benutzer Untersuchen Sie das URL-Phishing- und Bedrohungsrisiko mithilfe lokaler Feeds und Heuristiken (ruft niemals das Ziel ab)
audit-secrets <text|path|directory> Benutzer API-Schlüssel, private Schlüssel und Token in Text, einer Datei oder einem Verzeichnis erkennen (rekursiv; überspringt .git/node_modules usw.) — überträgt niemals Daten
audit-logs [hours] Benutzer Aggregiert und klassifiziert Systemjournal-/Authentifizierungsprotokolle der letzten N Stunden (Standard: 24). API-Schlüssel und Token werden automatisch maskiert. Zeigt zudem Ergebnisse der Protokollmuster-Anomalieerkennung (neue Muster und statistische Häufigkeitsspitzen).
canary Benutzer Status und Integrität der Ransomware Canary Decoy-Datei sowie erkannte Vorfallshistorie (bis zu den letzten 50)
port-anomaly (Alias port-guard) Allgemein Baseline-Status des Port-Anomaly-Guards, aktuell automatisch isolierte Ports und erkannte Vorfallshistorie (bis zu den letzten 50)
quarantine [list] Benutzer Inhalt des Malware-Quarantäne-Tresors (Beispiel, ursprünglicher Pfad, Bedrohungsname, Datum)
knowledge [query] (alias faq) Benutzer Durchsuchen Sie die Offline-Wissensdatenbank
airgap [enable|disable] Benutzer/root Notfall-Air-Gap-Isolierung auslösen oder aufheben (enable lässt den gesamten externen Datenverkehr fallen)
help (--help / -h) Benutzer Hilfe anzeigen (roamswitch <command> --help für Unterbefehlshilfe)
scan-packages [ORDNER...] Allgemein Gleicht installierte OS-Pakete (erkennt automatisch dpkg/pacman/dnf/zypper) mit der lokalen bekannten CVE-Zuordnung ab. Bei Angabe von Ordnerargumenten werden zusätzlich die Abhängigkeits-Lockfiles dieses Projekts (npm/PyPI/crates.io und 4 weitere Ökosysteme) geprüft. Es findet überhaupt keine Netzwerkaktivität statt
scan-vulns [--confirm] Allgemein Läuft nur bei active_vuln_scan_enabled: true (standardmäßig aus): ausschließlich auf 127.0.0.1 beschränkte Erreichbarkeitsprüfungen ohne Authentifizierung für Redis/Memcached/MongoDB/dockerd, CORS-Fehlkonfiguration/Path-Traversal/Open-Redirect-Prüfungen für erkannte Dev-Server, SMTP-Open-Relay-Diagnose sowie beweisbasierte Expositionsprüfungen für Telnet/FTP/SSH. Ohne --confirm ein Trockenlauf
notifications (alias notification-history) Benutzer Verlauf der von RoamSwitch gesendeten Benachrichtigungen (Log-Audit-Auffälligkeiten, ClickFix-Erkennungen u. a.) — letzte 7 Tage, neueste zuerst
frozen [list|resume <PID>|resume all] Benutzer / root Listet die Prozesse auf, die die Guards (Ransomware-Burst-Erkennung, Canary-Manipulation, Kernel-Exploit-Erkennung) derzeit per SIGSTOP anhalten, und gibt einen Fehlalarm wieder frei (SIGCONT). Ein Freeze ist kein Kill — ein freigegebener Prozess läuft exakt dort weiter, wo er angehalten wurde. resume all gibt alle frei. Für root-eigene Prozesse ist sudo nötig
resource-guard (Alias leak-guard) Benutzer Erkennungshistorie des Ressourcen- und Prozessanomalie-Schutzes (nur Server Edition): anhaltendes, nicht rückläufiges RSS-Wachstum (Speicherleck / DoS) oder Crash-Loops in netzexponierten Diensten, jeweils mit Konfidenzstufe
timeline (Alias incident-timeline) Benutzer Fasst die Erkennungen von Link-Guard (ARP-Spoofing), Ransomware-Canary, eBPF-Runtime-Guard und Ressourcen-Guard zu einer chronologischen Ansicht zusammen — mit Prozessabstammung und MITRE-ATT&CK-Tags (experimentell)
xdp-gate [status|enable|disable] Benutzer / root Zeigt oder schaltet das XDP-Boot-Gate (experimentell). status meldet, ob roamswitch-xdp-gate.service aktiviert ist, und den aktuellen Programmzustand. Standardmäßig deaktiviert
sensor [key|list|pair|unpair|request-audit|results] Benutzer/root Pairing mit gegenseitigem Vertrauen per Pairing-Code mit RoamSwitch Sensor, einem Netzwerksensor aus einem separaten Repository, den Sie auf handelsüblicher Hardware installieren. pair --addr <ip> --code <code> löst einen von Sensor ausgestellten Code ein, um zu pairen (Sensor wird als unter einer festen IP laufend vorausgesetzt), key zeigt den eigenen Public Key/Adresse dieses Endpunkts, unpair entfernt das Pairing, und request-audit bittet Sensor um ein aktives Schwachstellen-Audit (Ergebnis mit results abrufen). Erfordert sensor_pairing_enabled: true (standardmäßig aus). Details siehe Sensor-Betriebshandbuch
port-scan (alias portscan) Benutzer Zeigt den Erkennungsverlauf der Eingangsportscan-Erkennung (Quell-IP, ob automatisch blockiert und Blockierdauer). Eine andere Funktion als port-anomaly, das neu „exponierte“ unbekannte Ports erkennt

Beispiele

sudo roamswitch status                 # Vollständige Client-Diagnose (24 Punkte)
sudo roamswitch status --server        # Vollständige Diagnose der Server Edition (30 Punkte)
sudo roamswitch ports -a               # Alle lauschenden Ports
roamswitch guards                      # Guard-Status
roamswitch audit-url https://examp1e-login.com
roamswitch audit-secrets ./deploy.env
roamswitch audit-secrets .                          # Aktuelles Verzeichnis rekursiv scannen
roamswitch audit-logs 72               # Logs der letzten 72 Stunden analysieren
sudo roamswitch sharing on             # SSH/Samba/RDP in nicht vertrauenswürdigen Netzwerken automatisch stoppen
sudo roamswitch fim verify             # FIM-Dateiintegritätsprüfung
sudo roamswitch fim update             # FIM-Baseline aktualisieren
sudo roamswitch emergency-restore      # Notabschaltung vollständig aufheben und wiederherstellen
sudo roamswitch airgap enable          # Notabschaltung
sudo roamswitch airgap disable         # Aufheben
sudo roamswitch server ack             # Sicherheitstimer bestätigen (automatische Wiederherstellung stoppen)
roamswitch canary                      # Canary-Vorfallshistorie
roamswitch port-anomaly                # Vorfallshistorie des Port-Anomaly-Guards
roamswitch server ebpf                 # Eindämmungsstatus und Vorfallshistorie des eBPF-Guards
roamswitch notifications               # Benachrichtigungsverlauf der letzten 7 Tage
roamswitch frozen                      # Eingefrorene Prozesse auflisten
sudo roamswitch frozen resume 12345    # Fehlalarm wieder freigeben
sudo roamswitch sensor pair --addr 192.168.1.50 --code AB3DFGH2  # Paart sich per Pairing-Code mit Sensor
sudo roamswitch sensor key             # Zeigt den eigenen Public Key/Adresse dieses Endpunkts
roamswitch port-scan                   # Portscan-Erkennungsverlauf

Der Server-Edition-Daemon läuft als root, daher liefern Befehle, die das nftables-Regelwerk lesen oder den Prozessbesitzer ermitteln müssen (status / status --server / ports -a), ohne sudo ungenaue Ergebnisse (eine fälschliche „inaktiv“-Bewertung oder fehlende Prozessinformationen). Befehle, die die Konfiguration ändern (sharing / fim update / airgap / emergency-restore usw.), benötigen ebenfalls sudo. Alle anderen, reinen Lesebefehle funktionieren auch ohne sudo korrekt.

Vorbehalte und Einschränkungen
  • Unterbefehlsspezifische Hilfe wird über roamswitch <command> --help.
  • unterstützt.
  • Maschinenlesbarer Status sollte über MCP (§6) oder /run/roamswitch/state.json (§5) abgefragt werden.
  • In der Client Edition gibt es keinen direkten Befehl zum Erzwingen eines Firewall-Profils; Der Daemon verwaltet dies autonom auf Basis der Netzwerkvertrauensstellung. Um eine Ebene zu erzwingen, konfigurieren Sie manual_override in config.json oder rufen Sie den set_security_level IPC direkt auf (§5).
  • status gibt unabhängig von der Punktzahl den Exit-Code 0 zurück. Analysieren Sie für die automatisierte Überwachung die Bewertungszeile (siehe §7).

4. Konfigurationsdateien

Client-Edition (~/.config/roamswitch/config.json)

Der Daemon wird als Root ausgeführt und scannt /home/*/.config/roamswitch/config.json, wobei er die erste gültige Datei verwendet, die er findet (oder /root/.config/roamswitch/config.json in Nur-Root-Umgebungen).

Schlüssel Typ/Standard Beschreibung
languageZeichenfolge / BetriebssystemgebietsschemaUI- und CLI-Sprache (ja / en / ko / zh-Hans / zh-Hant / de / fr / es / it / pt-PT)
trusted_networks[{name, mac, level}]Vertrauenswürdige Netzwerke; mac ist Gateway-MAC, level ist open / balanced / lockdown
away_protection_levelZeichenfolge / lockdownStandardprofil in unbekannten Netzwerken
manual_overridestring / nullForce open / balanced / lockdown (null für automatisch)
dns_enabledbool / trueDNS-Durchsetzung zum Schutz vor Bedrohungen
dns_providerZeichenfolge / quad9quad9 / cloudflare / adguard / cleanBrowsing
dns_scopeZeichenfolge / untrusted_onlyuntrusted_only / always_on
arp_spoof_guard_enabledbool / trueARP-Spoof-Überwachung
gateway_arp_lock_enabledbool / truePräventive Gateway-ARP/NDP-Sperre für nicht vertrauenswürdige Netzwerke
port_anomaly_guard_enabledbool / trueNeue Abhörports automatisch blockieren
system_wide_fanotify_enabledbool / trueSystemweiter Fanotify-Malware-Schutz
pre_exec_blocking_enabledbool / trueBlockierung vor der Ausführung (FAN_DENY)
entropy_freeze_enabledbool / trueRansomware Fast-Freeze (SIGSTOP)
mount_hardening_enabledbool / truenoexec auf /tmp und /dev/shm (auf nicht offene Profile angewendet)
yama_memory_protect_enabledbool / trueYama-Ptrace-Einschränkungen
usb_storage_guard_enabled / usb_keyboard_guard_enabledbool / falseUSB-Speicher/BadUSB-Tastaturschutz (standardmäßig deaktiviert)
usb_zero_trust_enabledbool / falseUSB-Bus autorisierter_Standard=0
bluetooth_guard_enabledbool / falseDeaktivieren Sie Bluetooth-Funk in nicht vertrauenswürdigen Netzwerken
sharing_service_control_enabledbool / trueAutomatisches Stoppen/Wiederherstellen von SSH/Samba/RDP
scan_exclusions[string]Absolute Pfade, die vom Scannen ausgeschlossen sind
link_guardObjekt{enabled, mode: "off"|"warn"|"block", allowlist, blocklist_extra, use_threat_dns}
vpn_on_untrusted_enabledbool / falseAutomatischer Start des VPN-Tunnels in nicht vertrauenswürdigen Netzwerken
vpn_backendZeichenfolge / wireguardwireguard / tailscale
active_vuln_scan_enabledbool / falseErlaubt die Ausführung von scan-vulns (standardmäßig aus). Erfordert explizites Opt-in, da nur auf 127.0.0.1 beschränkte Erreichbarkeitsproben gesendet werden
pkgcve_watched_folders[string]Projektordner (absolute Pfade), die der Abhängigkeits-Scan der GUI prüft. Der CLI-Befehl scan-packages ignoriert diese Einstellung und verwendet nur über Kommandozeilenargumente übergebene Ordner
sensor_pairing_enabledbool / falseErlaubt Pairing mit gegenseitigem Vertrauen per Pairing-Code mit RoamSwitch Sensor (standardmäßig aus). Erforderlich für die Nutzung des Befehls sensor
port_scan_detect_enabledbool / trueEingangsportscan-Erkennung
port_scan_detect_min_distinct_portsint / 15Eine Quelle, die innerhalb des Erkennungsfensters mindestens so viele verschiedene Ports kontaktiert, wird als Scan gewertet
port_scan_detect_window_secsint / 300Aggregationsfenster für die Scan-Erkennung (Sekunden)
port_scan_block_enabledbool / trueBlockiert die erkannte Scan-Quell-IP automatisch
port_scan_block_duration_secsint / 600Dauer der automatischen Blockierung (Sekunden)
Achtung: Remote-SSH
Bei sharing_service_control_enabled: true werden durch die Verbindung zu einem nicht vertrauenswürdigen Netzwerk aktive SSH-Sitzungen getrennt. Lassen Sie es auf Headless-Servern deaktiviert.

Server-Edition (/etc/roamswitch/server.conf)

Server Edition verwendet eine Konfigurationsdatei im INI-Format mit strengen Berechtigungen (0600, nur Root). Siehe Server Edition-Bedienungshandbuch

5. Protokolle und Laufzeitstatusdateien

Pfad Ziel Beschreibung
journalctl -u roamswitch.serviceKundeClient-Daemon-Protokolle (Profilwechsel, Erkennungen, Fehler)
journalctl -u roamswitch-server.serviceServerServer-Daemon-Protokolle (FIM-Ereignisse, Falco-Erkennungen, Isolierungen)
/run/roamswitch/roamswitch.sockKundeClient-Daemon-IPC-Unix-Domänen-Socket
/run/roamswitch/events.sockServerFalco/Tetragon eBPF-Integrationssocket (root:root, Modus 0660; Falco wird standardmäßig als Root ausgeführt und ermöglicht direkte Socket-Schreibvorgänge ohne Konfiguration)
/run/roamswitch/state.jsonKundeZyklusstatus: {active_level, network_trusted, fanotify_ready}
/run/roamswitch/alerts.jsonKundeAktuelle Benachrichtigungswarteschlange
/run/roamswitch/approvals.jsonKundeAusstehende Genehmigungswarteschlange
/run/roamswitch/fanotify.readyKundeFlag-Datei, die anzeigt, dass Fanotify Guard ausgeführt wird
/var/lib/roamswitch/fim_baseline.dbServerFIM SHA-256 Baseline-Hash-Datenbank
~/.local/share/roamswitch/quarantine/BeidesQuarantäne-Tresor (0700, Proben 0400) + .metadata.json

IPC direkt aufrufen (Erweitert)

Der Daemon akzeptiert durch Zeilenumbrüche getrenntes JSON auf /run/roamswitch/roamswitch.sock:

# Profil erzwungen wechseln (Client Edition)
printf '{"id":1,"method":"set_security_level","params":{"level":"lockdown"}}\n' \
  | sudo socat - UNIX-CONNECT:/run/roamswitch/roamswitch.sock

# Gateway-ARP-Sperre jetzt abgleichen
printf '{"id":1,"method":"reconcile_gateway_lock","params":null}\n' \
  | sudo socat - UNIX-CONNECT:/run/roamswitch/roamswitch.sock

6. Programmatischer Status (MCP)

roamswitch-mcp macht schreibgeschützte Tools über JSON-RPC auf stdio verfügbar (get_security_report / get_exposed_ports / get_guard_status / audit_url_safety / audit_secrets / audit_security_logs / get_app_help / get_quarantine_status / get_file_scan_guard_status / verify_fim / get_port_anomaly_incidents / get_ebpf_incidents / get_resource_guard_incidents / get_canary_status / get_notification_history / get_incident_timeline / run_active_vuln_scan / run_package_cve_scan / run_package_cve_scan_languages).

Es verwendet keine externe Netzwerkkommunikation, sondern stellt eine lokale Verbindung zum Daemon-Socket her oder ruft roamswitch-core auf. Siehe MCP-Einrichtungshandbuch

7. Automatisierungsrezepte

Täglicher Cron-Gesundheitscheck → E-Mail senden, wenn der Score unter den Schwellenwert fällt

#!/usr/bin/env bash
# /etc/cron.daily/roamswitch-health
out=$(runuser -u "$SUDO_USER" -- roamswitch status 2>&1)
score=$(printf '%s\n' "$out" | grep -oE '[0-9]+/100' | head -1 | cut -d/ -f1)
if [ -n "$score" ] && [ "$score" -lt 80 ]; then
  printf '%s\n' "$out" | mail -s "RoamSwitch health: ${score}/100" root
fi

Warteschlange für Überwachungswarnungen (Poll Alerts.json)

#!/usr/bin/env bash
last=0
while :; do
  ts=$(jq -r 'max_by(.timestamp).timestamp // 0' /run/roamswitch/alerts.json 2>/dev/null || echo 0)
  if [ "$ts" -gt "$last" ]; then
    jq -c ".[] | select(.timestamp > $last)" /run/roamswitch/alerts.json | logger -t roamswitch-alert
    last=$ts
  fi
  sleep 10
done

Überprüfen Sie den Zustand des Fanotify Guard (state.json).

jq -e '.fanotify_ready == true' /run/roamswitch/state.json >/dev/null \
  || echo "WARNING: fanotify guard is not running" >&2

8. Fehlerbehebung

Symptom Auflösung
roamswitch wird mit „Überprüfen Sie, ob roamswitch-mcp installiert ist“ beendet. Daemon läuft nicht → sudo systemctl start roamswitch.service (oder roamswitch-server.service). Überprüfen Sie, ob der Socket vorhanden ist
roamswitch status zeigt fanotify 🔴 „Wache blieb stehen“ Vorübergehende fs.fanotify.max_user_groups Erschöpfung. Starten Sie mit sudo systemctl restart roamswitch.service neu und überprüfen Sie es im Journal
Profil bleibt in balanced und erreicht nie open Überprüfen Sie, ob die Gateway-MAC in trusted_networks mit level: open registriert ist.
SSH wird unerwartet getrennt Die Client-Edition hat sharing_service_control_enabled: true in einem nicht vertrauenswürdigen Netzwerk. Deaktivieren über roamswitch sharing off
Konfigurationsänderungen werden nicht wirksam The client daemon reads the first of /home/*/.config/…; apply with systemctl restart roamswitch.service. For the server edition, edit /etc/roamswitch/server.conf then run sudo roamswitch server restart (no reload).
Die Serverkommunikation wurde versehentlich blockiert Greifen Sie auf die Cloud-Konsole (VNC/seriell) zu und führen Sie sudo roamswitch emergency-restore aus.

9. Referenzen