Bugzilla – Bug 721660
systemd/agetty: cursor falsely reset/screen not cleared
Last modified: 2013-03-28 00:06:55 UTC
Observed: When exiting a tty[1-6] shell, systemd-34-9.1 does set the cursor to the top-left corner, no screen cleared, and then starts the new agetty, thus interspersing the new session with output from the old. Expected: either 1. do not set the cursor to the top-level, like it was traditionally done with sysvinit and SUSE's configuration (mingetty --noclear), or, 2. clear the screen when resetting the cursor
The new agetty also has the option --noclear .. check the manual page IMHO the generator for the tty's should use this option for tty1
there is no generator for tty (only for serial one), we just use basic symlink (and I'd prefer we stay that way). I'm not a tty specialist, so I'm not sure what we should send or not send to tty, when deallocating it. Werner, could you have a look at http://cgit.freedesktop.org/systemd/tree/src/util.c ? Thanks.
This is fixed in systemd-37. From the observed effect, the \033[2J code must have been absent in v34.
IMHO the generator should not use a symlink on tty1 but a service unit ... or the service unit template should have a boolean on tty1 to add the option --noclear to the agetty
*** Bug 725252 has been marked as a duplicate of this bug. ***
(In reply to comment #4) > This is fixed in systemd-37. From the observed effect, the \033[2J code must > have been absent in v34. Ok, so this bug is no longer present in 12.1/factory.. ? if it is reopen.
The underlying systemd bugs are fixed, but {clearing the screen + reset of cursor pointer} on tty1 is undesired.
could you test the solution from bug 725252 ?
Problem continues in 12.2M1.
sorry, I was linking to the wrong bug number. Could you test : 1. copy /lib/systemd/system/getty@.service to /etc/systemd/system/getty.target.wants (this will override the existing symlink there) 2. edit copied file by adding --noclear on the agetty command-line 3. reboot
Looking in /etc/systemd/system/getty.target.wants/ I see only a symlink named getty@tty1.service, a symlink to /lib/systemd/system/getty@.service. Is the 'ExecStart=-/sbin/agetty...' line the line you mean to change? It's not clear to me exactly what to do.
Remove the getty@tty1 symlink and recreate the getty@tty1 object as a regular file with the contents of the previous symlink, and adding --noclear.
/etc/systemd/system/getty.target.wants/getty@tty1.service -rw-r--r-- 1295 now contains: ExecStart=-/sbin/agetty %I 38400 --noclear but there was no apparent impact on tty1 during boot, still a mess. Does that char 11 "-" actually belong there?
I'm working on a solution, based on Werner suggestion to use a generator, but this requires a fix at another level in systemd, which is under review.
The above instructions do not have the desired effect in 12.3M1.
Yeah, in 12.2 and 12.3M1, systemd always clears the screen, so --noclear has no effect. >:-(
What is working for me, even though noclear is applied to all ttys, is to set TTYVTDisallocate=no in /usr/lib/systemd/system/getty@.service. Better to not clear any ttys than to clear my boot messages off of tty1.
TTYVTDisallocate it is. *** This bug has been marked as a duplicate of bug 804158 ***
duplication reversed. long history here, and 6 CCs.
*** Bug 804158 has been marked as a duplicate of this bug. ***
Resolved for me. Any counter-voices?