Really large .xsession-errors

Post your bugs here.
User avatar
ilu
Posts: 2353
Joined: 09 Oct 2013 12:45

Really large .xsession-errors

Postby ilu » 02 Oct 2018 17:07

I'd like to report something that might become a serious problem on some systems:

This source http://www.daniloaz.com/en/how-to-preve ... huge-size/ says there should be a mechanism in /etc/X11/Xsession to truncate or start a new one on every reboot but I can see on my system that there isn't. I reboot every day but the last .xsession-errors grew up to 7,7 GB when I deleted it. I remember I had more than 15 GB in the past due to an amok running app. I ran out of space because of my special setup but the ever-growing .xsession-errors could really screw up systems with a one-partition-only setup. There should be a mechanism to regularly truncate .xsession-errors.

I'm not good at scripting so I might read /etc/X11/Xsession wrong but I don't see any truncating mechanism there.

Footnote: One of the reasons you should never have /home, the standard location of that file, on your root partition. Especially if you never reboot. It's a long known problem.

For anybody affected reading this from the world wide web - ignore other peoples rants about rm'ing, chown'ing or hacking and slashing at that file - I'm posting the solution we came up with here to spare you to read through our long discussion:

~/bin/xsession-logcontrol

Code: Select all

#!/bin/bash

# Truncate .xsession-errors if larger than n MB (MAX_MB)
# Backup last n lines (LEAVE_LINES: set to 0 to skip backup)
# Check every n minutes (INTERVAL_MIN)

MAX_MB=500
LEAVE_LINES=10000
INTERVAL_MIN=60
LOG="$HOME/.xsession-errors"

while true; do
    LOG_BYTES=$(stat --printf=%s "$LOG")
    MAX_BYTES=$((MAX_MB*1000000))
    if (( $LOG_BYTES > $MAX_BYTES )); then
        if (( $LEAVE_LINES > 0 )); then tail -n $LEAVE_LINES "$LOG" > "$LOG.bak"; fi
        truncate -s 0 "$LOG"
    fi
    sleep $((INTERVAL_MIN*60))
done
~/.config/autostart/xsession-logcontrol.desktop

Code: Select all

[Desktop Entry]
Name=Xsession Errors Log Control
Comment=Limit the xsession-errors file size
Exec=$HOME/bin/xsession-logcontrol
Type=Application
StartupNotify=false
Terminal=false

kurotsugi
Posts: 2197
Joined: 09 Jan 2014 00:17

Re: Really large .xsession-errors

Postby kurotsugi » 02 Oct 2018 23:31

as a workaround you can use a shell script as a cron job. I can't duplicate the issue so I'm not sure what happened. on my system the logs got rewritten every boot. IIRC there was similar issue in the past. I'll try to investigate my system further.

User avatar
ilu
Posts: 2353
Joined: 09 Oct 2013 12:45

Re: Really large .xsession-errors

Postby ilu » 03 Oct 2018 02:26

Code: Select all

exec >>"$ERRFILE" 2>&1
Doesn't this line mean the error log will be appended - and thus grow indefinitely?

I don't like the cron job idea, it's introducing unneeded compexity. Truncating to maybe 50.000 lines in this script before appending would be the sane solution. Or gets this script overwritten by Debian?

My /etc/X11/Xsession:

Code: Select all

#!/bin/sh
#
# /etc/X11/Xsession
#
# global Xsession file -- used by display managers and xinit (startx)

# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $

set -e

PROGNAME=Xsession

message () {
  # pretty-print messages of arbitrary length; use xmessage if it
  # is available and $DISPLAY is set
  MESSAGE="$PROGNAME: $*"
  echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2
  if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
    echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
  fi
}

message_nonl () {
  # pretty-print messages of arbitrary length (no trailing newline); use
  # xmessage if it is available and $DISPLAY is set
  MESSAGE="$PROGNAME: $*"
  echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
  if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
    echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
  fi
}

errormsg () {
  # exit script with error
  message "$*"
  exit 1
}

