Warum wird mein xmodmap-Befehl nicht beim Start / Anmelden ausgeführt?

8033
Matthew

Ich möchte diesen Befehl bei jeder Anmeldung ausführen (oder bei jedem Start, wenn das nicht funktioniert): xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'

Ich habe viele Dinge ausprobiert. Ich gebe den Befehl ein System > Preferences > Startup Applications. Ich legte es in eine .shDatei, markierte es chmod +xund legte diese Datei ein System > Preferences > Startup Applications. Ich habe das Skript eingefügt /etc/init.d. Ich gebe die Befehle ein ~/.profile. Nichts scheint zu funktionieren.

Zum Schluss stelle ich das in mein ~/.profile:

touch test1 xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete' touch test2 

Sowohl test1 als auch test2 werden erstellt, die Schlüssel werden jedoch nicht neu zugeordnet. Wenn ich den Befehl nur kopiere / einfügen und manuell ausführen, funktioniert das einwandfrei. Es läuft aber nicht beim Login. Irgendwelche Ideen?

10

3 Antworten auf die Frage

11
Gilles

~/.profileläuft früh in der Login-Reihenfolge. Wenn Ihre Desktop-Umgebung ein Tastaturlayout konfiguriert, können die gerade geladenen Einstellungen überschrieben werden.

Legen Sie Ihre Einstellungen in einer Datei ab ~/.Xmodmap:

keysym Delete = Menu keysym Menu = Delete 

Bei der nächsten Gnome-Umgebung in Ubuntu 10.04 werden Sie beim nächsten Anmelden gefragt, ob Sie laden möchten ~/.Xmodmap. Laden Sie es und klicken Sie auf "Fragen Sie mich nicht noch einmal". Dann werden Sie .Xmodmapnach den Standardeinstellungen angewendet.

Danke, das hat perfekt funktioniert. Wie würde ich aus Neugierde zu dem Dialog zurückkehren, in dem ich die Option "Bitte nicht erneut fragen" ausgewählt habe, wenn ich in der Zukunft etwas Zeit haben wollte? Matthew vor 14 Jahren 0
@Matthew: Nicht getestet: Starten Sie `gconf-editor`, navigieren Sie zu` / desktop / gnome / peripherals / keyboard / general` und bearbeiten Sie den Eintrag `known_file_list`, um` .Xmodmap` zu entfernen. Gilles vor 14 Jahren 1
Als ich diese Frage zum ersten Mal beantwortete, funktionierte das bei Ubuntu 10.10. Ich habe gestern eine Neuinstallation von Ubuntu 10.10 durchgeführt und eine identische .Xmodmap-Datei in meinem Home-Ordner abgelegt. Als ich mich wieder anmeldete, bekam ich den Dialog, lud .Xmodmap und markierte das Kästchen wie zuvor. Aber es scheint nicht, die Schlüssel neu zuzuordnen. Ich habe gconf eingecheckt, und .Xmodmap ist definitiv in der known_file_list. Irgendwelche Ideen? Matthew vor 14 Jahren 0
Bei Gnome 3.10.1 / Archlinux funktioniert das auch nicht für mich. Ich frage mich, ob etwas nicht in der Reihenfolge angepasst wurde, in der Gnome Tastaturlayouts lädt. Caleb vor 10 Jahren 0
Für Gnome 3.10, das nicht mehr ~ / .xmodmap lädt, habe ich eine Lösung gefunden, die unter https://bbs.archlinux.org/viewtopic.php?pid=1194968#p1194968 funktioniert: Deaktivieren Sie das Gnome-Tastatur-Plugin. `$ gsettings set org.gnome.settings-daemon.plugins.keyboard active false` plnx vor 9 Jahren 0
2
Alan

Ich habe festgestellt, dass an der oben genannten Stelle im Gconf-Editor der Name Ihres überarbeiteten Tastaturlayouts zweimal angezeigt werden sollte, einmal unter "known_file_list" und einmal unter "update_handlers". Warum Ubuntu manchmal den letzten Eintrag hinzufügt und manchmal nicht ... Nun, es hält Sie auf Trab, nicht wahr?

Nach langen Recherchen habe ich übrigens die obige Änderung verwendet, um die linke Windows-Taste neu zuzuweisen. Ich habe die folgende Anweisung in mein eigenes Tastaturlayout eingefügt, um die Nach-links-Taste zu duplizieren: -

Schlüsselcode 133 = 0xFF51

(Überprüfen Sie, ob dies die richtigen Codes für Sie sind, indem Sie in xev gehen und zuerst eine Taste und dann die andere drücken.)

Es ist nur ein kleiner Punkt, aber während ich im Internet bin, gibt es eine praktische "Zurück" -Taste - Alt + Win mit der linken Hand. Ich kann es tun, ohne hinzusehen.

Alan schrieb: "Ich fand, dass an der Stelle im Gconf-Editor der Name Ihres überarbeiteten Tastaturlayouts zweimal angezeigt werden sollte, einmal unter" known_file_list "und einmal unter" update_handlers "." Ich kann bestätigen, dass Alan Recht hat. In Ubuntu 10.10 muss ".Xmodmap" sowohl in der Datei "known_file_list" als auch in der Liste "update_handlers" unter "/ desktop / gnome / peripherals / keyboard / general" in gconf angezeigt werden, damit die Datei ~ / .Xmodmap wirksam wird -Editor. Danke, Alan. vor 13 Jahren 1
1
garyjohn

Einige Systeme suchen nach einer Datei mit dem Namen ~/.Xmodmapund führen die dort gefundenen Befehle aus. Fügen Sie diese Zeilen in diese Datei ein:

keysym Delete = Menu keysym Menu = Delete