Missing /dev/xconsole causes rsyslog to stop as well as all other services

I'm running Ubuntu-10.04.04LTS in Hyper-V environments. I found that SSH, HTTP or any other service else stopped because the rsyslog daemon had died with the message unable to find the /dev/xconsole file.

I fixed it temporarily with the following.

FILE=/dev/xconsole
if [ -e $FILE ]; then
     echo "$FILE exists Carry on!"
else
     mknod -m 640 /dev/xconsole c 1 3
     chown syslog:adm /dev/xconsole
     echo "Created $FILE."
fi

The problem is that I can not get rsyslog daemon to process these 8 lines when I restart the daemon.

Also restarting the daemon removes the /dev/xconsole file and we are back to all service stopped. In addressing this problem I have inserted the if--fi lines after the start and restart conditions in the rsyslog script. The problem is I do not get an echo to stdio. Does someone have an idea on how to make the rsyslog report to stdio when it creates the /dev/xconsole device?


The reason this exists is because Ubuntu Server 12.04 incorrectly assumes you have xterminal installed. It may be a hang over from their desktop OS where it does perhaps exist by default.

Anyway, best thing to do is simply comment it out of /etc/rsyslog.d/50-default.conf as follows:

# daemon.*;mail.*;\
#        news.err;\
#        *.=debug;*.=info;\
#        *.=notice;*.=warn       |/dev/xconsole

And viola, no more error.

BTW. I doubt that was causing it to die though.