Erneutes Binden / Deaktivieren von STRG + ALT + F # Virtual Terminal / Console Switching

21

Ich habe eine Anwendung , dass bindet CTRL+ ALT+ F7, aber meine Linux - Maschine scheint den Tastendruck zu fangen.

Gibt es eine Möglichkeit, diesen Schlüssel erneut zu binden / zu deaktivieren? Eine Neukompilierung des Kernels ist eine akzeptable Antwort.

Die fraglichen Distributionen sind Fedora 16 und Ubuntu 11.10.

Jes
quelle
Ich habe keinen konkreten Rat, aber ich denke, da STRG + ALT + Fn nur unter dem X-Windows-System festgelegt ist, wird der Kernel in keiner Weise damit in Verbindung gebracht, und Sie werden wahrscheinlich mehr Glück haben versucht, die X11-Konfiguration zu optimieren.
NJSG
@njsg Sie können die gleichen Tasten verwenden, um von X11 zu einem Vt zu wechseln und um (auch zwischen Vt) zurückzukehren. Sie müssen also auf einem Vt genauso gebunden sein.
Volker Siegel

Antworten:

10

Fügen Sie dies in Ihre /etc/X11/xorg.confDatei ein, um die VT-Umschaltung mit Ctrl+ Alt+ zu deaktivieren Fn:

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

Sie benötigen außerdem Folgendes, um Ereignisse an Clients weiterzuleiten, die mit der Anzeige verbunden sind:

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

(Das letzte Bit ist ungetestet, beziehen Sie sich auf seine Quelle .)

Sam Morris
quelle
Dadurch wird die Kombination nicht an das Fenster weitergeleitet, X fängt sie dennoch auf.
Jes
2
Nach ein paar Monaten, in denen ich Windows ausführen musste, habe ich dies endlich auf Lubuntu 12.04 getestet, wo das IntelliJ IDEA-Fenster den Tastenanschlag immer noch nicht abfängt.
Jes
2
Das Verwenden der beiden Einstellungen war für mich erforderlich und hat für mich funktioniert. (auf Centos). ctrl-alt-f7 zeigt jetzt die Verwendungen inline in intellij :).
Rob Dawson
3
Wenn Sie Intellij verwenden und CTL+ALT+F7für " Verwendung anzeigen " unter Lubuntu 15.04 verwenden möchten , ist die Standardverknüpfung akut CTL+ALT+7. Sie müssten es wieder ändern, CTL+ALT+F7wenn Sie mit anderen Betriebssystemen konsistent bleiben möchten.
Xiao Peng - ZenUML.com
1
Nur um zu bestätigen, dass dies auch unter FreeBSD 11 funktioniert.
gsl
15

Der folgende Aufruf des X11- setxkbmapBefehls deaktiviert die Umschaltung zwischen Konsole und virtuellem Terminal (Strg-Alt-Fn):

setxkbmap -option srvrkeys:none

Zur Rückkehr zum vorherigen Verhalten der Strg-Alt-Fn - Tasten, und entfernen Sie auch alle andere Optionen, wie zum Beispiel caps:ctrl_modifier:

setxkbmap -option ''

Um die aktuellen Einstellungen zu drucken, rufen Sie auf setxkbmap -print.

Um pro Benutzer aufzurufen, geben Sie den Befehl in die Datei ~ / .xinitrc ein.

Erstellen Sie eine Datei in, um sie beim Start einer Xsession aufzurufen

/etc/X11/Xsession.d

sowie

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

enthält den obigen setxkbmapBefehl und macht ihn ausführbar mit sudo chmod +x /etc/X11/Xsession.d/65srvrkeys-none.

Weitere Informationen erhalten Sie man setxkbmapan der Shell-Eingabeaufforderung oder in der Manpage zu Xorg setxkbmap .

Ich habe dies mit KDE unter Ubuntu 14.04 LTS (Trusty) getestet. Diese Einstellungen sind auch unter Systemeinstellungen> Eingabegeräte> Tastatur> Erweitert verfügbar. Wenn Sie srvrkeysdie GUI-Einstellungen ändern , wird dies sofort in setxkbmapund umgekehrt angezeigt.

Ich bevorzuge es, das X-Window-System über die X11-Befehlszeilenschnittstellen zu ändern. Wenn das nicht funktioniert, versuche ich die Desktop-Umgebung. Als letzte Möglichkeit würde ich die Systemkonfigurationsdateien ändern. Implementierungen und Dateiformate ändern sich, aber Befehlszeilenschnittstellen leben fast für immer in der Unix / Linux-Tradition.

RobertL
quelle
Danke, @RobertL. Meine Hoffnungen waren groß, aber nein, dies scheint keine Auswirkungen auf meine Debian-Jessie- und Ubuntu-14.04-Installationen zu haben. Ctrl-Alt-F7 und Ctrl-Alt-F8 wechseln weiterhin von und zu einem virtuellen Terminal. Ich habe auch keinen Menüeintrag Systemeinstellungen> Eingabegeräte> ... Vielleicht ist das eine KDE-Sache? Ich verwende GNOME oder was auch immer der Ubuntu-Standard ist.
Am
Ich habe verschiedene Methoden ausprobiert und diese war die einzige, die in Lubuntu 16.04 funktioniert. Sie funktioniert, wenn ich angemeldet bin. Wissen Sie, wie Sie sie in lxdms Begrüßungsbildschirm zum Laufen bringen können? (in ubuntu mit lightdm funktioniert).
J.Serra
1
Es funktioniert unter Linux Mint 18. Vielen Dank.
Hoang Tran
1
Es funktioniert für mich unter Debian 8 (Jessie). HINWEIS: Ich habe nur die Befehlszeile getestet setxkbmap -option srvrkeys:none. Ich habe den Eintrag in eine Datei eingefügt /etc/X11/Xsession.d/65srvrkeys-none. Und obwohl ich mich noch nicht abgemeldet und wieder angemeldet habe, wird es vermutlich gut funktionieren.
MikeyE
1
Hat bei Debian Buster gut funktioniert; like @MikeyE Ich habe mich noch nicht abgemeldet (und werde das wahrscheinlich nicht in ein paar Wochen / Monaten tun ;-), aber der setxkbmapAnsatz hat den Trick gemacht. Sehr geschätzt!
Per Lundberg
1

Sie können dies deaktivieren, indem Sie auf Systemeinstellungen -> Tastaturlayout -> Option gehen. Aktivieren Sie unter "Verschiedene Kompatibilitätsoptionen" die Option "Sonderschlüssel Ctrl+ Alt+ <key>werden im Server verarbeitet".

Ich habe dies überprüft und Ubuntu fängt keine Kombination von Ctrl+ Alt+ .... aber immer noch Idee verfängt nicht Ctrl+ Alt+ F7und das Problem noch Ausfahrten !!!.

rezamda
quelle
Sie haben Recht, Ubuntu fängt es nicht, aber ich vermute, dass der X-Server es tut.
Jes
3
Yay! Gefunden, dass standardmäßig in Ubuntu IDEA Strg + Alt + 7 statt F7 behandelt !
o_nix
0

In Ubuntu 18.04 müssen Sie die folgende Datei erstellen:

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

mit diesem Inhalt:

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

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

Starten Sie dann Ihr System neu.

vort2020
quelle
Mit Ausnahme des Dateinamens wurde dies in der akzeptierten Antwort vorgeschlagen.
RalfFriedl