systemd Service Output wird nicht angezeigt

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
leon20v
Beiträge: 6
Registriert: 28.02.2013 15:21:09

systemd Service Output wird nicht angezeigt

Beitrag von leon20v » 28.02.2013 15:30:06

Hallo zusammen,

ich wende mich an euch weil ich nicht mehr weiter komme.

Ich habe hier ein embedded Linux auf Debian basis ca. 20mb groß. Das ganze ist mit einem Nullmodemkabel an der seriellen Schnittstelle mit meinem Rechner verbunden. Zugreifen tu ich darauf mit putty.
Ich hab für den Autostart nur systemctl zur verfügung.

Ich hab also ein Service welcher ein Script mit Benutzerinteraktion vor dem Login ausführt, geschrieben.

Ich wollt einfach nur ein echo "hallo welt" ausgeben, dies hat nicht funktioniert. Wenn ich allerdings das echo in eine Datei umleite funktioniert das. Der Service wird somit richtig ausgeführt und das Skript aufgerufen.

Nur warum bekomme ich das nirgens angezeigt? Muss ich da irgendwas umstellen? Ich möchte auch mit read Benutzereingaben lesen.

reba
Beiträge: 536
Registriert: 27.06.2011 08:59:37

Re: systemd Service Output wird nicht angezeigt

Beitrag von reba » 28.02.2013 15:38:54

Code: Alles auswählen

man stdout

Code: Alles auswählen

man stdio

leon20v
Beiträge: 6
Registriert: 28.02.2013 15:21:09

Re: systemd Service Output wird nicht angezeigt

Beitrag von leon20v » 28.02.2013 15:42:57

