Koppeln, erneut koppeln & einen Computer teilen
Jeder Computer, auf dem Terminull läuft, hat eine dauerhafte Identität — eine Beacon-ID und einen öffentlichen Schlüssel — und zeigt einen terminull://pair-QR-Code, der sie enthält. Es gibt zwei verschiedene QR-Codes, und was ein Scan bewirkt, hängt davon ab, welcher QR-Code es ist und wer ihn scannt. Genau darum geht es in diesem Abschnitt: Der eine QR-Code gibt den Computer ab, der andere verleiht ihn.
Koppeln — einen Computer zum ersten Mal verbinden
Unter macOS zeigt der Einrichtungsassistent den QR-Code auf der letzten Seite, und die Menüleiste bietet ihn jederzeit unter Gerät per QR hinzufügen an. Auf einem Linux-Server ohne Oberfläche gibt der terminull-Dienst die Kopplungs-URL als Text aus (ein QR-Code im Terminal ist über SSH unlesbar); du kannst sie in die App einfügen oder auf das Mac-Fenster ziehen.
Unter Windows zeigt das Installationsprogramm den QR-Code im letzten Schritt, und das Tray-Symbol bietet ihn jederzeit unter Pair a phone (QR) an — oder führe terminull qr in einem beliebigen Terminal aus.
Wenn du ihn in der App scannst, wird der Computer deinem Konto zugeordnet — du wirst sein Eigentümer. Die App registriert Beacon-ID und öffentlichen Schlüssel; der Computer fragt danach einmal sein dauerhaftes Auth-Token ab und geht online. Der QR-Code enthält nur die Beacon-ID, den öffentlichen Schlüssel des Computers, einen kurzlebigen Schlüsselaustausch-Schlüssel, die Adresse seines Heim-Relays und einen einmaligen Claim-Code — niemals deinen Code, deine Sitzungen oder Zugangsdaten.
Den QR-Code auf einem Rechner ohne Oberfläche abrufen
Ein frisch installierter Dienst gibt beim ersten Start im ungekoppelten Zustand einen Kopplungs-QR-Code auf seiner eigenen Ausgabe aus und hört damit auf, sobald ein Gerät ihn beansprucht hat. Um später jederzeit einen zu bekommen, frage den laufenden Dienst:
terminull-admin qr # print a QR (needs the service running)
terminull-admin qr --url # just the pairing link, on stdout
Der QR-Code wird auf der Ausgabe des Dienstes gezeichnet, nicht in dem Terminal, in dem du den Befehl eingegeben hast — dein Terminal bekommt stattdessen den Link zurück. Unter systemd ist diese Ausgabe das Journal, dort kannst du ihn darstellen:
journalctl --user -u terminull --no-pager -o cat -n 40
-o cat ist nicht optional. Ohne diese Option stellt journald jeder Zeile Zeitstempel und Unit-Namen voran — dadurch verschiebt sich jede Zeile des Codes seitlich, und er lässt sich nicht scannen, egal wie richtig er auf den ersten Blick aussieht.
Über SSH ist der Link meist praktischer als das Bild. terminull-admin qr --url gibt eine reine URL aus, die du in die App einfügen kannst — oder du leitest sie an deinen eigenen Renderer weiter und umgehst das Journal ganz: terminull-admin qr --url | qrencode -t ANSI.
Zwei häufige Stolpersteine: Das Installationsprogramm legt den Befehl in die Umgebung des Dienstes, wenn deine Shell ihn also nicht findet, nimm den vollen Pfad ~/.local/share/terminull/venv/bin/terminull-admin. Und der Befehl spricht über einen lokalen Socket mit dem laufenden Dienst — „terminull is not running“ heißt also genau das: Starte ihn mit systemctl --user start terminull und versuche es erneut. Behandle alles, was dabei ausgegeben wird, als Eigentümer-QR-Code, mit der oben beschriebenen Vorsicht.
Erneut koppeln — noch einmal mit demselben Konto scannen
Den Eigentümer-QR-Code erneut mit einem Konto zu scannen, dem der Computer bereits gehört, ist eine erneute Zuordnung und kann gefahrlos wiederholt werden. Dabei werden der gespeicherte öffentliche Schlüssel und der Name aufgefrischt und das Token-Fenster wieder geöffnet. Es geht nichts verloren — deine Sitzungen liegen auf dem Computer selbst, nicht auf dem Handy, und sind danach alle noch da.
Koppele erneut, wenn du ein zweites eigenes Gerät hinzufügst (ein iPad neben deinem iPhone), die App neu installierst oder die Identität des Computers mit einer vollständigen Deinstallation zurücksetzt — im letzten Fall wird der Schlüssel neu erzeugt, und genau den schreibt die erneute Zuordnung zurück.
Der Eigentümer-QR-Code ist ein Geheimnis. Wenn ihn ein anderes Konto scannt, ist das kein Beitritt — es ist eine Eigentumsübertragung. Der Server merkt sie vor, und sie wird beim nächsten Abruf des Computers wirksam, wodurch der Computer aus deinem Konto verschwindet. Wer einen Claim-Code besitzt, weist physischen Zugriff auf den Computer nach — deshalb gilt er als Vollmacht darüber. Um jemanden hereinzulassen, ohne das Eigentum abzugeben, nutze den Teilen-QR-Code weiter unten.
Teilen — jemand anderen deinen Computer nutzen lassen
Öffne in der App Konto, suche den Computer und tippe auf das QR-Symbol daneben. Der Computer erzeugt einen frischen, zwei Minuten gültigen Code, registriert ihn beim Server und zeigt einen Teilen-QR-Code mit laufendem Countdown. (Für reine LAN-Computer ist Teilen nicht verfügbar, da hinter ihnen kein Konto steht.)
Scannt ihn ein anderes Konto, tritt es als Mitglied bei: Der Computer erscheint in seiner Liste, es erhält Push-Nachrichten und kann Sitzungen darauf ausführen. Das Eigentum ändert sich nicht, und das Auth-Token des Computers bleibt unberührt. Bereits beigetretene Mitglieder können jederzeit erneut scannen, ohne dass du ein neues Fenster öffnest.
Der Ablauf wird vom Server durchgesetzt, nicht nur angezeigt. Ein Scan ohne passenden Code wird mit „Dieser Computer wird gerade nicht geteilt“ abgelehnt, einer nach Ablauf mit „Dieser Teilen-Code ist abgelaufen — bitte den Eigentümer um einen neuen QR-Code“. Ein Screenshot eines alten Teilen-QR-Codes ist damit wertlos, und genau das ist der Sinn: Teilen ist ein bewusster, kurzer Akt und keine dauerhafte Freigabe.
Welchen QR-Code sehe ich gerade?
| Eigentümer-QR | Teilen-QR | |
|---|---|---|
| Wo du ihn findest | Einrichtungsassistent oder Menüleiste → Gerät per QR hinzufügen | App → Konto → QR-Symbol neben einem Computer |
| Wie lange er gilt | Bis die Identität des Computers zurückgesetzt wird | Zwei Minuten, mit Countdown |
| Dein eigenes Konto scannt ihn | Koppelt erneut — beliebig wiederholbar | Nichts Neues; du hast ihn bereits |
| Ein fremdes Konto scannt ihn | Übernimmt das Eigentum am Computer | Tritt als Mitglied bei; du bleibst Eigentümer |
| Screenshot unbedenklich? | Nein — behandle ihn wie ein Passwort | Harmlos, sobald die zwei Minuten um sind |
Kopplung nur im LAN
Ein Computer mit pairing_mode = "lan" koppelt vollständig in deinem lokalen Netzwerk: Sein QR-Code ist als LAN-only markiert, die App überspringt die Kontozuordnung, und zu keinem Zeitpunkt ist ein Server beteiligt. Der Computer ist dann nur aus demselben Netzwerk erreichbar; Push-Nachrichten und Cloud-KI-Hilfen stehen nicht zur Verfügung. Er lässt sich auch nicht teilen — Teilen ist serverseitig vermittelt, und in diesem Modus gibt es keinen Server.
Der Kern von Terminull Service soll offen sein. Quell-Layout, die vollständige Block-Referenz und das Übergabe-Design liegen daneben im docs/-Ordner des Repos. Fragen: hello@terminull.dev.