beim booten ein Programm unter einem bestimmten user starten (linux)

  • Wie kann ich beim booten unter einem bestimmten user ein Programm starten, das auch auf einer bestimmten console läuft.


    Wie man ein Programm beim booten starte ist mir klar, aber nicht wie das Programm unter einem bestimmten user läuft, ohne sich davor ein loggen zu müssen.

  • also unter einem bestimmten User was laufen zu lassen ist einfach:
    'man su'. Allerdings auf einer bestimmten console?


    Bye...Floyd

  • Zitat

    Original geschrieben von leFloyd
    also unter einem bestimmten User was laufen zu lassen ist einfach:
    'man su'. Allerdings auf einer bestimmten console?


    Bye...Floyd


    Also su kenne ich schon. Aber wenn Linux gebootet wird kommt doch zum schluß ein Login auf der Console, geht das dann trotzdem?


    Das mit der umleitung auf einer Console habe ich mal Probiert, hat mir aber nicht wirklich geholfen.
    Habe folgendes Probiert: " programm > /dev/tty6
    Dann wurde es zwar dort Angezeigt, aber es hat keine Eingabe angenommen.
    Gibts da noch eine andere Möglichkeit, daß die Ausgabe und die Eingabe umgeleitet wird?



    Zitat

    Unter welchem User willst du das Programm denn starten?


    Merlin: unter einem von mir angelegten User.

  • puh, mal wieder reingeguckt... ;)


    also, das login kommt von einem getty (steht in der /etc/inittab). Das Programm kannst du aus einem script starten. Wenn du Ein- und Ausgabe haben willst, dann einfach 'su <user> -c "<programm> </dev/tty6 >/dev/tty6 >&/dev/tty6"'. Das letzte soll die Fehlermeldungen umleiten ;)


    Bye...Floyd

  • Zitat

    Original geschrieben von leFloyd
    puh, mal wieder reingeguckt... ;)


    also, das login kommt von einem getty (steht in der /etc/inittab). Das Programm kannst du aus einem script starten. Wenn du Ein- und Ausgabe haben willst, dann einfach 'su <user> -c "<programm> </dev/tty6 >/dev/tty6 >&/dev/tty6"'. Das letzte soll die Fehlermeldungen umleiten ;)


    Bye...Floyd


    Ich habe es jetzt mal ausprobiert.
    War auf zwei consolen als user eingelogt (/dev/tty2 und /dev/tty6) und habe folgendes dan auf der console 2 eingegeben:
    programm </dev/tty6 >/dev/tty6 >&/dev/tty6


    Dann habe ich auf der console 6 auch diese Programm gehabt, doch bedinen konnte man es nicht. Wenn man irgend einen Buchstaben gedrückt hat man gesehen, daß man auf der console ist und nicht im Programm. Wie läst sich das Programm auf der umgeleiteten console bedienen?


    Ich hätte da noch eine Frage. Habe auch folgendes mal eingegeben:
    programm </dev/tty6 >/dev/tty6 >&/dev/tty6 &
    also das & am schluß um das Programm im Hindergrund zu starten. Somit kam auf der console 2 wieder eine Eingabe Aufforderung und auf der console 6 wurde das Programm angezeigt. Wie aber kann ich ein Programm aus dem Hintergrund wieder in den Fordergrund bringen?
    Ist es möglich jedes Programm im Hintergrund läufen zu lassen oder macht da nicht jedes Programm mit?

  • mmh, da bin ich auch etwas überfragt...


    Also theoretisch ist es möglich jedes Programm im Hintergrund laufen zu lassen - nur bekommst du halt keine Eingaben mehr rein. In den Vordergrund bekommst du es wieder mit 'fg'. In der Shell zeigt er dir auch an welcher Prozess es ist - dann kannst du mit 'fg %1' den ersten in den Vordergrund bringen. Mit <Ctrl-Z> stoppst du ihn und ein anschließendes 'bg' läßt ihn im Hintergrund weiterlaufen. Also wie '<foo> &'.


    Bye...Floyd

  • Ich hatte das auch mal drin, dass er mir automatisch top auf tty8 gestartet hat. Leider is meine Linux-Installation gerade erneuerungsbedürftig ;) Soll heißen ich kanns jetzt nimmer nachschauen oder ausprobieren, afair hatte ich aber ungefähr dasselbe drinstehen ("top >/dev/tty8 </dev/tty8 &") -- vielleicht hilfts was wenn du auf tty6 nicht eingeloggt bist?

  • Zitat

    Original geschrieben von Weizen
    Ich hatte das auch mal drin, dass er mir automatisch top auf tty8 gestartet hat. Leider is meine Linux-Installation gerade erneuerungsbedürftig ;) Soll heißen ich kanns jetzt nimmer nachschauen oder ausprobieren, afair hatte ich aber ungefähr dasselbe drinstehen ("top >/dev/tty8 </dev/tty8 &") -- vielleicht hilfts was wenn du auf tty6 nicht eingeloggt bist?


    Das hatte ich auch schon probiert, aber es hat sich an dem Problem nichts geändert.
    Aber ich habe ich es mit root rechten Probieren müssen, denn als normaler user habe ich keine Berechtigung gehabt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!