Ricollegare / disabilitare CTRL + ALT + F # Commutazione terminale virtuale / console


21

Ho un'applicazione che lega CTRL+ ALT+ F7, ma la mia macchina Linux sembra catturare la sequenza di tasti.

C'è un modo per ricollegare / disabilitare questa chiave? Una ricompilazione del kernel è una risposta accettabile.

Le distribuzioni in questione sono Fedora 16 e Ubuntu 11.10.


Non ho alcun consiglio specifico, ma penso, dato che CTRL + ALT + Fn è vincolato solo dal sistema X-Windows, che il kernel non sarà correlato ad esso in alcun modo e che probabilmente sarai più fortunato cercando di modificare la configurazione X11.
njsg

@njsg Puoi usare gli stessi tasti per passare da X11 a vt e per tornare indietro (anche tra vt), quindi devono essere associati allo stesso modo su un vt.
Volker Siegel,

Risposte:


10

Inseriscilo nel tuo /etc/X11/xorg.conffile per disabilitare la commutazione VT con Ctrl+ Alt+ Fn:

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

Sarà inoltre necessario quanto segue per far passare gli eventi ai client collegati al display:

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

(L'ultimo bit non è stato testato, fare riferimento alla sua fonte .)


Questo non inoltra la combinazione alla finestra, X la cattura ancora.
Jes

2
Dopo alcuni mesi di esecuzione di Windows, ho finalmente provato questo su Lubuntu 12.04, dove la finestra IDEA di IntelliJ non rileva ancora la sequenza di tasti.
Jes

2
L'uso delle due impostazioni è stato richiesto per me e ha funzionato per me. (su centos). ctrl-alt-f7 ora mostra gli usi in linea in intellij :).
Rob Dawson,

3
Se si utilizza Intellij e si desidera utilizzarlo CTL+ALT+F7per "Mostra utilizzo", su Lubuntu 15.04, il collegamento predefinito è acutalmente CTL+ALT+7. Dovresti cambiarlo di nuovo in CTL+ALT+F7se vuoi rimanere coerente con altri sistemi operativi.
Xiao Peng - ZenUML.com,

1
Solo per confermare che funziona anche su FreeBSD 11.
gsl

15

La seguente chiamata del setxkbmapcomando X11 disabilita la commutazione Ctrl-Alt-Fn console / terminale virtuale:

setxkbmap -option srvrkeys:none

Per tornare al comportamento precedente dei tasti ctrl-alt-Fn e rimuovere anche tutte le altre opzioni, ad esempio caps:ctrl_modifier:

setxkbmap -option ''

Per stampare le impostazioni correnti, richiamare setxkbmap -print.

Per invocare per utente, inserire il comando nel file ~ / .xinitrc.

Per invocare all'avvio di una Xsession, crea un file in

/etc/X11/Xsession.d

ad esempio

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

contenente il setxkbmapcomando precedente e renderlo eseguibile con sudo chmod +x /etc/X11/Xsession.d/65srvrkeys-none.

Per ulteriori informazioni, digitare man setxkbmapal prompt della shell o consultare la pagina man setxkbmap di Xorg .

Ho provato questo con KDE su Ubuntu 14.04 LTS (Trusty). Queste impostazioni sono disponibili anche in Impostazioni di sistema> Dispositivi di input> Tastiera> Avanzate. Se si cambia srvrkeysnelle impostazioni della GUI, viene visualizzato immediatamente in setxkbmape viceversa.

Preferisco modificare il sistema X window tramite le interfacce della riga di comando X11. Se il problema persiste, provo l'ambiente desktop. Come ultima risorsa, modificherei i file di configurazione del sistema. Le implementazioni e i formati di file cambiano, ma le interfacce della riga di comando vivono quasi per sempre nella tradizione Unix / Linux.


Grazie, @RobertL. Le mie speranze erano alte, ma no, questo non sembra avere alcun effetto sulle mie installazioni Debian jessie e Ubuntu 14.04. Ctrl-Alt-F7 e Ctrl-Alt-F8 continuano a passare avanti e indietro da e verso un terminale virtuale. Inoltre non ho quella voce di menu Impostazioni di sistema> Dispositivi di input> ... Forse è una cosa di KDE? Sto usando GNOME o qualunque sia l'impostazione predefinita di Ubuntu.
inizia il

Ho provato diversi modi e questo è stato l'unico che funziona in Lubuntu 16.04, funziona quando ho effettuato l'accesso. Sai come farlo funzionare nella schermata di benvenuto di lxdm? (in Ubuntu con LightDM funziona).
J.Serra,

1
Funziona su Linux Mint 18. Grazie.
Hoang Tran,

1
Funziona per me su Debian 8 (Jessie). NOTA: ho testato solo la riga di comando setxkbmap -option srvrkeys:none. Ho inserito la voce in un file /etc/X11/Xsession.d/65srvrkeys-none. E mentre non mi sono ancora disconnesso e riconnesso, suppongo che funzionerà bene.
MikeyE,

1
Ha funzionato bene per me su Debian Buster; come @MikeyE non mi sono ancora disconnesso (e probabilmente non lo farò tra un paio di settimane / mesi ;-) ma l' setxkbmapapproccio ha funzionato. Molto apprezzato!
Per Lundberg,

1

Puoi disabilitarlo andando su Impostazioni di sistema -> layout tastiera -> opzione. sotto varie opzioni di compatibilità selezionare "chiavi speciali Ctrl+ Alt+ <key>gestite nel server".

Ho controllato questo e Ubuntu non rileva alcuna combinazione di Ctrl+ Alt+ .... ma ancora l'idea non prende Ctrl+ Alt+ F7e il problema esiste ancora !!!.


Hai ragione Ubuntu non lo rileva, ma sospetto che l'X server lo faccia.
Jes

3
Sìì! Ho scoperto che per impostazione predefinita in Ubuntu IDEA gestisce Ctrl + Alt + 7 invece di F7 !
o_nix,

0

In Ubuntu 18.04 è necessario creare il seguente file:

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

con questo contenuto:

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

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

quindi riavviare il sistema.


Ad eccezione del nome file, questo è stato suggerito nella risposta accettata.
RalfFriedl,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.