* Frank Terbeck [2015-08-08 23:51 +0200]: > Carsten Hey wrote: > > Please clear console on logout if the recommended config for new users > > is used. > > I think this should be doable with a zshexit hook like this: > > function debian_clear_upon_exit () { > clear > } > add-zsh-hook zshexit debian_clear_upon_exit
Interesting :) This could indeed avoid the need to ship a .zlogout for new users. (An ugly alternative would be to set some variable and clear consoles in /etc/zsh/zlogout if this variable is set.) By console I meant the thing you get if you press Ctrl-Alt-F1. The usual use case is to clear the console on logout for privacy reasons (an other one is that the user might not want to be annoyed by things she/he did in previous sessions whilst logging in again). A minimal console_clear implementation with some tiny bugs could be (this might fail to compile): #include "required_headers.h" void main(void) { int mode; if (ioctl(STDOUT_FILENO, KDGKBMODE, &mode) != 0) exit(EXIT_SUCCESS); /* not a console, exit successfully */ if (access("/usr/bin/clear", R_OK | X_OK) == 0) execl("/usr/bin/clear", "/usr/bin/clear", (char *) NULL); exit(EXIT_FAILURE); } To meet the requirements of this use case, but not clearing the terminal if it is not required, the shell needs to check if the terminal is a console (or rather let clear_console do this check), ensure that it is not a subshell and check that ${0##*/} does not match (-su|su). Also checking if $SSH_CONNECTION is set would avoid some useless calls to console_clear. console_clear could be replaced by checking $(tty) and running clear if the output indicates that the terminal is a console. But relying on ttyname() and correctly interpreting its result is not the clean solution I would prefer. I'd rather wait until doko has the time to fix /usr/bin/clear_console, i.e., presumably after the gcc transition is done. Nevertheless, using an zshexit hook seems to be worth considering. Carsten -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org