internal_errormsg () {
  # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
  # One big call to message() for the sake of xmessage; if we had two then
  # the user would have dismissed the error we want reported before seeing the
  # request to report it.
  errormsg "$*" \
           "Please report the installed version of the \"x11-common\"" \
           "package and the complete text of this error message to" \
           "<debian-x@lists.debian.org>."
}

# initialize variables for use by all session scripts

OPTIONFILE=/etc/X11/Xsession.options

SYSRESOURCES=/etc/X11/Xresources
USRRESOURCES=$HOME/.Xresources

SYSSESSIONDIR=/etc/X11/Xsession.d
USERXSESSION=$HOME/.xsession
USERXSESSIONRC=$HOME/.xsessionrc
ALTUSERXSESSION=$HOME/.Xsession
# ERRFILE=$HOME/.xsession-errors
ERRFILE=/var/$HOME/.xsession-errors
# This is where I moved it to get it out of the way, probably not the smartest idea :-)

# attempt to create an error file; abort if we cannot
if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
  [ ! -L "$ERRFILE" ]; then
  chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then
  if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
    message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
             "\"$ERRFILE\"; look for session log/errors in" \
             "\"$TMPDIR/xsession-$USER\"."
  fi
else
  errormsg "unable to create X session log/error file; aborting."
fi

exec >>"$ERRFILE" 2>&1

echo "$PROGNAME: X session started for $LOGNAME at $(date)"

# sanity check; is our session script directory present?
if [ ! -d "$SYSSESSIONDIR" ]; then
  errormsg "no \"$SYSSESSIONDIR\" directory found; aborting."
fi

# Attempt to create a file of non-zero length in /tmp; a full filesystem can
# cause mysterious X session failures.  We do not use touch, :, or test -w
# because they won't actually create a file with contents.  We also let standard
# error from tempfile and echo go to the error file to aid the user in
# determining what went wrong.
WRITE_TEST=$(tempfile)
if ! echo "*" >>"$WRITE_TEST"; then
  message "warning: unable to write to ${WRITE_TEST%/*}; X session may exit" \
          "with an error"
fi
rm -f "$WRITE_TEST"

# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
  set +e
  for SESSIONFILE in $SESSIONFILES; do
    . $SESSIONFILE
  done
  set -e
fi

exit 0

# vim:set ai et sts=2 sw=2 tw=80:
By the way most of today's 11.000 lines of xsession errors belong to a certain moz-extension I can't identify. Doesn't matter, I've had other culprits before.

kurotsugi
Posts: 2197
Joined: 09 Jan 2014 00:17

Re: Really large .xsession-errors

Postby kurotsugi » 03 Oct 2018 03:24

The script creates the log from scratch on every boot session. I believe this part is intended.

Code: Select all

exec >>"$ERRFILE" 2>&1
all the message will appended into the logs so that you could easily found the issue. the caveat would be, the logs will grow big if you have repeated error message. though, since the logs got overwritten on every boot, it usually didn't really matter. my system works as intended. if you want to make sure the logs got rewritten, you can add a check line or directly delete the old log. albeit dirty and rough, this should works.

Code: Select all

---snip---

ALTUSERXSESSION=$HOME/.Xsession
ERRFILE=$HOME/.xsession-errors

rm -f $ERRFILE

---snip--
this

User avatar
Arjen Balfoort
Site Admin
Posts: 9161
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Really large .xsession-errors

Postby Arjen Balfoort » 03 Oct 2018 10:05

.xsession-errors is cleared on every restart of X. However, if you leave on your system the log file could grow exponentially. Perhaps you could solve that with logrotate?

I don't have experience with logrotate but I found an example here: https://bugs.launchpad.net/ubuntu/+sour ... omments/16


SolydXK needs you!
Development | Testing | Translations

User avatar
ilu
Posts: 2353
Joined: 09 Oct 2013 12:45

Re: Really large .xsession-errors

Postby ilu » 03 Oct 2018 11:46

