On Mon 26 Oct 2020 at 18:35:45 (+0200), Teemu Likonen wrote: > It seems that ~/.xsession-errors file can still grow to infinity in > size. Sometimes it grows really fast. This is nothing new: we have all > seen it and talked about it. What do you do to maintain this file? > > - Do you just delete it when you happen to notice it's too big? > > - Do you configure some rotating system, perhaps with logrotate(8)? > (Why doesn't Debian have this automatically?) > > - Do you add it to your backup system's ignore list so that a > potentially big file doesn't fill your backups? > > - What do Debian documentation and faq lists teach about maintaining > this potentially huge file? > > - Why is it normal that in Debian (and GNU/Linux) you need to manually > delete a hidden file to keep it from filling your hard disks? > > Note that I'm not necessarily looking for help but different views are > welcome. I'm mostly interested in the phenomenon that there still is > this well-known indefinitely growing file and seemingly no automatic > rotation. > > From my backups I found an ~/.xsession-errors file of size 111 > megabytes. Probably I deleted the file at that point and it started grow > again.
I have a collection of dotfiles that I cope with in different ways. I've always started X from a bash function, and that used to truncate .xsession-errors with >| unless there was an argument, when it would cat a zzzyyyxxx $HOSTNAME $(date +%Y-%m-%d-%H%M%S) marker with >>. Nowadays, however, some of my machines are capable of running more than one instance of X, and I sometimes look back at an earlier log, so I've put the following into .xsession: Displaynumber="$(sed -e 's/://g;' <<<"$DISPLAY")" [ … there's a short sleep in here for an unrelated purpose … ] for j in $HOME/.xsession-errors-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9]; do fuser -v "$j" [ $? -ne 0 ] && gzip "$j" && mv -i "$j.gz" "$HOME/.monitors/xsession/" done Xsessionlogname="$HOME/.xsession-errors-$(date +%s)-$Displaynumber" Xsessionloglink="$HOME/.xsession-log-$Displaynumber" mv -i "$HOME/.xsession-errors" "$Xsessionlogname" rm -f "$Xsessionloglink" ln -s "$Xsessionlogname" "$Xsessionloglink" In the six months since I acquired this AiO as my main machine, $ ls -1 .monitors/xsession/.xsession-errors-* | wc -l 205 $ zcat .monitors/xsession/.xsession-errors-* | wc -c 3734959 $ Because of past troubles, I also log CPU temperature and battery charge where available, and ping the router. The first two rotate themselves at midnight as the filenames include the date; the ping output just overwrites its output file. Finally, I log the fvwm output, but only with one level of backup~. I don't let the system have anything to do with my own logs etc partly because the real /home doesn't get mounted until I get around to unlocking it. (Script improvements always appreciated.) Cheers, David.