Wie deaktiviere ich die Alt-Pfeil-Umschaltung von virtuellen Konsolen?

36

Folgendes passiert auf verschiedenen Sprachen:

Wenn ich mich in einer virtuellen Konsole befinde, halte Altund drücke oder , um den virtuellen Zyklus zu starten. Das ist wirklich ärgerlich, da ich Fischschalen verwende, die auch diese Tastenkombination verwenden. Ich könnte die Abkürzungen des Fisches neu zuordnen, aber ich will nicht. Stattdessen möchte ich die Linux-Funktion deaktivieren oder neu zuordnen.

Wie kann ich die tty-cycling-key-combo deaktivieren oder ändern?

Max Ried
quelle
2
Eine Antwort, die Ihnen helfen könnte: superuser.com/questions/290115/…
Didi Kohen

Antworten:

14

Mit dem loadkeysBefehl können Sie Schlüssel auf der Linux-Konsole neu zuordnen. In den folgenden Zeilen werden die Tastenzuordnungen zum Umschalten von Konsolen (auf einer PC-Tastatur) definiert:

alt keycode 105 = Decr_Console
alt keycode 106 = Incr_Console

Laden Sie Ihre eigene Keymap-Datei, die diese Bindungen mit einer von Fish erkannten Escape-Sequenz überschreibt. Damit ein Schlüssel eine Escape-Sequenz sendet, müssen Sie ihn an einen Schlüsselnamen des Formulars binden und eine Zeichenfolge für definieren .FNUMBERFNUMBER

alt keycode 105 = F105
alt keycode 106 = F106
string F105 = "\033\033[D"
string F105 = "\033\033[C"

Unterschiedliche Distributionen (und manchmal unterschiedliche Pakete für die Konsolenunterstützung) speichern die Systemstart-Keymap an verschiedenen Speicherorten unter /etc. Suchen Sie nach einer Datei mit dem Namen *.kmapoder *.kmap.gzoder *.mapoder *.map.gzunter /etcoder konsultieren Sie das Handbuch Ihrer Distribution. Einige Distributionen speichern stattdessen den Namen der Keymap /etcund platzieren die eigentliche Keymap an einer anderen Stelle. Suchen Sie unter /etc/sysconfigoder in einem anderen Konfigurationsverzeichnis nach einer keymap-bezogenen Einstellung .

Sie können entweder eine eigene Keymap schreiben und include "/path/to/foo.map"auf die System-Keymap verweisen oder eine eigene Keymap laden, die nur die Einstellungen enthält, die Sie während des Startvorgangs ändern möchten.

Gilles 'SO - hör auf böse zu sein'
quelle
Sind Sie sich über die .kmapErweiterung sicher ? Ich konnte auf Fedora 20 keine Dateien finden, aber andererseits fand ich /lib/kbd/keymaps/legacy/i386/qwerty/us.map.gz.
Cristian Ciupitu
@CristianCiupitu Meine schlechte, ich hätte erwähnen sollen, wie dies getan werden kann. Ich denke, dass es auf Fedora irgendwo eine Einstellung gibt /etc/sysconfig, die den Namen der Keymap-Datei bestimmt, die beim Start geladen werden soll.
Gilles 'SO- hör auf böse zu sein'
Soll ich mein Setup mit bekommen dumpkeys, es speichern, ändern und ändern /etc/sysconfig? Wird es dadurch hartnäckig?
Max Ried
@ Gilles, vielleicht können die Manpages für systemd-vconsole-setup.service und [vconsole.conf] ( freedesktop.org/software/systemd/man/vconsole.conf.html ) etwas Licht ins Dunkel bringen.
Cristian Ciupitu
@MaxRied Ich empfehle, die beiden getrennt zu halten, es wird einfacher zu warten sein. Ändern Sie den Verweis in /etc/sysconfigeine Datei, die eine includeDirektive zur Standard-Keymap enthält.
Gilles 'SO- hör auf böse zu sein'
44

Hier ist eine einmalige Lösung:

sudo sh -c 'dumpkeys |grep -v cr_Console |loadkeys'
Tobu
quelle
Ich würde vorschlagen, dies als Befehl in 'Startanwendungen' hinzuzufügen.
Samy Bencherif
20

Ich habe Tobus Antwort überarbeitet, um nur das absolut Notwendige zu ändern:

sudo sh -c 'dumpkeys -k|grep -v Incr_Console|grep -v Decr_Console|grep -v Last_Console|loadkeys'

NB: Wie gesagt, dies ist eine einmalige Korrektur und wird wahrscheinlich nach einem Neustart verschwunden sein.

Gunar Gessner
quelle
1
Zwei Korrekturen: 1. Nur Schlüsselbindungen sichern, um einen Syntaxfehler in loadkeys zu vermeiden; 2. Entfernen Sie auch Last_Console (Alt + Tab): sudo sh -c 'dumpkeys | grep -v Incr_Console | grep -v Decr_Console | loadkeys' Vielen Dank dafür!
Reuben Thomas
Nach meinem vorherigen Kommentar stellte ich fest, dass die LED für die Feststelltaste immer noch ein- und ausgeschaltet war (obwohl die Feststelltaste immer noch der Steuerung auf meinem System zugeordnet war). Um dies zu beheben, funktioniert das Herausfiltern der Zeile mit Caps_Lock nicht, da dies die einzige Zuordnung für den relevanten Schlüsselcode ist. Sie wird daher nicht überschrieben, wenn die gefilterte Liste der Zuordnungen erneut geladen wird. Am Ende bestand die einfachste Lösung darin, eine "bekanntermaßen gute" Tastaturbelegung zu sichern und diese dann explizit zu laden.
Reuben Thomas
14

Ich hatte das Problem manchmal mit Ubuntu 18.04:

sudo kbd_mode -s

Hat den Job gemacht. (zumindest vorübergehend)

Einen ausführlichen Fehlerbericht finden Sie hier auf dem Launchpad .

Spule
quelle
Wie funktioniert das? Ich zögere, zu experimentieren, weil auf der Manpage steht: "Warnung: Wenn Sie den Tastaturmodus anders als zwischen ASCII und Unicode ändern, wird Ihre Tastatur wahrscheinlich unbrauchbar."
Nshiff
1
Hallo, ich habe einen Link hinzugefügt.
COil
Vielen Dank! Das hat funktioniert. Ich habe versucht, unter bugs.launchpad.net/ubuntu/+source/console-setup/+bug/520546 auf "Ja, es betrifft mich" zu klicken, aber es wird weiterhin ein Timeout-Fehler angezeigt . Irgendeine Idee, wie man das behebt?
6005
Ich nehme an, es sollte vorübergehend sein, oder Sie müssen einen Fehlerbericht für das Fehlerberichts-System selbst erstellen! : p
COil