J'aimerais savoir le fonctionnement des terminaux concernant echok.
Sous Mac OS X avec le terminal iTerm, "stty -a" me dit -echok. Un
Ctrl-U en mode cooked (e.g. taper "cat" dans un shell) efface bien
la ligne courante.
Quand je me connecte sur mon Zaurus (PDA sous Linux) avec ssh, un
"stty -a" me dit maintenant echok (ça a changé!). Et un Ctrl-U
provoque toujours l'effacement de la ligne.
Maintenant quand je me connecte sur une machine sous Debian par ssh,
"stty -a" me dit -echok me dit -echok et cette fois, un Ctrl-U ne
provoque plus l'effacement de la ligne dans le terminal! (Elle est
bien effacée de l'entrée standard, comme prévu, car kill = ^U.)
Qui a raison concernant l'effacement de la ligne dans le terminal
(i.e. ce qui est affiché)?
Note: je peux toujours faire un "stty echok" pour régler le problème,
mais est-ce qu'il n'aurait pas dû être réglé automatiquement?
Comment?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas George
Vincent Lefevre wrote in message <20060312105617$:
J'aimerais savoir le fonctionnement des terminaux concernant echok. Sous Mac OS X avec le terminal iTerm, "stty -a" me dit -echok. Un Ctrl-U en mode cooked (e.g. taper "cat" dans un shell) efface bien la ligne courante.
Quand je me connecte sur mon Zaurus (PDA sous Linux) avec ssh, un "stty -a" me dit maintenant echok (ça a changé!). Et un Ctrl-U provoque toujours l'effacement de la ligne.
Maintenant quand je me connecte sur une machine sous Debian par ssh, "stty -a" me dit -echok me dit -echok et cette fois, un Ctrl-U ne provoque plus l'effacement de la ligne dans le terminal! (Elle est bien effacée de l'entrée standard, comme prévu, car kill = ^U.)
Qui a raison concernant l'effacement de la ligne dans le terminal (i.e. ce qui est affiché)?
Ça dépend des autres modes, en particulier tous ceux qui s'appellent echoquelquechose. Que sont-ils sur les différentes machines ?
Vincent Lefevre wrote in message
<20060312105617$547e@prunille.vinc17.org>:
J'aimerais savoir le fonctionnement des terminaux concernant echok.
Sous Mac OS X avec le terminal iTerm, "stty -a" me dit -echok. Un
Ctrl-U en mode cooked (e.g. taper "cat" dans un shell) efface bien
la ligne courante.
Quand je me connecte sur mon Zaurus (PDA sous Linux) avec ssh, un
"stty -a" me dit maintenant echok (ça a changé!). Et un Ctrl-U
provoque toujours l'effacement de la ligne.
Maintenant quand je me connecte sur une machine sous Debian par ssh,
"stty -a" me dit -echok me dit -echok et cette fois, un Ctrl-U ne
provoque plus l'effacement de la ligne dans le terminal! (Elle est
bien effacée de l'entrée standard, comme prévu, car kill = ^U.)
Qui a raison concernant l'effacement de la ligne dans le terminal
(i.e. ce qui est affiché)?
Ça dépend des autres modes, en particulier tous ceux qui s'appellent
echoquelquechose. Que sont-ils sur les différentes machines ?
Vincent Lefevre wrote in message <20060312105617$:
J'aimerais savoir le fonctionnement des terminaux concernant echok. Sous Mac OS X avec le terminal iTerm, "stty -a" me dit -echok. Un Ctrl-U en mode cooked (e.g. taper "cat" dans un shell) efface bien la ligne courante.
Quand je me connecte sur mon Zaurus (PDA sous Linux) avec ssh, un "stty -a" me dit maintenant echok (ça a changé!). Et un Ctrl-U provoque toujours l'effacement de la ligne.
Maintenant quand je me connecte sur une machine sous Debian par ssh, "stty -a" me dit -echok me dit -echok et cette fois, un Ctrl-U ne provoque plus l'effacement de la ligne dans le terminal! (Elle est bien effacée de l'entrée standard, comme prévu, car kill = ^U.)
Qui a raison concernant l'effacement de la ligne dans le terminal (i.e. ce qui est affiché)?
Ça dépend des autres modes, en particulier tous ceux qui s'appellent echoquelquechose. Que sont-ils sur les différentes machines ?
Vincent Lefevre
Dans l'article <dv13bb$1eml$, Nicolas George <nicolas$ écrit:
Ça dépend des autres modes, en particulier tous ceux qui s'appellent echoquelquechose. Que sont-ils sur les différentes machines ?
Je vois, ces deux là ont vraiment des modes similaires. Comment le macos se comporte-t-il avec stty echok ?
Vincent Lefevre
Dans l'article <dv18tt$1ghp$, Nicolas George <nicolas$ écrit:
Je vois, ces deux là ont vraiment des modes similaires. Comment le macos se comporte-t-il avec stty echok ?
Normalement. Une idée du pourquoi je n'ai pas du echok par défaut?
Avec xterm sous Mac OS X, j'ai bien du echok. Mais avec Terminal (terminal fourni avec Mac OS X) et iTerm, j'ai du -echok. Et j'ai exactement le même problème avec Terminal qu'avec iTerm après une connexion ssh vers une machine Linux.
Dans l'article <dv18tt$1ghp$2@biggoron.nerim.net>,
Nicolas George <nicolas$george@salle-s.org> écrit:
Je vois, ces deux là ont vraiment des modes similaires. Comment le
macos se comporte-t-il avec stty echok ?
Normalement. Une idée du pourquoi je n'ai pas du echok par défaut?
Avec xterm sous Mac OS X, j'ai bien du echok. Mais avec Terminal
(terminal fourni avec Mac OS X) et iTerm, j'ai du -echok. Et j'ai
exactement le même problème avec Terminal qu'avec iTerm après une
connexion ssh vers une machine Linux.
Dans l'article <dv18tt$1ghp$, Nicolas George <nicolas$ écrit:
Je vois, ces deux là ont vraiment des modes similaires. Comment le macos se comporte-t-il avec stty echok ?
Normalement. Une idée du pourquoi je n'ai pas du echok par défaut?
Avec xterm sous Mac OS X, j'ai bien du echok. Mais avec Terminal (terminal fourni avec Mac OS X) et iTerm, j'ai du -echok. Et j'ai exactement le même problème avec Terminal qu'avec iTerm après une connexion ssh vers une machine Linux.
Je vois, ces deux là ont vraiment des modes similaires. Comment le macos se comporte-t-il avec stty echok ?
Il me semble que c'est echoke qui provoque l'effacement de la ligne, pas echok qui lui entraine un saut de ligne, cela dit les deux config sont là aussi identiques ...
Nicolas George wrote:
Vincent Lefevre wrote in message
<20060312130015$13cb@prunille.vinc17.org>:
Je vois, ces deux là ont vraiment des modes similaires. Comment le macos se
comporte-t-il avec stty echok ?
Il me semble que c'est echoke qui provoque l'effacement de la ligne, pas echok
qui lui entraine un saut de ligne, cela dit les deux config sont là aussi
identiques ...
Je vois, ces deux là ont vraiment des modes similaires. Comment le macos se comporte-t-il avec stty echok ?
Il me semble que c'est echoke qui provoque l'effacement de la ligne, pas echok qui lui entraine un saut de ligne, cela dit les deux config sont là aussi identiques ...
Vincent Lefevre
Dans l'article <441435d0$0$8491$, Jean-Louis Liagre écrit:
Nicolas George wrote:
Je vois, ces deux là ont vraiment des modes similaires. Comment le macos se comporte-t-il avec stty echok ?
Il me semble que c'est echoke qui provoque l'effacement de la ligne, pas echok qui lui entraine un saut de ligne, cela dit les deux config sont là aussi identiques ...
Oui, ceci dit, un man stty indique:
[-]echok echo a newline after a kill character
* [-]echoke same as [-]crtkill
et
* crtkill kill all line by obeying the echoprt and echoe settings
* -crtkill kill all line by obeying the echoctl and echok settings
Mais comme j'ai echoke (et non -echoke), c'est la config d'echoe qui intervient et pas celle d'echok. Il est donc bizarre que modifier la config d'echok (sous Linux) modifie le comportement du Ctrl-U.
Dans l'article <441435d0$0$8491$636a55ce@news.free.fr>,
Jean-Louis Liagre <jlliagre@localhost.fr> écrit:
Nicolas George wrote:
Je vois, ces deux là ont vraiment des modes similaires. Comment le
macos se comporte-t-il avec stty echok ?
Il me semble que c'est echoke qui provoque l'effacement de la ligne,
pas echok qui lui entraine un saut de ligne, cela dit les deux
config sont là aussi identiques ...
Oui, ceci dit, un man stty indique:
[-]echok
echo a newline after a kill character
* [-]echoke
same as [-]crtkill
et
* crtkill
kill all line by obeying the echoprt and echoe settings
* -crtkill
kill all line by obeying the echoctl and echok settings
Mais comme j'ai echoke (et non -echoke), c'est la config d'echoe qui
intervient et pas celle d'echok. Il est donc bizarre que modifier la
config d'echok (sous Linux) modifie le comportement du Ctrl-U.
Dans l'article <441435d0$0$8491$, Jean-Louis Liagre écrit:
Nicolas George wrote:
Je vois, ces deux là ont vraiment des modes similaires. Comment le macos se comporte-t-il avec stty echok ?
Il me semble que c'est echoke qui provoque l'effacement de la ligne, pas echok qui lui entraine un saut de ligne, cela dit les deux config sont là aussi identiques ...
Oui, ceci dit, un man stty indique:
[-]echok echo a newline after a kill character
* [-]echoke same as [-]crtkill
et
* crtkill kill all line by obeying the echoprt and echoe settings
* -crtkill kill all line by obeying the echoctl and echok settings
Mais comme j'ai echoke (et non -echoke), c'est la config d'echoe qui intervient et pas celle d'echok. Il est donc bizarre que modifier la config d'echok (sous Linux) modifie le comportement du Ctrl-U.
Dans l'article <441435d0$0$8491$, Jean-Louis Liagre écrit:
Nicolas George wrote:
Je vois, ces deux là ont vraiment des modes similaires. Comment le macos se comporte-t-il avec stty echok ?
Il me semble que c'est echoke qui provoque l'effacement de la ligne, pas echok qui lui entraine un saut de ligne, cela dit les deux config sont là aussi identiques ...
Oui, ceci dit, un man stty indique:
[-]echok echo a newline after a kill character
* [-]echoke same as [-]crtkill
et
* crtkill kill all line by obeying the echoprt and echoe settings
* -crtkill kill all line by obeying the echoctl and echok settings
Mais comme j'ai echoke (et non -echoke), c'est la config d'echoe qui intervient et pas celle d'echok. Il est donc bizarre que modifier la config d'echok (sous Linux) modifie le comportement du Ctrl-U.
Il faudrait comparer le "man termios" sous Linux et MacOS X pour voir si ces options sont supportées de la même façon.
echoke, echoprt et crtkill ne sont pas POSIX.
Vincent Lefevre wrote:
Dans l'article <441435d0$0$8491$636a55ce@news.free.fr>,
Jean-Louis Liagre <jlliagre@localhost.fr> écrit:
Nicolas George wrote:
Je vois, ces deux là ont vraiment des modes similaires. Comment le
macos se comporte-t-il avec stty echok ?
Il me semble que c'est echoke qui provoque l'effacement de la ligne,
pas echok qui lui entraine un saut de ligne, cela dit les deux
config sont là aussi identiques ...
Oui, ceci dit, un man stty indique:
[-]echok
echo a newline after a kill character
* [-]echoke
same as [-]crtkill
et
* crtkill
kill all line by obeying the echoprt and echoe settings
* -crtkill
kill all line by obeying the echoctl and echok settings
Mais comme j'ai echoke (et non -echoke), c'est la config d'echoe qui
intervient et pas celle d'echok. Il est donc bizarre que modifier la
config d'echok (sous Linux) modifie le comportement du Ctrl-U.
Il faudrait comparer le "man termios" sous Linux et MacOS X pour voir si
ces options sont supportées de la même façon.
Dans l'article <441435d0$0$8491$, Jean-Louis Liagre écrit:
Nicolas George wrote:
Je vois, ces deux là ont vraiment des modes similaires. Comment le macos se comporte-t-il avec stty echok ?
Il me semble que c'est echoke qui provoque l'effacement de la ligne, pas echok qui lui entraine un saut de ligne, cela dit les deux config sont là aussi identiques ...
Oui, ceci dit, un man stty indique:
[-]echok echo a newline after a kill character
* [-]echoke same as [-]crtkill
et
* crtkill kill all line by obeying the echoprt and echoe settings
* -crtkill kill all line by obeying the echoctl and echok settings
Mais comme j'ai echoke (et non -echoke), c'est la config d'echoe qui intervient et pas celle d'echok. Il est donc bizarre que modifier la config d'echok (sous Linux) modifie le comportement du Ctrl-U.
Il faudrait comparer le "man termios" sous Linux et MacOS X pour voir si ces options sont supportées de la même façon.
echoke, echoprt et crtkill ne sont pas POSIX.
Vincent Lefevre
Dans l'article <44145276$0$8469$, Jean-Louis Liagre écrit:
Il faudrait comparer le "man termios" sous Linux et MacOS X pour voir si ces options sont supportées de la même façon.
echoke, echoprt et crtkill ne sont pas POSIX.
Sous Linux:
ECHO Echo input characters.
ECHOE If ICANON is also set, the ERASE character erases the preceding input character, and WERASE erases the preceding word.
ECHOK If ICANON is also set, the KILL character erases the current line.
ECHONL If ICANON is also set, echo the NL character even if ECHO is not set.
ECHOCTL (not in POSIX) If ECHO is also set, ASCII control signals other than TAB, NL, START, and STOP are echoed as ^X, where X is the character with ASCII code 0x40 greater than the control signal. For example, character 0x08 (BS) is echoed as ^H.
ECHOPRT (not in POSIX) If ICANON and IECHO are also set, characters are printed as they are being erased.
ECHOKE (not in POSIX) If ICANON is also set, KILL is echoed by erasing each character on the line, as specified by ECHOE and ECHOPRT.
Sous Mac OS X:
ECHOKE /* visual erase for line kill */ ECHOE /* visually erase chars */ ECHO /* enable echoing */ ECHONL /* echo NL even if ECHO is off */ ECHOPRT /* visual erase mode for hardcopy */ ECHOCTL /* echo control chars as ^(Char) */
If ECHO is set, input characters are echoed back to the terminal. If ECHO is not set, input characters are not echoed.
If ECHOE and ICANON are set, the ERASE character causes the terminal to erase the last character in the current line from the display, if possible. If there is no character to erase, an implementation may echo an indication that this was the case or do nothing.
If ECHOK and ICANON are set, the KILL character causes the current line to be discarded and the system echoes the 'n' character after the KILL character.
If ECHOKE and ICANON are set, the KILL character causes the current line to be discarded and the system causes the terminal to erase the line from the display.
If ECHOPRT and ICANON are set, the system assumes that the display is a printing device and prints a backslash and the erased characters when processing ERASE characters, followed by a forward slash.
If ECHOCTL is set, the system echoes control characters in a visible fashion using a caret followed by the control character.
If ECHONL and ICANON are set, the 'n' character echoes even if ECHO is not set.
Dans l'article <44145276$0$8469$636a55ce@news.free.fr>,
Jean-Louis Liagre <jlliagre@localhost.fr> écrit:
Il faudrait comparer le "man termios" sous Linux et MacOS X pour
voir si ces options sont supportées de la même façon.
echoke, echoprt et crtkill ne sont pas POSIX.
Sous Linux:
ECHO Echo input characters.
ECHOE If ICANON is also set, the ERASE character erases the preceding
input character, and WERASE erases the preceding word.
ECHOK If ICANON is also set, the KILL character erases the current
line.
ECHONL If ICANON is also set, echo the NL character even if ECHO is
not set.
ECHOCTL
(not in POSIX) If ECHO is also set, ASCII control signals other
than TAB, NL, START, and STOP are echoed as ^X, where X is the
character with ASCII code 0x40 greater than the control signal.
For example, character 0x08 (BS) is echoed as ^H.
ECHOPRT
(not in POSIX) If ICANON and IECHO are also set, characters are
printed as they are being erased.
ECHOKE (not in POSIX) If ICANON is also set, KILL is echoed by erasing
each character on the line, as specified by ECHOE and ECHOPRT.
Sous Mac OS X:
ECHOKE /* visual erase for line kill */
ECHOE /* visually erase chars */
ECHO /* enable echoing */
ECHONL /* echo NL even if ECHO is off */
ECHOPRT /* visual erase mode for hardcopy */
ECHOCTL /* echo control chars as ^(Char) */
If ECHO is set, input characters are echoed back to the terminal. If
ECHO is not set, input characters are not echoed.
If ECHOE and ICANON are set, the ERASE character causes the terminal
to erase the last character in the current line from the display, if
possible. If there is no character to erase, an implementation may
echo an indication that this was the case or do nothing.
If ECHOK and ICANON are set, the KILL character causes the current
line to be discarded and the system echoes the 'n' character after
the KILL character.
If ECHOKE and ICANON are set, the KILL character causes the current
line to be discarded and the system causes the terminal to erase the
line from the display.
If ECHOPRT and ICANON are set, the system assumes that the display
is a printing device and prints a backslash and the erased
characters when processing ERASE characters, followed by a forward
slash.
If ECHOCTL is set, the system echoes control characters in a visible
fashion using a caret followed by the control character.
If ECHONL and ICANON are set, the 'n' character echoes even if ECHO
is not set.
Dans l'article <44145276$0$8469$, Jean-Louis Liagre écrit:
Il faudrait comparer le "man termios" sous Linux et MacOS X pour voir si ces options sont supportées de la même façon.
echoke, echoprt et crtkill ne sont pas POSIX.
Sous Linux:
ECHO Echo input characters.
ECHOE If ICANON is also set, the ERASE character erases the preceding input character, and WERASE erases the preceding word.
ECHOK If ICANON is also set, the KILL character erases the current line.
ECHONL If ICANON is also set, echo the NL character even if ECHO is not set.
ECHOCTL (not in POSIX) If ECHO is also set, ASCII control signals other than TAB, NL, START, and STOP are echoed as ^X, where X is the character with ASCII code 0x40 greater than the control signal. For example, character 0x08 (BS) is echoed as ^H.
ECHOPRT (not in POSIX) If ICANON and IECHO are also set, characters are printed as they are being erased.
ECHOKE (not in POSIX) If ICANON is also set, KILL is echoed by erasing each character on the line, as specified by ECHOE and ECHOPRT.
Sous Mac OS X:
ECHOKE /* visual erase for line kill */ ECHOE /* visually erase chars */ ECHO /* enable echoing */ ECHONL /* echo NL even if ECHO is off */ ECHOPRT /* visual erase mode for hardcopy */ ECHOCTL /* echo control chars as ^(Char) */
If ECHO is set, input characters are echoed back to the terminal. If ECHO is not set, input characters are not echoed.
If ECHOE and ICANON are set, the ERASE character causes the terminal to erase the last character in the current line from the display, if possible. If there is no character to erase, an implementation may echo an indication that this was the case or do nothing.
If ECHOK and ICANON are set, the KILL character causes the current line to be discarded and the system echoes the 'n' character after the KILL character.
If ECHOKE and ICANON are set, the KILL character causes the current line to be discarded and the system causes the terminal to erase the line from the display.
If ECHOPRT and ICANON are set, the system assumes that the display is a printing device and prints a backslash and the erased characters when processing ERASE characters, followed by a forward slash.
If ECHOCTL is set, the system echoes control characters in a visible fashion using a caret followed by the control character.
If ECHONL and ICANON are set, the 'n' character echoes even if ECHO is not set.