Rebobinado / deshabilitado CTRL + ALT + F # Terminal virtual / Conmutación de consola


21

Tengo una aplicación que enlaza CTRL+ ALT+ F7, pero mi máquina Linux parece captar la pulsación de tecla.

¿Hay alguna manera de volver a vincular / deshabilitar esta clave? Una recompilación del núcleo es una respuesta aceptable.

Las distribuciones en cuestión son Fedora 16 y Ubuntu 11.10.


No tengo ningún consejo específico, pero creo que, ya que CTRL + ALT + Fn está vinculado solo bajo el sistema X-Windows, que el núcleo no estará relacionado con él de ninguna manera, y que probablemente tendrá más suerte tratando de modificar la configuración de X11.
njsg

@njsg Puede usar las mismas teclas para cambiar de X11 a vt, y para volver (también entre vt), por lo que deben estar vinculados de la misma manera en un vt.
Volker Siegel

Respuestas:


10

Coloque esto en su /etc/X11/xorg.confarchivo para deshabilitar el cambio de VT con Ctrl+ Alt+ Fn:

Section "ServerFlags"
    Option "DontVTSwitch" "on"
EndSection

También necesitará lo siguiente para que los eventos pasen a los clientes conectados a la pantalla:

Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"
    Option "XKbOptions" "srvrkeys:none"
EndSection

(Ese último bit no se ha probado, consulte su fuente ).


Esto no reenvía la combinación a la ventana, X todavía la atrapa.
Jes

2
Después de unos meses de tener que ejecutar Windows, finalmente lo probé en Lubuntu 12.04, donde la ventana IntelliJ IDEA todavía no capta la pulsación de tecla.
Jes

2
El uso de las dos configuraciones fue necesario para mí y funcionó para mí. (en centos). ctrl-alt-f7 ahora muestra los usos en línea en intellij :).
Rob Dawson

3
Si está utilizando Intellij y desea utilizarlo CTL+ALT+F7para "Mostrar uso", en Lubuntu 15.04, el acceso directo predeterminado es de forma aguda CTL+ALT+7. Debería volver a cambiarlo CTL+ALT+F7si desea mantener la coherencia con otros sistemas operativos.
Xiao Peng - ZenUML.com

1
Solo para confirmar que esto también funciona en FreeBSD 11.
gsl

15

La siguiente invocación del setxkbmapcomando X11 desactiva la consola Ctrl-Alt-Fn / conmutación de terminal virtual:

setxkbmap -option srvrkeys:none

Para volver al comportamiento anterior de las teclas ctrl-alt-Fn, y también eliminar todas las demás opciones, como caps:ctrl_modifier:

setxkbmap -option ''

Para imprimir la configuración actual invocar setxkbmap -print.

Para invocar por usuario, coloque el comando en el archivo ~ / .xinitrc.

Para invocar cuando se inicia una Xsession, cree un archivo en

/etc/X11/Xsession.d

como

/etc/X11/Xsession.d/65srvrkeys-none

que contiene el setxkbmapcomando anterior y hacerlo ejecutable con sudo chmod +x /etc/X11/Xsession.d/65srvrkeys-none.

Para obtener más información de tipo man setxkbmapen la shell del sistema o consulte la página del manual de Xorg setxkbmap .

Probé esto con KDE en Ubuntu 14.04 LTS (Trusty). Esta configuración también está disponible en Configuración del sistema> Dispositivos de entrada> Teclado> Avanzado. Si cambia srvrkeysen la configuración de la GUI, se muestra inmediatamente setxkbmapy viceversa.

Prefiero modificar el sistema de ventanas X a través de las interfaces de línea de comandos X11. Si eso no funciona, entonces intento el entorno de escritorio. Como último recurso, modificaría los archivos de configuración del sistema. Las implementaciones y los formatos de archivo cambian, pero las interfaces de línea de comandos viven casi para siempre en la tradición de Unix / Linux.


Gracias, @RobertL. Tenía muchas esperanzas, pero no, esto no parece tener ningún efecto en mis instalaciones Debian jessie y Ubuntu 14.04. Ctrl-Alt-F7 y Ctrl-Alt-F8 todavía cambian de un lado a otro desde un terminal virtual. Tampoco tengo esa entrada de menú Configuración del sistema> Dispositivos de entrada> ... ¿Quizás eso es algo de KDE? Estoy usando GNOME o lo que sea el valor predeterminado de Ubuntu.
glts

He intentado de varias maneras y esta fue la única que funciona en Lubuntu 16.04, funciona cuando estoy conectado. ¿Sabes cómo hacer que funcione en la pantalla de bienvenida de lxdm? (en ubuntu con lightdm funciona).
J.Serra

1
Funciona en Linux Mint 18. Gracias.
Hoang Tran

1
A mí me funciona en Debian 8 (Jessie). NOTA: Solo probé la línea de comando setxkbmap -option srvrkeys:none. Puse la entrada en un archivo en /etc/X11/Xsession.d/65srvrkeys-none. Y aunque todavía no he cerrado la sesión y vuelvo a entrar, supongo que funcionará bien.
MikeyE

1
Me funcionó bien en Debian Buster; como @MikeyE Todavía no he cerrado sesión (y probablemente no lo haré en un par de semanas / meses ;-) pero el setxkbmapenfoque funcionó. ¡Muy apreciado!
Por Lundberg

1

Puede deshabilitar esto yendo a Configuración del sistema -> distribución del teclado -> opción. en las opciones de compatibilidad varias, marque "teclas especiales Ctrl+ Alt+ <key>manejadas en el servidor".

Verifiqué esto y Ubuntu no detecta ninguna combinación de Ctrl+ Alt+ .... pero aun así la idea no atrapa a Ctrl+ Alt+ F7y el problema aún existe !!!.


Tienes razón, Ubuntu no lo detecta, pero sospecho que el servidor X sí.
Jes

3
¡Hurra! ¡Descubrí que por defecto en Ubuntu IDEA maneja Ctrl + Alt + 7 en lugar de F7 !
o_nix

0

En Ubuntu 18.04 necesitas crear el siguiente archivo:

/usr/share/X11/xorg.conf.d/65-setxkbmap

con este contenido:

Section "ServerFlags"
    Option "DontVTSwitch" "on"
EndSection

Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"
    Option "XKbOptions" "srvrkeys:none"
EndSection

luego reinicie su sistema.


Excepto por el nombre de archivo, esto se ha sugerido en la respuesta aceptada.
RalfFriedl
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.