I installed KDE Plasma and LightDM on Arch Linux. Then, when shutting down, the message display was disrupted. Apparently, this occurs in Linux distributions that employ Systemd.

How can I fix this phenomenon?

Image during shutdown

  • The problem is multi-factor. While starting up and shutting down, the display modes may change, Screen resolutions (both graphical and text), cursor positioning as well as how to handle LF, CR and CR+LF, frame buffers, etc. Eventually, the output detects the changes and adjusts itself, but does not go back to adjust anything that was already output. For example, right after shutting down LightDM, the output resets to "nomal". And I see someone else already posted an answer for this, so read that answer. But understanding the base problem might be helpful for others.
    – C. M.
    Jul 11, 2021 at 22:06

2 Answers 2


When systemd prints its output, it justifies the lines acording to the current screen resolution.

When lightdm shuts down, the screen resolution reverts to some default. systemd already printed those previous lines so it makes sense that it doesn't go backwards and try to clear the screen then reprint things with the new resolution every time the resolution changes.

To solve this you could figure out, you would need to set the default TTY resolution to match the resolution of your X (or wayland) server.

I'll also point out that spending effort to improve the look of shutdown text is pretty pedantic. These messages aren't intended to be on the screen for much longer, and if a service shutdown is hanging, it'll get printed in your current resolution, meaning anything important should be readable. If your journal is persistent (is stored in /var/ and isn't deleted between boots), then you'll be relieved to know that the journal is not stored in the same way it was displayed. In a case where you've configured the journal to be persistent, you can journalctl -b 1 to see the messages properly justified from the previous boot. That may be important to you if you feel it is essential to read these messages and decided they were unreadable.

  • I have changed the GRUB settings and changed the TTY resolution. This still does not solve the problem. What should I do?
    – user435042
    Oct 1, 2020 at 5:12

DISCLAIMER: This solution is intended for users running systemd and LightDM. If your setup is different, you might have to modify the following instructions to suit your system. Skip to the SOLUTION section if you don't feel like reading all the background information regarding the misaligned shutdown messages.

OVERVIEW: I spent a long time trying to solve this problem and was only able to fix it a few days ago. It most likely HAS NOTHING TO DO WITH YOUR SCREEN RESOLUTION, but instead is caused by one of your applications (possibly LightDM) formatting your terminal/tty incorrectly. At some point during startup/shutdown, something changes your tty so that new lines (NL) don't receive an automatic carriage return (CR) as they normally do. In English, this means that if you pressed Enter on your keyboard, your text cursor would move down one line, BUT NOT REALIGN ITSELF TO THE LEFT SIDE OF THE TERMINAL WINDOW (you can see this in the picture you provided, https://i.stack.imgur.com/oARSo.jpg). This is known as a "staircase effect" and, from what I've read, is a fairly common issue on Linux. The core code to resolve said problem is stty opost onlcr, but using it can be a major pain if you don't know exactly where to put it in systemd. If you apply the command too early or too late, you'll just be formatting text that is already correctly displayed. ONE SOLUTION is to create a CUSTOM SYSTEMD SERVICE to adjust tty output properly. You can have the service restart itself occasionally so you don't have to pinpoint the precise location where stty opost onlcr should go.


#Find out what tty instance your Desktop Environment (e.g. Gnome, KDE Plasma, etc.) is running. Typically it's tty1, but since you're using LightDM, it should actually be tty7. You need this information when you create your systemd service in Step 2.

  1. Run who in your terminal. It should produce output like:

user-name tty7 2021-02-08 12:11 (:0)

#Create a custom systemd service as root in /etc/systemd/system/. Under the ExecStart= section, include the tty information you found in Step 1. Name the service anything you want, such as staircase-effect.service.

  1. Run sudo nano /etc/systemd/system/staircase-effect.service in your terminal. Here is a sample unit to try with important options explained afterwards.

Description=Fix tty staircase effect
Before=halt.target shutdown.target reboot.target
[email protected]

ExecStart=/bin/stty -F /dev/tty7 opost onlcr


StartLimitIntervalSec=0 - Setting this option to "0" lets systemd restart your service an infinite amount of times without returning any errors.

Type=simple - It's better to use "simple" than "oneshot" with this service because it runs in a never-ending loop. AFAIK, "oneshot" prevents other services from running at the same time it is, which would be undesireable in this situation.

ExecStart=/bin/stty -F /dev/tty7 opost onlcr - This line is what actually solves the staircase messages. Make sure to put in the correct tty number you got from the who command in Step 1.

Restart=always - You want this service to repeat itself UNLESS you know exactly where to place it in your startup/shutdown procedure. The stty command is no good if you run it when text is already displayed properly.

RestartSec=30 - Technically, this option is a matter of personal preference. You're going to want your service to restart itself frequently enough to solve the problem, but not so much so that it becomes its own nuisance.

#Enable your new service as root with systemctl.

  1. Run sudo systemctl enable staircase-effect.service in your terminal. Then reboot to see if the fix works.


#The default LightDM service /usr/lib/systemd/system/lightdm.service conflicts with [email protected] unnecessarily (https://bugs.archlinux.org/task/49527?opened=22169&status%5B0%5D=). I'm not sure if this is related to the staircase messages or not, but it probably won't hurt to remove the [email protected] line from the unit file.

  1. Run sudo systemctl edit --full lightdm.service in your terminal. Then either remove or comment out the [email protected] line to stop LightDM from interfering with your standard getty service. reboot to see the changes.


Alternative Solution 1 (this is where I got the main stty command from)

Alternative Solution 2 (for users running System V and Debian)

You must log in to answer this question.