Actually, logrotate is a good idea, I use that on servers.
Arjen Balfoort wrote: .xsession-errors is cleared on every restart of X.
No it's not, at least not on my system. I had to move the file away from my /home because it was getting to big. I try to figure out why - where's the command that deletes it?

User avatar
Arjen Balfoort
Site Admin
Posts: 9161
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Really large .xsession-errors

Postby Arjen Balfoort » 04 Oct 2018 06:32

I checked again this morning if the log file rotates and it does on my system (SolydK 9).
I've been looking for the code that would do this but I haven't found it.

Perhaps it's best if you configure logrotate manually:

/etc/logrotate.d/xsession-errors:

Code: Select all

/home/[user]/.xsession-errors {
  rotate 1
  size 100M
  missingok
  not if empty
  compress
}


SolydXK needs you!
Development | Testing | Translations

User avatar
ilu
Posts: 2353
Joined: 09 Oct 2013 12:45

Re: Really large .xsession-errors

Postby ilu » 04 Oct 2018 15:00

Thanks for providing the logrotate code. logrotate would be a very code solution but it seems really difficult to get it to work because logrotate is not intended for usage with user permissions.

On Solydx it seems that nobody else has the problem so I'm just going to monitor the situation further. I'm less interested in the fix but more interested in the "why". Curious mind wants to know ...

User avatar
Arjen Balfoort
Site Admin
Posts: 9161
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Really large .xsession-errors

Postby Arjen Balfoort » 04 Oct 2018 17:49

Perhaps even this configuration works for all users in /home:

Code: Select all

