Programm auf erster Konsole zeigen

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
GregorS
Beiträge: 962
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg

Programm auf erster Konsole zeigen

Beitrag von GregorS » 01.01.2017 15:11:16

Hallo allerseits!

Vorweg: Gutes Neues!

Ich habe einen Rechner (RPi 3), der kürzlich einen Monitor bekommen hat. Jetzt möchte ich, dass auf der ersten Konsole nicht der gewohnte Login-Prompt zu sehen ist, sondern htop.

Mit Systemd gibt es wohl keine /etc/inittab mehr. Dann könnte ich das recht einfach lösen. Wie schaffe ich jetzt, das Gewünschte zu erreichen?

Vielen Dank vorweg!

Gregor
Ohne Computer hätte ich andere Probleme. Außerdem versichere ich, dass ich mindestens so alt bin wie 'oldstable'.

rendegast
Beiträge: 14272
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Programm auf erster Konsole zeigen

Beitrag von rendegast » 01.01.2017 18:22:45

Wohl eine modifizierte getty@.service

Code: Alles auswählen

Alias=getty.target.wants/getty@tty2.service
unterzubringen in /etc/systemd/system/ und gegebenenfalls zu (re)aktivieren.
Wohl in logind.conf

Code: Alles auswählen

NAutoVTs=5
Damit sollte tty1 frei sein.

Eine neue unit, Vorlage ist getty@.service,
die das htop auf tty1 startet.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
GregorS
Beiträge: 962
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg

Re: Programm auf erster Konsole zeigen

Beitrag von GregorS » 01.01.2017 19:15:20

rendegast hat geschrieben:...
Vielen Dank für Deine Antwort!

Das ist jedoch das erste Mal, dass ich mit systemd zu tun habe. Könntest Du das so erklären, dass es ein Idiot versteht?

Gruß

Gregor
Ohne Computer hätte ich andere Probleme. Außerdem versichere ich, dass ich mindestens so alt bin wie 'oldstable'.

rendegast
Beiträge: 14272
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Programm auf erster Konsole zeigen

Beitrag von rendegast » 02.01.2017 02:57:41

Am besten, das folgende per ssh-Sitzung oder vom xterm der grafischen Session.
Beim Jonglieren mit den getty sollte nicht auf den tty eingelogt sein.

Einen Überblick

Code: Alles auswählen

systemctl  |  grep getty

Code: Alles auswählen

systemctl stop getty@tty#.service getty@.service 
systemctl disable getty@.service 
Arbeitskopie unter /etc/systemd/ anlegen

Code: Alles auswählen

cp /lib/systemd/system/getty@.service  /etc/systemd/system
und entsprechende Änderungen vornehmen, s.o. Dann wieder aktivieren

Code: Alles auswählen

# systemctl daemon-reload
# systemctl enable getty@.service
Created symlink /etc/systemd/system/getty.target.wants/getty@tty2.service -> /etc/systemd/system/getty@.service.
(Beachte, das Target ist jetzt die Datei aus /etc/systemd/)
(Bei mir ist auch ohne 'daemon-reload' die Datei aus /etc/systemd verwendet,
aber zwischendurch 'daemon-reexec'/'daemon-reload' eingestreut schadet nicht.)


Code: Alles auswählen

cp /lib/systemd/system/getty@.service  /etc/systemd/system/zz-mein-htop.service
die wohl wichtigste Änderung ist was in der Art:

Code: Alles auswählen

[Service]
# the VT is cleared by TTYVTDisallocate
#ExecStart=-/sbin/agetty --noclear %I $TERM
#ExecStart=-/bin/sh -c "/usr/bin/htop"
ExecStart=/bin/sh -c "/usr/bin/htop"
TTYPath=/dev/tty1
noch 'enable' und ein Probestart der Unit.

Dieser skizzierte Weg funktioniert hier NICHT!?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
GregorS
Beiträge: 962
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg

Re: Programm auf erster Konsole zeigen

Beitrag von GregorS » 02.01.2017 16:53:13

rendegast hat geschrieben:Dieser skizzierte Weg funktioniert hier NICHT!?
Hier auch nicht. Ich muss mich wohl doch mal ein wenig mit systemd befassen. Bäh.

Gruß

Gregor
Ohne Computer hätte ich andere Probleme. Außerdem versichere ich, dass ich mindestens so alt bin wie 'oldstable'.

Antworten