Linux telnetd als Programminterface

Gast #5065662
Lesenswert?

Moin,

ich hab ein Embedded Linux Gerät in einem Roboter im Einsatz. Mein 
Programm (UI mit ncurses) darauf wird automatisch gestartet. Wenn ich 
die Ausgabe des Programms sehen will, muss ich es abbrechen und im 
Terminal neu starten.

Gibt es eine Möglichkeit, den telnetd oder vergleichbares so zu 
benutzen, dass er das UI standartmäßig z. B. auf Port 3000 zur Verfügung 
stellt? Die "normale" telnetd-Instanz mit Bash auf Port 23 soll dabei 
unangetastet bleiben.
Gast #5065737
Lesenswert?

Peter II schrieb:
> Was ist wenn das "Telnet"-Fenster eine
> andere Größe/Auflösung wie die lokale Konsole hat

Den Teil machen Telnet-Client, telnetd und ncurses unter sich aus, meine 
ich. Evtuell müsste ich ein paar Umgebungsvariablen setzen?
Normalerweise benutze ich die Schnittstelle auch über Telnet, nur dass 
ich mich erstmal am System anmelde und dann das Programm aus der KOnsole 
starte...
Gast #5065770
Lesenswert?

Um die Antwort zusammenzufassen:

im "rc.local" o.Ä. startest du dein ncurses-Programm mit
"screen -dmS skynet /bin/skynet.exe"

Wenn du per Telnet ranwillst:
screen -r syknet

Wenn eine zweite Telnet-Verbindung ranwill
screen -rx skynet (kann lesen und schreiben, aber die Windowsize nicht 
ändern)

Wenn eine weitere Verbindung ranwill, aber exklusiv:
screen -rd skynet
(das schmeißt die anderen dann raus)

Wenn das Programm auch auf der Konsole sichtbar sein soll:
den initialen Screen-Aufruf nicht "detachen", also ohne "-dm"

Wenn du was anderes willst/brauchst: Geht. "man screen".

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren