Subject: bug#209: ASCII: Default config in ~/.bash_logout crashes X server

From: Michael Siegel <[email-masked]>
Date: Sun, 13 May 2018 23:42:09 +0200

Package: bash
Version: 4.4-5

When running X on VT1 and another user session (CLI) on VT2, logging out
on VT2, will either

  * crash the X server running on VT1, leaving you with a functional CLI
or
  * leave you with a blank screen and an apparently frozen-up system
    once you switch back to VT1

Running X with setuid root does not make any difference here. But if the
user on VT2 is root, X on VT1 will not crash when logging out on VT2.

In a discussion on Debian's IRC channel, I've been informed that this
problem is caused by the default configuration in ~/.bash_logout, which
looks like this:

  # ~/.bash_logout: executed by bash(1) when login shell exits.

  # when leaving the console clear the screen to increase privacy

  if [ "$SHLVL" = 1 ]; then
      [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
  fi

Commenting out the if statement (or just deleting the file) will cure
the problem.

The culprit here is clear_console. Running /usr/bin/clear_console from
VT2 in the scenario described above will result in the same problems you
get when logging out.

fsmithred has also found that this problem does not occur on D-Bus-free
installations (with the above config in place).

msi