bitte? :(

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: systemd Service Output wird nicht angezeigt

Beitrag von Cae » 28.02.2013 15:49:44

Naja, das was du ausgibst, wird wohl irgendwohin weg geloggt. Wo soll es deiner Meinung nach erscheinen?

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

leon20v
Beiträge: 6
Registriert: 28.02.2013 15:21:09

Re: systemd Service Output wird nicht angezeigt

Beitrag von leon20v » 28.02.2013 15:57:53

Schön wäre es, wenn es erst mal im Putty zu sehen wäre, wie kann ich das ändern dass es weg geloggt wird? wo sind die einstellungen dafür zu findne?

reba
Beiträge: 536
Registriert: 27.06.2011 08:59:37

Re: systemd Service Output wird nicht angezeigt

Beitrag von reba » 28.02.2013 16:08:54

leon20v hat geschrieben:bitte? :(
https://de.wikipedia.org/wiki/Manpage
https://de.wikipedia.org/wiki/Standard- ... 8stdout.29
Wenn du kein Ziel angibst, schreibt dein script seine Ausgaben auf das Gerät, das in stdout definiert ist.
Indeinem Fall ist das vermutlich eine Konsole in deinem eingebetteten System und nicht dein putty-Fenster.
Wenn du einen Dateinamen angibst, wird die Ausgabe in diese Datei umgeleitet.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: systemd Service Output wird nicht angezeigt

Beitrag von Cae » 28.02.2013 16:09:55

Na dann mach' halt kein init-Skript draus. Die sind eigentlich ausschliesslich dazu gedacht, ohne Benutzeraktivitaet automatisch irgendwelche Dienste zu starten. Wie soll der Zugriff aussehen? Soll sich ein bestimmter Benutzer ueber SSH (das wirst du mit "Putty" meinen, welches ein SSH-Client ist) einloggen und anschliessend eine eigene Oberflaeche haben? Dann tu' dein Programm nach /usr/local/bin und in /etc/shells und verpasse ihm sie als Login-Shell.
leon20v hat geschrieben:wie kann ich das ändern dass es weg geloggt wird? wo sind die einstellungen dafür zu findne?
Musst du selbst wissen, ich kenne kein 20 MB grosses Debian. Wenn du systemd sagst, wuerde ich mal in /etc/systemd* gucken.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

leon20v
Beiträge: 6
Registriert: 28.02.2013 15:21:09

Re: systemd Service Output wird nicht angezeigt

Beitrag von leon20v » 28.02.2013 16:16:27

Hmm ich bin leider kein Linux crack und verstehe das alles noch nicht so gut. Ich hab noch ein anderes Problem mit TTY aber dazu später mal :)

Also es ist eine Display Steuerung mit einem embedded Linux das eben Debian ähnlich ist aber absolut kastriert.

Das Script soll noch vor dem Login ausgeführt werden. Dieses Script liest nämlich diverse Schalter aus und je nach Schaltereinstellung kann man dann bestimmte sachen festlegen. Das funktioniert soweit bereits.

Das Script sollte jetzt vor dem Login ausgeführt werden. Somit fällt dein vorschlag schonmal weg. Was ich mit dem manual von stdout soll weiß ich jetzt auch nciht so wirklich :(

Ich hab schon Lösungen mit update-rc.d gesehen, doch das gibts bei mir garnicht.


In /etc/systemd* sind schon configs aber nirgends eine einstellung die die Ausgabe regeln würde

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: systemd Service Output wird nicht angezeigt

Beitrag von Cae » 28.02.2013 16:58:43

leon20v hat geschrieben:Das Script soll noch vor dem Login ausgeführt werden.
Wohin soll die Ausgabe gehen? Haengt da irgendwo ein Bildschirm dran oder soll das ueber SSH angezeigt werden? Wobei, oben im Post steht was von serieller Schnittstelle, da kann man einfach so reinschreiben. Ist allerdings fraglich, ob man das will, z.B. wenn man gerade ein getty drauf hat und eine Shell, will man eher nicht irgendwelche Meldungen im clientseitigen Terminal stehen haben.

Wie dem auch sei, du kannst die seriellen TTYs mal durchtesten (gibt normalerweise mehrere, darunter auch nicht verdrahtete) mit

Code: Alles auswählen

# for dev in /dev/ttyS*; do echo "$dev" >"$dev"; done
-- da sollte auf dem gerade angeschlossenen Geraet der Devicenamen geschrieben werden.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

leon20v
Beiträge: 6
Registriert: 28.02.2013 15:21:09

Re: systemd Service Output wird nicht angezeigt

Beitrag von leon20v » 28.02.2013 17:06:18

Ja ich hab ein Display angeschlossen, aber über den bekomm ich schonmal garnichts ausgegeben, warum auch immer. Das hat irgendjemand mal abgestellt zwecks tests und keiner weiß wer und wie das gemacht worden ist. Nur Programme die direkt an den Framebuffer gehen, werden angezeigt. (z.b. mit QT kompiliertes Testprogramm)

Danke für deine Schleife. tty mit S hab ich garkeine, hab ich auch schon sehr oft gelesen, aber ich hab sowas irgendwie nicht.

Meine beiden heißen:
/dev/tty
/dev/ttyPSC0

Wenn ich aber mit "tee" in die tty schreibe wird auf meinem Display nix angezeigt nur an der seriellen Schnittstelle die ich eben mit Putty anzeige.



Aber wie mache ich jetzt, dass mein Script beim Autostart vor dem Login ausgeführt und auch angezeigt wird?

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: systemd Service Output wird nicht angezeigt

Beitrag von Cae » 28.02.2013 17:20:51

leon20v hat geschrieben:Das hat irgendjemand mal abgestellt zwecks tests und keiner weiß wer und wie das gemacht worden ist.
Sollte in der /etc/inittab geschehen sein. Guck' mal, ob bei

Code: Alles auswählen

# echo test >/dev/tty1 #und ggf.
# chvt 1
etwas auf dem Display zu sehen ist.

Das serielle TTY kannst du vergessen, das ist was komplett anderes.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

leon20v
Beiträge: 6
Registriert: 28.02.2013 15:21:09

Re: systemd Service Output wird nicht angezeigt

Beitrag von leon20v » 01.03.2013 08:06:51

nochmal danke für deine antwort,

auf dem display ist leider nichts zu sehen wenn ich diese Befehle ausführe. Es schaltet sich nicht mal an :(
Es schaltet sich meistens nur an wenn ich was auf den Framebuffer schreibe.

Theoretisch brauch ich doch ein TTY das auf den Framebuffer die Konsole schreibt?

Ich hab auf meinem ganzen system kein "inittab" :(

Antworten