tail über ttys starten

klaus

Active Member
Ich möchte das auf ttyv7 immer das Programm tail läuft und immer eine Datei anzeigt. Es ist ein bestimmtes Log-Datei.

Deswegen habe ich den Eintrag in /etc/ttys
Code:
ttyv7   "/usr/libexec/getty Pc"         cons25l1        on  secure

durch folgenden ersetzt
Code:
ttyv7 "/usr/bin/tail -F /var/log/xxxx.log"            cons25l1        on  secure

und einen kill -HUP 1 ausgeführt.

Anstatt das Protokoll bekomme folgende Meldungen:

Code:
init: getty repeating too quickly on port /dev/ttyv7, sleeping 30 secs

Was mache ich falsch?
 
Vielleicht muss der entsprechende getty Prozess noch gekillt werden. Log dich doch einfach mal ein und wieder aus.
 
Das hat auch nicht geholfen, hatte schon den Rechner mal neugestartet , der Fehler ist leider gleich.
 
Das wird und kann so nicht gehen. Direkt auf einer TTY, außerhalb einer Sitzung, laufende Prozesse (ich weiß nicht, wie ich es besser schreiben soll) sind inaktiv. Sie machen 99,99% der Zeit nichts, sie warten nur auf die Verbindung um dann ein einziges Mal in Aktion zu treten. Sie rufen zum Beispiel login(1) auf, schlafen dann gemütlich weiter. Dein tail(1) erzeugt aber ständig Aktivität. Dann mag die TTY nicht, init(8) unterbricht das Kommando daher. Ich in deiner Stelle würde einen Autologin machen und dem einloggenden Nutzer ein Script als Shell geben, welches tail(1) startet.
 
Doofe Frage, aber falls das über syslog läuft, warum nicht einfach direct aufs tty loggen? Oder nach syslog umbiegen und dann aufs tty?
 
Das hatte ich gar nicht bedacht. Wäre natürlich noch deutlich eleganter.
 
kazcor, danke für dein Tipp.

Ich benutze syslog-ng und da kann ich auch auf tty umleiten. Was muss ich jetzt in /etc/ttys schreiben, damit dieser login nicht auftaucht. Wenn Meldungen auch reinkommen, sind die immer komisch umgebrochen.
 
Ändern in
Code:
ttyv7 "/usr/libexec/getty Pc" cons25l1 off secure
sollte reichen, sonst einfach auskommentieren. Mit den Umbrüchen, müsstest Du mal ein Beispiel geben - mit syslog aus dem Basissystem tut das hier problemlos.
 
Wenn ich den auf off mache, dann kann ich nicht mehr auf die ttyv wechseln, dann ist es aus.

So kommt es auf die die tty
Code:
                                       May 29 12:33:00 <cron.info> pctest /usr/sbin/cron[4600]: (oper
ator) CMD (/usr/libexec/save-entropy)
                                     May 29 12:35:00 <cron.info> pctest /usr/sbin/cron[4667]: (root)
CMD (/usr/libexec/atrun)
                        May 29 12:40:00 <cron.info> pctest /usr/sbin/cron[4807]: (root) CMD (/usr/lib
exec/atrun)
           May 29 12:40:52 <syslog.info> pctest syslog-ng[3918]: Log statistics; processed=\'center(q
ueued)=67\', processed=\'center(received)=21\', processed=\'destination(userlog)=2\', processed=\'de
stination(debuglog)=0\', processed=\'destination(tty7)=2\', processed=\'destination(xferlog)=0\', pr
ocessed=\'destination(tty6)=21\', processed=\'destination(ntplog)=0\', processed=\'destination(conso
le)=2\', processed=\'destination(authpriv)=5\', processed=\'destination(messages)=3\', processed=\'d
estination(all)=21\', processed=\'destination(allusers)=0\', processed=\'destination(cron)=9\', proc
essed=\'destination(maillog)=0\', processed=\'destination(authlog)=0\', processed=\'destination(lpd-
errs)=0\', processed=\'destination(security)=0\', processed=\'destination(consolelog)=2\', processed
=\'source(src)=21\'
                   May 29 12:44:00 <cron.info> pctest /usr/sbin/cron[4942]: (operator) CMD (/usr/libe
xec/save-entropy)
                 May 29 12:45:00 <cron.info> pctest /usr/sbin/cron[4982]: (root) CMD (/usr/libexec/at
run)

Bin schon im gettytab gucken, ich denke, da muss ich was ändern.
 
Echt? Bei mir ist das erste Terminal deaktiviert und ich kann jederzeit da drauf um mir die Kernel-Nachrichten anzusehen. Das kommt mir jetzt doch seltsam vor.
 
Zurück
Oben