Text auf CLI-Desktop ausgeben

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • hallo erst mal!

    Habe meine Projekte jetzt so weit fertig, jedoch möchte ich noch eine Funktion implementieren.


    Folgender Aufbau:

    Ich starte meinen Raspberry pi 4 im CLI-Modus (Raspbian). (so dass beim Boot nicht der Desktop kommt, sondern die Kommandozeile, hoffe ihr wisst was ich meine). Raspberry ist über HDMI an meinen Fernseher angeschlossen, so dass ich die Kommandozeile sehe.

    Anschließend führt er ein paar Befehle über NODE-RED aus (diese benötigen keine graphischen Anzeigen, das heißt die Kommandozeile bleibt leer & unverändert)


    Und hier meine Frage: ist es möglich auf Text in der Kommandozeile anzuzeigen/zu empfangen?


    Hoffe der Beitrag ist verständlich formuliert, bin leider noch am Anfang, was Raspberry pi und linux betrifft.


    lg

    • Best Answer

    Natürlich geht das.


    Gib mal im Terminal, auf dem Du die Ausgabe sehen willst, tty ein. Es verrät Dir seinen Namen. Und weil alles unter Linux eine Datei ist, kannst Du (das Recht dazu vorausgesetzt) auch darauf schreiben. Als Beispiel das Schreiben von einem anderen Terminal aus:

    Code
    echo Hallo >> /dev/<Name_des_Terminals>

    Wobei Du bitte den Namen wie oben mit tty ermittelt ohne spitze Klammern eingibst.

  • Wenn kein Eingabeprompt ">" mehr am Terminal sichtbar ist, der Cursorunterstrich nur mehr blinkt und keine Tastatureingabe möglich scheint, hat "er" (wer immer das auch sein mag) das Terminal gewechselt.


    Du kannst aber noch immer mit Ctrl-Alt-F3 (F4,F5 usw.) auf ein freies TTY-Gerät (mit einer Login Shell) umschalten und mit z.B. < ps aux | more > die laufenden Prozesse überprüfen, um den Übeltäter zu finden.


    Wenn aber das Terminal benutzber bleibt, dann hat "er" die Programme, deren Ausgabe Du sehen willst, in einer nicht interaktiven Shell gestartet, die allerhöchstens ins Logfile, oder auf das /dev/null seine Ausgaben schreibt..


    Servus !

    RTFM = Read The Factory Manual, oder so

  • nur mehr blinkt und keine Tastatureingabe möglich scheint, hat "er" (wer immer das ...

    Ausgabe Du sehen willst, in einer nicht interaktiven Shell gestartet, die

    Da node-red durchaus als service laufen kann (wovon ich mal ausgehe), hat „er“ wohl gar nichts gewechselt. Und dessen Ausgaben, so es denn welche gibt, werden sich sogar umleiten lassen. Mit mehr oder weniger Aufwand. Interaktion benötigt node-red lokal gar nicht (imho).

  • Hallo,


    Quote

    Und hier meine Frage: ist es möglich auf Text in der Kommandozeile anzuzeigen/zu empfangen?

    Eigentlich will man das gar nicht. Davon ausgehend, dass node-red im Hintergrund läuft, ist das bewusst so, d.h. es ist keine Interaktion (inkl. Textausgabe) mit dem Nutzer / Terminal gewünscht. Wenn "wie von Geisterhand" Text im Terminal erscheint, in dem du aktiv nichts gestartet hast, dann ist das schon eher schräg.

    Wenn node-red mit dir sprechen soll wäre der bessere Weg, dass node-red in eine Log-Datei schreibt, die du dann Lesen oder verfolgen (z.B. mit `tail -f irgendwas.log`) kannst.


    Gruß, noisefloor

  • Natürlich geht das.


    Gib mal im Terminal, auf dem Du die Ausgabe sehen willst, tty ein. Es verrät Dir seinen Namen. Und weil alles unter Linux eine Datei ist, kannst Du (das Recht dazu vorausgesetzt) auch darauf schreiben. Als Beispiel das Schreiben von einem anderen Terminal aus:

    Code
    echo Hallo >> /dev/<Name_des_Terminals>

    Wobei Du bitte den Namen wie oben mit tty ermittelt ohne spitze Klammern eingibst.

    perfekt genau das wollte ich. einfach und schnell. danke :)


    edit: hierbei geht es mir nur darum einige kurze infos auszugeben, z.B.: wenn das Backup fertig ist oder dgl.