An ancient Unix habit: I often still reflexively run 'mesg n' on my (single-user) workstation before starting screen, even though it's been a very long time since I ran talkd and so had any worries about that.
Back in the old days of Unix there was a program called
talk
, which actually made it into the POSIX standard (which I was surprised to discover just now). Talk enabled live two way communication, instead of the one way communication of
write
(which is also a POSIX standard command), but the relevant thing about it was that it generally worked through a daemon,
talkd
. Your Unix server ran
talkd
, and when you ran
talk
it communicated with
talkd
to notify the person you wanted to talk to and then let them connect with you.
Back in the days, this communication was done over IP, not (say) Unix domain sockets. Since it was the old days of a trusting network environment, your
talkd
would accept requests from everyone, not just the local machine (and
talk
would chat across the network), letting anyone on your local network or often the entire Internet try to start up a
talk
session with you. This meant that even on a single user workstation, there was a reason to run '
mesg n
' to avoid having random
talk
notifications overwrite
screen
's output and interfere with it.
(On a multi-user machine, other people on the same machine might try to
write
to you and you'd want to keep that from interfering with your
screen
session. This isn't an issue on a single user workstation.)
It's been a very long time since my workstation ran
talkd
, even for requests from the local network. But my reflexes still want to run that '
mesg n
' before I start
screen
.
(I didn't put '
mesg n
' in my shell .profile for what is ultimately fuzzy reasons .)