![]() |
|
Shell und Xterm Terminaltools - Druckversion +- LK0NOD - Forum - Community - CB Funk 11m (https://lk0nod.de/forum) +-- Forum: PACKET RADIO (https://lk0nod.de/forum/forum-193.html) +--- Forum: TNC2 Tool Linux (Python) (https://lk0nod.de/forum/forum-284.html) +--- Thema: Shell und Xterm Terminaltools (/thread-1215.html) |
Shell und Xterm Terminaltools - 13LS194 - 05.09.2026 Hallo liebe Packet Freunde, Ich möchte mal wieder zwei zusammengehörige Programme vorstellen: AX.25 Shell Serverprogramm AX.25 Shell Terminalprogramm Das Serverprogramm läuft auf der entfernten Linux-Station und stellt über einen TNC im WA8DED/TheFirmware-Hostmode eine echte Linux-Login-Sitzung bereit. Der Datenweg ist grob: Terminalprogramm → TNC → AX.25 → TNC → Shell Serverprogramm → PTY → agetty / login / PAM → Linux-Shell Es handelt sich also nicht um eine nachgebaute Mini-Shell, sondern um eine normale Linux-Benutzershell. Der Server startet DISARMED und bietet über eine lokale GUI unter anderem ARM/DISARM, CUTOFF, TNC-Konfiguration und Benutzerverwaltung. Das dazugehörige Terminalprogramm ist speziell für langsame Packet-Verbindungen gedacht. Im normalen Shellbetrieb arbeitet es im LINE Mode. Man tippt eine komplette Zeile lokal und erst Enter überträgt sie. Gerade bei 1200 Baud spart das gegenüber der Übertragung jedes einzelnen Tastendrucks einiges an Funkverkehr. Interessant ist die automatische Terminal-Logik. Wird remote zum Beispiel nano test.txt gestartet, erkennt das Terminalprogramm die üblichen VT/xterm-Alternate-Screen-Sequenzen. Der Zustand wechselt damit intern von normaler Shell auf Vollbildanwendung. Das Programm öffnet automatisch ein zweites echtes Linux-Terminal. Dort läuft die Anwendung direkt im VT/xterm-Betrieb, sodass zum Beispiel Pfeiltasten, Ctrl-Kombinationen und ESC unmittelbar übertragen werden können. Das ursprüngliche Kommando-Terminal bleibt währenddessen als Kontrollterminal offen. Normale Remote-Eingaben sind dort gesperrt, lokale Befehle funktionieren aber weiterhin. Zum Beispiel: //compose Damit öffnet sich ein eigener Compose-Editor. Dort kann man längere oder mehrzeilige Texte lokal vorbereiten, korrigieren oder per Copy/Paste einfügen und anschließend gesammelt an die aktuell aktive Remote-Sitzung senden. Das funktioniert sowohl in einer normalen Shell, als auch während einer Vollbildanwendung. Wird die Vollbildanwendung beendet, erkennt das Terminalprogramm das Ende des Alternate Screen automatisch, schließt das Application-Terminal und schaltet die Ein-/Ausgabe wieder auf das Kommando-Terminal zurück. Dabei wird der vorherige LINE- oder RAW-Modus wiederhergestellt. Für Sonderfälle gibt es zusätzlich: //raw für direkte Eingabe und //line für den normalen zeilenorientierten Betrieb. Größere Sendungen werden automatisch in WA8DED-Datenblöcke von maximal 256 Byte aufgeteilt. Zum Testen gibt es auf beiden Seiten außerdem lokale Testmöglichkeiten ohne TNC und ohne Funk. Beim Terminalprogramm kann man damit zum Beispiel LINE, Compose, nano/vim, die automatische Vollbilderkennung und den Fensterwechsel komplett lokal ausprobieren. Das Ganze ist ein Experiment, eine echte Linux-Shell möglichst sinnvoll über klassische Packet-Radio-Technik nutzbar zu machen. Gerade bei 1200 Baud AFSK funktioniert die Kombination aus LINE Mode, Compose und automatischer Terminal-Umschaltung bisher erstaunlich angenehm. Die Downloads brauchen noch etwas, bis alles zusammengestellt und dokumentiert ist. Als technische Basis für die TNC-/WA8DED-Anbindung dient übrigens wieder die bekannte GPL-2.0-Software TNT. |