terminal-util: drop ECHOPRT flag from TTY settings when resetting
Let's disable ECHOPRT for terminals we reset. The feature only really makes sense for hardcopy terminals and we sure as shit don't talk to one of those. It has the effect that when line editing is on and you hit backspace it outputs "\" followed by the removed character. This never makes sense on a TTY that can just erase the character. Hence turn of this flag. We have carried this flag along for about forever, but it doesn't really make sense. I guess we mostly tested the terminal reset stuff for output only, not for input. This change is in particular useful for tools such as "systemd-firstboot" which interactively ask questions on the console, and where line editing should really work.
This commit is contained in:
@@ -273,7 +273,7 @@ int reset_terminal_fd(int fd, bool switch_to_text) {
|
||||
termios.c_iflag |= ICRNL | IMAXBEL | IUTF8;
|
||||
termios.c_oflag |= ONLCR | OPOST;
|
||||
termios.c_cflag |= CREAD;
|
||||
termios.c_lflag = ISIG | ICANON | IEXTEN | ECHO | ECHOE | ECHOK | ECHOCTL | ECHOPRT | ECHOKE;
|
||||
termios.c_lflag = ISIG | ICANON | IEXTEN | ECHO | ECHOE | ECHOK | ECHOCTL | ECHOKE;
|
||||
|
||||
termios.c_cc[VINTR] = 03; /* ^C */
|
||||
termios.c_cc[VQUIT] = 034; /* ^\ */
|
||||
|
||||
Reference in New Issue
Block a user