/home/*/.xsession-errors {
  rotate 1
  size 100M
  missingok
  notifempty
  compress
}
I bet the .xsession-errors and backup files will be owned by root which would cause problems for the user processes writing to .xsession-errors.

I'm testing this now and if it works we could add this configuration to the solydxk-system package to prevent the .xsession-errors file to grow excessively.


SolydXK needs you!
Development | Testing | Translations

User avatar
Arjen Balfoort
Site Admin
Posts: 9161
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Really large .xsession-errors

Postby Arjen Balfoort » 04 Oct 2018 18:16

Pity...it doesn't work: the .gz file is created but the new .xsession-errors file isn't.
You could use the create command, e.g.:

Code: Select all

create 640 my_user my_group
but how would logrotate know which user/group it has to use?

The only way I can think of to prevent this is to run logrotate as a user:
https://askubuntu.com/questions/405663/ ... g-rotation


SolydXK needs you!
Development | Testing | Translations

User avatar
ilu
Posts: 2353
Joined: 09 Oct 2013 12:45

Re: Really large .xsession-errors

Postby ilu » 04 Oct 2018 19:21

Yeah I didnt think about that - I have used logrotate in the past for user www-data and that of course worked.

Here is a discussion about possible fixes for Ubuntu https://bugs.launchpad.net/ubuntu/+sour ... +bug/60448 - stretching from 2006 to 2017 with several proposals but ultimately it seems no solution. They argue against using logrotate. But somebody reported 297 GB in 2-3 days and another one 650 GB!

2015 in https://bugs.launchpad.net/ubuntu/+sour ... omments/73:
Someone already did, and it is called journald: http://0pointer.net/blog/projects/journalctl.html
Recent versions of gdm, kdm and dbus already use the journald by default to replace .xsession-errors, and thus avoid all these problems.
Is that true for SolydK? Obviously not for lightdm.

Possible solutions are:
  • Replace exec >>"$ERRFILE" 2>& or exec >"$ERRFILE" 2>& in /etc/X11/Xsession. Is that what you have?
  • Replace ERRFILE=$HOME/.xsession-errors with ERRFILE=/dev/null in /etc/X11/Xsession.
  • This patch and this patch propose tail to truncate but it doesn't help during an ongoing session.
  • Somebody proposed this monstrosity for truncating: sed -i -e :a -e '$q;N;101,$D;ba' log
    It actually works but don't ask me anything about it. - grizzler, it's sed ! :mrgreen:
    It also doesn't help during an ongoing session..

kurotsugi
Posts: 2197
Joined: 09 Jan 2014 00:17

Re: Really large .xsession-errors

Postby kurotsugi » 05 Oct 2018 00:48

if I understand it correctly, this part is the one which create a new log for every boot session

Code: Select all

# attempt to create an error file; abort if we cannot
if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
  [ ! -L "$ERRFILE" ]; then
  chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then

---snip---
in idealcondition there should be no difference whether if we put any of these hacks. this code seems will keep 10.000 lines from the previous log

Code: Select all

---snip---
ALTUSERXSESSION=$HOME/.Xsession
ERRFILE=$HOME/.xsession-errors

sed -i -e :a -e '$q;N;10000,$D;ba' $ERRFILE

---snip--
however, since it positioned before the part I mentioned before, that part will get erased. even when something goes wrong (i.e: the log doesn't got rewritten at boot), since the log comes from previous session I'm not quite sure of the usefullness of having it. I believe it's the reason why the log got rewritten on every boot session.

using something like logrotate or a cronjob IMO seems to be a better solution. when I was on android I'm using something like this to rotate the log

Code: Select all

#log files handling. automatically deleted if filesize greater than certain MB.
LOG=/data/local/dropcache.log
LOG1=/data/local/dropcache.log.1
log_size=" $( stat $LOG |grep Size |awk '{print $2}' )"
if [ "$log_size" -gt 1000000 ]
then
   mv $LOG $LOG1;
fi
it might rough but it works just fine.

User avatar
Arjen Balfoort
Site Admin
Posts: 9161
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Really large .xsession-errors

Postby Arjen Balfoort » 05 Oct 2018 11:16

I use truncate to do that job:

[EDIT]
Using while loop instead of cronjob.

Code: Select all

#!/bin/bash

# Backup .xsession-errors if larger than 100MiB and truncate .xsession-errors
# Check every hour
# Place script in ~/.config/autostart-scripts

MAX_BYTES=100000000
INTERVAL_SECS=3600
LOG='.xsession-errors'

cd "$HOME"
while true; do
    LOG_BYTES=$(stat --printf=%s "$LOG")
    if (( $LOG_BYTES > $MAX_BYTES )); then
        tar cvzf "$LOG.tar.gz" "$LOG"
        truncate -s 0 "$LOG"
    fi
    sleep $INTERVAL_SECS
done


SolydXK needs you!
Development | Testing | Translations

User avatar
ilu
Posts: 2353
Joined: 09 Oct 2013 12:45

Re: Really large .xsession-errors

Postby ilu » 05 Oct 2018 19:37

Does the truncate command cut of the file at the end or at the beginning? The man page is unclear about that but I guess it truncates the end which would be undesirable in this case.

sed -i -e :a -e '$q;N;10000,$D;ba' logfile cuts away the beginning of the file and keeps the last 10000 lines which I would prefer. A friend tried to explain to me in detail why this sed command is supposed to keep the first 10000 lines but I've checked this several times with very large files: It deletes everything but the last 10000 lines. Cutting a file of about 1 GB (which is already very large) takes approximately 4 sec. Do you see any advantages of using truncate over sed?

This autostart-script seems to be a good solution. I'm sceptical about the tar'ing though - it takes quite a lot of time and this solution is aimed at solving cases of amok running xsession-errors entries. At the rate that file can grow in worst cases, this routine might need to start zipping every 60 sec.
Hm, it only runs every hour, so ... anyway, creating a backup when a logfile is exploding makes things worse. With default deletion there's no backup. Keeping the last 10.000 to 50.000 lines for debugging purposes (ca. 1-5 MB) is more than enough. I would rather increase the trigger size to 10,5-1 GB, use sed instead of truncate and skip the backup.

The sed command might need finetuning because it (probably) doesn't catch an exception if the file has less than 10000 lines (which mine never has). The code for that is supposedly $(($(wc -l file) - 10000)) but I don't know where to put that. Grizzler might know. Scratch that, you are checking the file size before doing anything so no problem.

Edit: I'm testing this but I'm only letting it work on a testfile for now. I've called it xsession-logcontrol.sh and - put it into my script folder ~/bin/ (which I think is the right one, autostart-scripts does not exist). Upon adding it to the autostarts a file xsession-logcontrol.desktop was created in ~/.config/autostart/ with the following content:

Code: Select all

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=XsessionsLogControl
Comment=Tame xsession-errors
Exec=/home/.../bin/xsession-logcontrol.sh
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false
The tests worked fine. This is the code I used:

Code: Select all

#!/bin/bash

# Backup .xsession-errors if larger than 100MiB and truncate .xsession-errors
# Check every hour
# Place script in ~/.config/autostart-scripts

MAX_BYTES=100000000
INTERVAL_SECS=3600
# LOG='~/.xsession-errors'
LOG='/var/home/test.log'

cd "$HOME"
while true; do
    LOG_BYTES=$(stat --printf=%s "$LOG")
    if (( $LOG_BYTES > $MAX_BYTES )); then
        tar cvzf "$LOG.tar.gz" "$LOG"
        sed -i -e :a -e '$q;N;50000,$D;ba' "$LOG"
    fi
    sleep $INTERVAL_SECS
done
I'm going to keep this.

User avatar
Arjen Balfoort
Site Admin
Posts: 9161
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Really large .xsession-errors

Postby Arjen Balfoort » 06 Oct 2018 16:46

If it doesn't exist, you can create the ~/.config/autostart-scripts directory and place your scripts in there. No need to do anything more then that.

I had problems using sed on .xsession-errors. After sed no new lines were added. I suspect that sed creates a new .xsession-errors file but running processes still use the pointer to a now non-existent .xsession-errors file. You can use tail to get the latest n lines and write those to .xsession-errors after the truncate:

Code: Select all

#!/bin/bash

# Backup .xsession-errors if larger than n MB (BACKUP, MAX_MB)
# Leave last n lines in original (LEAVE_LINES)
# Check every n minutes (INTERVAL_MIN)
# Place script in ~/.config/autostart-scripts (mkdir if it doesn't exist)

BACKUP=false
MAX_MB=1000
LEAVE_LINES=1000
INTERVAL_MIN=60
LOG='.xsession-errors'

cd "$HOME"
while true; do
    LOG_BYTES=$(stat --printf=%s "$LOG")
    MAX_BYTES=$((MAX_MB*1000))
    if (( $LOG_BYTES > $MAX_BYTES )); then
        if $BACKUP; then tar cvzf "$LOG.tar.gz" "$LOG"; fi
        SAVE_LINES=$(tail -n $LEAVE_LINES "$LOG")
        truncate -s 0 "$LOG"
        echo $SAVE_LINES >> $LOG
        #sed -i -e :a -e '$q;N;'$((LEAVE_LINES+1))',$D;ba' "$LOG"
    fi
    sleep $((INTERVAL_MIN*60))
done


SolydXK needs you!
Development | Testing | Translations

User avatar
ilu
Posts: 2353
Joined: 09 Oct 2013 12:45

Re: Really large .xsession-errors

Postby ilu » 06 Oct 2018 17:18

I wouldn't want to have scripts all over the place in my /home. I could choose another location for everything but ~/.bin made the most sense.

Truncate doesn't change the inode but sed does. I checked with ls -i before and after the operation.
I did not notice that since I was using dummy data to speed up testing. Bad mistake.

Your new code avoids that problem but the tail command does not work as expected. It puts everything in one line without linefeed. It's missing quotes in the echo line:

Code: Select all

echo "$SAVE_LINES" >> $LOG
Just a note regarding the line

Code: Select all

#sed -i -e :a -e '$q;N;'$((LEAVE_LINES+1))',$D;ba' "$LOG"
If you want to use sed the -i would have to go from sed, because otherwise sed overwrites the file before you can store the result.

User avatar
ilu
Posts: 2353
Joined: 09 Oct 2013 12:45

Re: Really large .xsession-errors

Postby ilu » 06 Oct 2018 20:10

This is working but it still could get mixed up if another program is writing at the same time. So maybe combine tail and the backup solution? But I did not manage to tar the tail output without creating an intermediate file. I don't think that's too bad since even 10.000 lines are only about 1 MB, so no tar needed. And we don't need to worry about overflow since the resulting backup file is always limited to n lines.

Code: Select all

#!/bin/bash

# Backup .xsession-errors if larger than n MB (BACKUP, MAX_MB)
# Leave last n lines in original (LEAVE_LINES)
# Check every n seconds (INTERVAL_SECS)
# Place script in ~/.config/autostart-scripts (mkdir if it doesn't exist)

BACKUP=true
MAX_MB=100
LEAVE_LINES=10000
INTERVAL_MIN=60
LOG='/var/home/test.log'
# LOG=~/.xsession-errors'

# cd "$HOME"
while true; do
    LOG_BYTES=$(stat --printf=%s "$LOG")
    MAX_BYTES=$((MAX_MB*1000))
    if (( $LOG_BYTES > $MAX_BYTES )); then
#        if $BACKUP; then tar cvzf "$LOG.tar.gz" "$LOG"; fi
        SAVE_LINES=$(tail -n $LEAVE_LINES "$LOG")
        if $BACKUP; then echo "$SAVE_LINES" > "$LOG.bak"; fi
        truncate -s 0 "$LOG"
#        echo "$SAVE_LINES" >> $LOG
    fi
    sleep $((INTERVAL_MIN*60))
done
Why do you cd "$HOME"? Wouldn't it be better to include "$HOME" in the LOG definition?

Code: Select all

LOG=~/.xsession-errors'
or
LOG ='$HOME/.xsession-errors'

User avatar
Arjen Balfoort
Site Admin
Posts: 9161
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Really large .xsession-errors

Postby Arjen Balfoort » 06 Oct 2018 20:17

I just found out that .config/autostart-scripts is a KDE thingy: https://wiki.archlinux.org/index.php/KDE

The backup file that way is a better solution. I like it!
A small adjustment (BACKUP not needed if you set LEAVE_LINES to zero):

Code: Select all

#!/bin/bash

# Backup .xsession-errors if larger than n MB (MAX_MB)
# Leave last n lines in original (LEAVE_LINES: set to 0 to skip backup)
# Check every n seconds (INTERVAL_SECS)

MAX_MB=100
LEAVE_LINES=10000
INTERVAL_MIN=60
LOG="$HOME/.xsession-errors"

while true; do
    LOG_BYTES=$(stat --printf=%s "$LOG")
    MAX_BYTES=$((MAX_MB*1000))
    if (( $LOG_BYTES > $MAX_BYTES )); then
        if (( $LEAVE_LINES > 0 )); then
            tail -n $LEAVE_LINES "$LOG" > "$LOG.bak"
        fi
        truncate -s 0 "$LOG"
    fi
    sleep $((INTERVAL_MIN*60))
done
Something to add to solydxk-system as a default?


SolydXK needs you!
Development | Testing | Translations

User avatar
ilu
Posts: 2353
Joined: 09 Oct 2013 12:45

Re: Really large .xsession-errors

Postby ilu » 06 Oct 2018 20:18

I just edited my last post.

And yes, when we are finished with this, I think it should be added. Log overflow is a rare condition but when it's happening it can be fatal.

User avatar
Arjen Balfoort
Site Admin
Posts: 9161
Joined: 26 Jan 2013 19:36
Location: Netherlands
Contact:

Re: Really large .xsession-errors

Postby Arjen Balfoort » 06 Oct 2018 20:24

You're fast!
I edited my previous post to include a small adaption to the script.


SolydXK needs you!
Development | Testing | Translations


Return to “Bug Control”

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 3 guests