¿Dónde puedo encontrar una lista completa de las combinaciones de teclado que envían señales en Linux?
P.ej:
- Ctrl+ C- SIGINT
- Ctrl+ \- SIGQUIT
¿Dónde puedo encontrar una lista completa de las combinaciones de teclado que envían señales en Linux?
P.ej:
Respuestas:
La disciplina de línea N_TTY de Linux solo envía tres señales diferentes: SIGINT, SIGQUIT y SIGTSTP. Por defecto, los siguientes caracteres de control producen las señales:
man stty | grep -C1 signal
es una fuente para estos tres siendo las únicas señales generadas por el terminal.
SIGINT
, SIGQUIT
y SIGTSTP
son las únicas señales "habituales" enviada por la disciplina de línea. En BSD también tienes cosas como SIGINFO
, pero eso no es estándar.
Puede usar stty
para verificar o cambiar los caracteres que generan señales.
$ stty -a | grep -Ewoe '(intr|quit|susp) = [^;]+'
intr = ^C
quit = ^\
susp = ^Z
intr
(interrumpir) genera SIGINT
, quit
genera SIGQUIT
, susp
(suspende) genera SIGTSTP
. stty -a
también mostrará cosas como start = ^Q; stop = ^S;
y erase = ^?
(retroceso), que no envían señales pero afectan a la capa terminal de lo contrario.
Plain stty
mostrará la configuración no predeterminada y, por ejemplo stty intr ^Q
, cambiaría el carácter de interrupción a en ^Q
lugar de ^C
.
Creo que ^L
(formulario de alimentación, página nueva) no es una función de terminal, sino un carácter que las aplicaciones suelen utilizar para pedir que se vuelva a dibujar la vista, al volver a comprobar el tamaño de la ventana al mismo tiempo.
^L
tiene un significado diferente para diferentes aplicaciones. En la mayoría de curses
aplicaciones basadas en (tales como vim
, less
, mutt
, mc
, etc.) que obliga a un redibujado completa (por lo tanto volver a comprobar el tamaño de la ventana), pero en conchas ( bash
etc.) que sólo se borra la pantalla. No hay SIGWINCH
involucrado.
man 1 stty
.