Skip to main content
Topic: 'leaking messages' while booting (Read 184 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

'leaking messages' while booting

Hello,

I just wanted to ask if there is some progress with the 'leaking messages' problem, we had here.

I still have the messages written on the screen, coming from different programs. (php,mysql,network manager..) on PC and laptop, for example when writing my keychain keyphrase.. (before the startx command  (no login manager in use))

Don't know why this happens, or what I could try to solve the problem.




Re: 'leaking messages' while booting

Reply #2
Add "console=tty2" (or 3 - 6) to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub then run
# /bin/sh /usr/bin/updategrub
Goodbye all console messages! (ctrl-alt-F2 to see where they went, (if you set noclear on that tty)  ctrl-alt-F7 to get back to the desktop)
A few processes might still write to /dev/tty1 instead of /dev/console but hopefully it won't be a problem.
Boot messages are written to /dev/console, this is mapped to /dev/tty1 by the kernel as default - the screen you see at boot. But if you send /dev/console messages to another tty they appear there instead. True for Runit and OpenRc too.

Re: 'leaking messages' while booting

Reply #3
yes, I am on runit and have a syslog daemon running and another one..

Code: [Select]
run: /run/runit/service/socklog: (pid 1417) 24576s; run: log: (pid 1409) 24576s
run: /run/runit/service/syslog-ng: (pid 1398) 24576s

i guess one would be enough.. :-/

Re: 'leaking messages' while booting

Reply #4
Code: [Select]
$ tty
/dev/pts/4
(In another terminal tab or window)
# echo "hi there" >/dev/pts/4
> result in the original terminal:
$ hi there

# echo "hi there" >/dev/console
# echo "hi there" >/dev/tty1
(etc)
If messages are sent to /dev/console which is usually /dev/tty1 then they go there. So either you send them somewhere else, either globally or for a particular process, another tty, /dev/null, /dev/log perhaps, or you  could (as a user) change the login to another tty, usually if you use startx with autologin then you set it up to login on tty7 automatically and then it switches to tty7 for the graphical session. This can be done on Runit and OpenRC. Probably you could arrange to have the login switch to another tty without logging in. But I guess it would be helpful to silence the noisy process so you could login in tty1 without users having to deal with it individually.  :D

Re: 'leaking messages' while booting

Reply #5
okay, thanks for the explanation - I didn't know that.

But... isn't it removal of symptoms, instead of fixing the root cause?

just thought something was 'leaking' or so..
..anyway..  thanks for the tipp -- I'll try that.

Re: 'leaking messages' while booting

Reply #6
Yes, the real fix is to get mysql (and the others) to write somewhere else - the system log ideally. Most setups give some boot messages then you can use the login prompt on tty1. It might be possible to run some with a "--quiet" arg or similar too. It would require modifying the runit service, perhaps adding a log script, as Konimex originally suggested. You might be able to do that yourself and then in /etc/pacman.conf add:
NoUpgrade   = etc/...filename(s)   (notice the subtle but important lack of the leading "/" !!!)  ;D
so pacman won't overwrite your changed file. Possibly if anyone came up with a good solution and posted it here it would be used. I'm not using runit so can't give exact details on that though. Another possible workaround for now is to press ALT Fx where x is 2-7 when you get to the login prompt and login on another tty instead. It must be very annoying when trying to log in like that, and not all users would see the problem if they had a graphical dm installed.

Re: 'leaking messages' while booting

Reply #7
ok..

I don't know much about this topic.. so..
Just one more thing to show  why it felt wrong: I believe even in visudo editor, during installation, some messages were written over the screen.. that was quite disturbing..
 
i have attached a photo from my pc when it is ready with booting and waits for login (username).

thanks again

Re: 'leaking messages' while booting

Reply #8
Add "console=/dev/tty2" (or 3 - 6) to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub then run
# /bin/sh /usr/bin/updategrub

What side effects would
Code: [Select]
console=/var/log/somebsfile.log
or even
Code: [Select]
console=/dev/null
have?

 

Re: 'leaking messages' while booting

Reply #9
Good question! Changing it to console=/dev/null results in the boot hanging at initrd loading and then pressing and holding the power button to do a hard shutdown. I edited the command line at the grub menu to test this so it would only affect one boot rather than editing /etc/default/grub for a permanent change. The console should be a tty.
This also pointed out my error above (which I now edited to correct) in that I had written console=/dev/tty2 which also does not boot, when in fact it should be console=tty2 on the kernel command line, and also you need to set noclear for the tty used as the console for the messages to remain on it after boot if this is not done by default, it isn't in OpenRC but used to be in Void runit, I'm not sure what Artix runit does in that respect.