Ich kann xmodmap bei der Anmeldung in Ubuntu 13.04 nicht zum Laufen bringen. Ich habe mich auch in askubuntu umgesehen und alle Antworten, die ich gefunden habe, funktionieren nicht.
Ich habe eine Datei namens .Xmodmap in meinem Home-Ordner, die die gewünschten Zuordnungen enthält. Wenn ich es manuell ausführe, funktioniert es einwandfrei, es liegt also kein Fehler vor. Um es beim Start zum Laufen zu bringen, habe ich versucht:
Verwenden von verschiedenen,
.xinitrc
die einen der folgenden Befehle enthalten:xmodmap .Xmodmap
xmodmap ~/.Xmodmap
/usr/bin/xmodmap /home/NAME/.Xmodmap
if [ -s ~/.Xmodmap ]; then
xmodmap ~/.Xmodmap
fi
Verwenden Sie
.Xresources
statt.xinitrc
mit den gleichen Variationen.Festlegen als Startanwendung.
Unter Ubuntu 13.04 (64-Bit) funktioniert keines der oben genannten Verfahren. Ich habe auch ein paar Ideen zum globalen Ändern der Tastaturzuordnungen gesehen, aber die meisten davon waren in Ubuntu 13.04 nicht anwendbar (dh die entsprechenden Dateien waren nicht vorhanden, wo angegeben), und ich bevorzuge es, die globalen Einstellungen trotzdem nicht zu berühren.
unmodified
shift
altgr*
shift+altgr
. Aber was ist mitleft alt
undsuper key
?xkb
. Dies ist nicht nur kryptisch, sondern hat auch das Problem, dass Ihre benutzerdefinierten Karten gelöscht werden, wenn siexkb
aktualisiert werden.Für mich ist die xkb-Konfiguration zu kompliziert, wenn Sie 1 oder 2 Tasten auf eine Weise neu zuordnen möchten, die in den Systemeinstellungen nicht verfügbar ist. Außerdem sollte die Lösung auf der Benutzerseite bleiben, ohne '/ usr / share / X11 / xkb / symbols /' usw. zu bearbeiten. Das Laden von 'xmodmap ~ / .Xmodmap' mit den Startup Applications funktioniert nur, bis Sie Benutzer aussetzen, ändern oder ändern Sie das Tastaturlayout. Wie Holocronweaver vorschlägt, habe ich mit den gefundenen Codefragmenten ein Python-Skript erstellt, das beim Start der Sitzung geladen wird und das bei Bedarf die '~ / .Xmodmap' neu lädt.
Überprüfen Sie den Fehlerbericht # 1243642 (Kommentar # 6) und laden Sie ihn hier herunter .
quelle
Ich hatte dieses Problem in Ubuntu 14.04, und die Lösung gefunden hier . Anscheinend kann Ubuntu die Tastatur nicht sofort nach dem Einloggen konfigurieren, aber es ist ein bisschen später. Also, wenn Sie einen Befehl hinzufügen
bis
~/.bash_profile
dann sollte es klappen (tut es bei mir).BEARBEITEN: Dies scheint nur nach dem Einloggen zu funktionieren, nicht nach dem Starten. Ich muss das später untersuchen.
quelle
xmodmap ~/.Xmodmap
Caps LockIn Esczur
vim
Verwendung umwandelnHier ist meine Variante eines Startskripts für die Tastenzuordnung. Es konvertiert Caps Lockin eine Escbeliebige Tastatur zur Verwendung mit
vi
,vim
odergvim
.Im Gegensatz zur Antwort von q4w56 verwendet diese Antwort keine
while; do
Endlosschleife. Andernfalls würde ein Kern meiner Dual-Core-CPU alle 5 Sekunden 42% erreichen, was die Akkuladung meines Laptops erheblich verringert.Speichern Sie es als Skript. Machen Sie die Datei ausführbar mit
chmod +x
. Fügen Sie den Skriptnamen und den Speicherort zuSession and Startup → Application Autostart
(in Xubuntu) hinzu.Das Tastaturverhalten für diesen Benutzer bleibt während des Neustarts und der Abmeldung bestehen, wird jedoch nicht angehalten. Persistenz durch Suspend kann erreicht werden , aber leider nur auf Systemebene, nicht ohne weiteres auf Benutzerebene.
Begründung für dieses Tastatur-Remapping
In der heutigen Computerwelt wird der Caps LockSchlüssel kaum noch benötigt . Generell sollte man auf ALL CAPS verzichten, sowohl aufgrund der Netiquette als auch der Trennung von Präsentation und Inhalt . Darüber hinaus wird ein versehentliches Drücken der Caps LockTaste während des Bearbeitens von Text
vim
nicht immer sofort bemerkt, sondern führt ausnahmslos zu einem eher nervigenvim
Verhalten . Wenn Sie den Caps LockSchlüssel insgesamt deaktivieren und ihn als leicht zu erreichenden EscSchlüssel wiederverwenden, erhalten Sie einen doppelten Gewinnvim
.quelle
Caps Lock
Schlüssels kann fürvim
Benutzer von Apple MacBooks ohneEsc
Schlüssel lebensrettend sein .capslock
zuctrl
. Dies löst viele weitere Probleme, und in Vim können Siecapslock
+[
forEsc
Sorry zum Einmischen verwenden, aber ich fühlte mich verpflichtet, dies vorzuschlagen.How do you use vim after you close the lid on your laptop?
Durch Öffnen des Deckels natürlich!Ich hatte das Problem auch unter Ubuntu 16.04 mit fcitx und hatte die Lösung im fcitx-Wiki , aber es muss fcitx 4.2.7 oder neuer haben
touch ~/.Xmodmap
Es gibt auch eine Erklärung für den Grund.
quelle
@ Daniels Antwort wies mich in die richtige Richtung, aber ich würde gerne darauf eingehen.
Funktioniert für mich unter Linux Mint 17.2 und Ubuntu 16.04.
Ich habe versucht, alle denkbaren Drehungen beizubehalten
xmodmap
, aber sie schlagen alle fehl, wenn das System in den Ruhezustand wechselt. Gleiches gilt auch für Start-Up-Anwendungsskripte, diesetxkbmap
in Fällen verwendet werden, in denen der * settings-Daemon (für mich ist es xfce4) später als das Skript ausgeführt wird - und die Reihenfolge kann nicht wirklich beeinflusst werden.Was ich mir schließlich ausgedacht habe, hat die folgenden Zutaten:
1) Schreiben Sie eine minimale Tastaturzuordnungsdatei für
/usr/share/X11/xkb/symbols
. Rufenmylayout
wir die Datei auf. Es kann so einfach sein wiebasic
ist nur ein Name, wir sehen uns später wieder.name[Group1]
ist anscheinend nur ein Name, wird aber später keine Rolle mehr spielen.include "us"
Beinhaltet die normale US-Tastatur. Ist eigentlichus
eine andere Datei im selben Verzeichnis. Dies ist das Tastaturlayout, das wir anpassen. Wählen Sie nach Bedarf eine andere aus. Hinweis: Kein Semikolon zum Beenden dieser Zeile.key
Zeile ist eine Anpassung der Tastatur, weitere können folgen. Die<AE03>
finden Sie in den Dateien unter/usr/share/X11/xkb/keycodes
. Verwenden Sie dasxev
Programm, um herauszufinden, dass der "3" -Schlüssel den Schlüsselcode 12 hat und in der Schlüsselcode-Datei zugeordnetXfree86
ist<AE03>
.include
Anweisung, um eine andere Tastaturoption zu aktivieren. In diesem Fall möchte ich, dass die rechte Alt-Taste die Umschalttaste der Ebene 3 ist, dh die Taste, die den Zugriff auf dassterling
oben definierte Zeichen ermöglicht.level3
ist nur ein Dateiname im selben Ordner mitralt_switch
einem Abschnitt davon. Schauen Sie sich um und wählen Sie, was Sie aufnehmen möchten.2) Ich habe nicht setzen die
mylayout
in den Systemordner. Vielmehr habe ich nur einen Softlink vom Systemordner zu einem Ordner meiner Wahl erstellt, um sofort festzustellen, dass es sich nicht um eine Standard-Software handelt.3) Weiter habe ich nicht repariert
evdev.xml
, um Probleme beim Update zu vermeiden. Dies wäre jedoch erforderlich, um mylayout im Tastaturkonfigurationseditor zu finden (für xfce4 ist dies der Fallxfce4-keyboard-settings
). Stattdessen verwendete ichxfce4-settings-editor
und geändertkeyboard-layout->XkbLayout
zumylayout
(Dateiname) undXkbVariant
zubasic
(siehe oben). Anschließendmylayout/basic
wird auch im Tastatureinstellungseditor angezeigt. Eine Eingabe inevdev.xml
scheint nur notwendig zu sein, um das Layout auswählen zu können.Auf diese Weise überstehen die Tastatureinstellungen den Energiesparmodus und starten neu.
Weitere Hintergrundinformationen finden Sie hier: http://www.charvolant.org/~doug/xkb/html/node5.html .
Ein anderer Ansatz zur Behebung des Schlafmodus-Problems (ich habe es nicht selbst ausprobiert) ist hier zu finden: https://www.vinc17.net/unix/xkb.de.html .
UPDATE: arbeitete mit Mint 18.3 im selben Moment, als ich die Einstellungen im xfce4-settings-editor wie oben beschrieben änderte.
UPDATE: Mit 18.04, gdm3 als Anzeigemanager und XFCE4 als Fenstermanager sieht es so aus, als würde ~ / .Xmodmap erneut gelesen und die Einstellungen scheinen eine Unterbrechung zu überstehen . (Ich verwende nur selten suspend und bin mir nie sicher, in welchem Modus sich der Laptop dann wirklich befindet.)
quelle
REVISION
Ein Update Anfang 2018 hat die Persistenz unterbrochen - das automatische Neuladen der Tastaturbelegung nach dem Suspendieren oder Ruhezustand. Da die Methoden, die /etc/pm/sleep.d-Skripte verwenden, nicht mehr funktionierten (veraltet?), Blieb nur die neuere Methode übrig, die / lib / systemd / system-sleep und etwas andere Skripte (die anfingen, an Keymaps zu arbeiten!).
Daher wird dieser Beitrag auf die neuere Methode aktualisiert, um die Persistenz zu gewährleisten und das normale Laden der anfänglichen Tastaturbelegung einzuschließen, die ebenfalls funktioniert. Die Routine zum Konvertieren einer .Xmodmap-Datei in .xkbmap bleibt unverändert.
Beachten Sie, dass dies eine benutzerspezifische Lösung ist. Eine gerätebezogene Antwort finden Sie unter Anwenden einer Tastaturbelegung auf ein einzelnes Gerät . Diese Methode könnte für die Verwendung hier angepasst werden.
Ändern Sie zuerst die .Xmodmap-Datei wie gewünscht. Diese lassen sich einfacher direkt bearbeiten als .xkbmap-Dateien. Wenn es geladen ist:
konvertiere dann in eine .xkb Datei:
Um beim Start automatisch zu laden, öffnen Sie Startup Applications (Startanwendungen), klicken Sie auf Add (Hinzufügen) und geben Sie in der Befehlszeile Folgendes ein:
("Benutzer" wird durch den tatsächlichen Benutzernamen ersetzt.) Geben Sie unter Name möglicherweise Load Keyboard Map ein. Fügen Sie bei Bedarf einen Kommentar hinzu und klicken Sie auf Speichern.
Die Tastaturbelegung wird jetzt bei jedem Systemstart geladen, überlebt jedoch keinen Ruhezustand oder Ruhezustand. Erstellen Sie dazu eine neue Datei in / lib / systemd / system-sleep, möglicherweise mit dem Namen 60_xkbmap, die Folgendes enthält:
( Ref. ) Ersetzen Sie wie oben "user" durch den tatsächlichen Benutzernamen.
Die Tastaturbelegung sollte jetzt automatisch geladen werden und persistent bleiben. Hinweis:
quelle
Das hat mich auch gestolpert, als ich von Ubuntu 12.04 auf 13.04 upgegradet habe.
Glücklicherweise ist diese Einstellung jetzt (oder vielleicht schon immer) in den Tastatureinstellungen leicht zugänglich und kann mit ein paar Mausklicks geändert werden.
Los geht's: Linke Steuerung und Feststelltaste sind vertauscht.
Vergessen Sie nicht zu löschen,
~/.Xmodmap
sobald Sie die Änderung vorgenommen haben.quelle
XKBOPTIONS="ctrl:swapcaps"
in/etc/default/keyboard
.Das Hinzufügen dieses Skripts zum Start ist zufriedenstellend:
Ich habe versucht, mit
xmodmap ./Xmodmap
, aber jedes Mal, wenn es ausgeführt wird, wird eine spürbare Verzögerung auftreten.quelle
while; do
Endlosschleife sollte vermieden werden. Es verursachte, dass ein Kern meiner Dual-Core-CPU alle 5 Sekunden 42% erreichte, was die Akkuladung meines Laptops erheblich verringerte!