[gelöst] Wie Tastaturbelegung dauerhaft ändern?
[gelöst] Wie Tastaturbelegung dauerhaft ändern?
Ich habe eine .Xmodmap angelegt, um die Shift-Lock-Taste zu eine F13-Taste zu ändern. Aber die Einstellungen merkt sich Gnome nicht dauerhaft, ich muss xmodmap manuell ausführen. Wie bekomme ich die Änderungen dauerhaft?
Zuletzt geändert von borish am 08.05.2019 18:04:26, insgesamt 1-mal geändert.
Re: Wie Tastaturbelegung dauerhaft ändern?
Aus der manpage:
It is usually run from the user's session startup script to configure the keyboard according to personal tastes.
Somit wäre ~/.xsession ein richtiger Ort:
It is usually run from the user's session startup script to configure the keyboard according to personal tastes.
Somit wäre ~/.xsession ein richtiger Ort:
Code: Alles auswählen
[ -f "$HOME/.Xmodmap" ] && /usr/bin/xmodmap "$HOME/.Xmodmap"
Re: Wie Tastaturbelegung dauerhaft ändern?
Ich habe eine .xsession mit obigem Inhalt angelegt, diese bleibt aber wirkungslos. Ich vermute, dass gdm die .xsession nicht liest.
Zuletzt geändert von borish am 08.05.2019 15:01:26, insgesamt 1-mal geändert.
Re: Wie Tastaturbelegung dauerhaft ändern?
.xsession nicht .Xsession. Ändere das mal und probiere. Wenn das nicht funktioniert, existiert eine ~/.xinitrc bei dir? Bin mir komplett unsicher über das Startverhalten dieser Displaymanager.
Re: Wie Tastaturbelegung dauerhaft ändern?
Ich hatte mich verschrieben, die Datei heißt .xsession. Ich habe keine .xinitrc.
Re: Wie Tastaturbelegung dauerhaft ändern?
Geh' einfach mal hier die die 3 Dateien von oben nach unten durch. Ich nehme aber mal an, dass du den Login benötigst.
EDIT: $HOME kannst du natürlich nur nach Login verwenden. Am einfachsten ausschreiben: /home/<USERNAME>
https://unix.stackexchange.com/question ... n-on-linuxGDM
Be careful with GDM, it will run all script as root, a different error code than 0 could limit your log in capability and GDM will wait for your script to finish making it irresponsive as long as your command run.
For complete explanation read the documentation.
Before Login
If you need to run commands before a user logged-in you can edit the file:
/etc/gdm3/Init/Default.
This file is a shell script that will be executed before the display manager is displayed to the user.
After Login
If you need to execute things once a user has logged in but before its session has been initialize edit the file:
/etc/gdm3/PostLogin/Default If you want to execute command after the session of session initialization (env, graphical environment, login...) edit the file:
/etc/gdm3/PreSession/Default
EDIT: $HOME kannst du natürlich nur nach Login verwenden. Am einfachsten ausschreiben: /home/<USERNAME>
Re: Wie Tastaturbelegung dauerhaft ändern?
Schreib' das mal in Deine .bashrc
Code: Alles auswählen
if [ "$TERM" == "xterm" ]; then
xmodmap ~/.Xmodmap
fi
Re: Wie Tastaturbelegung dauerhaft ändern?
Was aber keine so tolle Idee wäre:
1. würde das die Bash voraussetzen, 2. würde es bei jeder interaktiven Nicht-Login-Sitzung ausgeführt werden und 3. setzt es xterm voraus.
1. würde das die Bash voraussetzen, 2. würde es bei jeder interaktiven Nicht-Login-Sitzung ausgeführt werden und 3. setzt es xterm voraus.
Re: Wie Tastaturbelegung dauerhaft ändern?
In der ersten Datei steht
Am Ende geht es weiter mit
Allerdings gibt es auf meinem Stretch weder gdmwhich noch /etc/X11/Xmodmap.
Es scheint, dass in keiner der Dateien $HOME/.xsession oder .Xmodmap verwendet wird.
Code: Alles auswählen
sysmodmap=/etc/X11/Xmodmap
XMODMAP=`gdmwhich xmodmap`
if [ "x$XMODMAP" != "x" ] ; then
if [ "x$GDM_PARENT_DISPLAY" = "x" ]; then
if [ -f $sysmodmap ]; then
$XMODMAP $sysmodmap
fi
else
( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP -
fi
Code: Alles auswählen
SETXKBMAP=`gdmwhich setxkbmap`
Es scheint, dass in keiner der Dateien $HOME/.xsession oder .Xmodmap verwendet wird.
Re: Wie Tastaturbelegung dauerhaft ändern?
Wir reden doch von einer selbstangelegten Punktdatei .Xmodmap in Deinem Home?
@tobo
Eine .bashrc ist in jedem System, und xterm muß nicht installiert sein.
Das hat vor Jahren bei mir immer problemlos funktioniert, auch mit einem anderen Terminal.
@tobo
Eine .bashrc ist in jedem System, und xterm muß nicht installiert sein.
Das hat vor Jahren bei mir immer problemlos funktioniert, auch mit einem anderen Terminal.
Re: Wie Tastaturbelegung dauerhaft ändern?
Die ~/.bashrc wird ja aber nicht zwingend ausgeführt. Und wieso sollte das Ausführen des Befehls an das Setzen der Variable $TERM auf xterm gekoppelt sein? Das macht ja überhaupt keinen Sinn. Bei mir steht $TERM z.B. auf rxvt-unicode und anstatt bash benutze ich häufig mksh.
@borish: Mit durchgehen meinte ich, du hättest die obige Quelltextzeile nacheinander in den 3 Dateien unten anfügen sollen und dann ausprobieren, ob's nach einem Neustart funktioniert!?
Dann jetzt so: Kopiere mit Root-Rechten
an das Ende der Datei /etc/gdm3/PreSession/Default und dann die grafische Oberfläche beenden und neu starten.
@borish: Mit durchgehen meinte ich, du hättest die obige Quelltextzeile nacheinander in den 3 Dateien unten anfügen sollen und dann ausprobieren, ob's nach einem Neustart funktioniert!?
Dann jetzt so: Kopiere mit Root-Rechten
Code: Alles auswählen
[ -f "$HOME/.Xmodmap" ] && /usr/bin/xmodmap "$HOME/.Xmodmap"
Re: Wie Tastaturbelegung dauerhaft ändern?
@KP97: Mit .bashrc funktioniert es nicht, weil das erst gelesen wird, wenn ein Terminal geöffnet wird.
Da es offenbar keine Lösung gibt, die ohne das Hacken von Systemdateien auskommt, habe ich einfach in
die Zeile
geändert. Das funktioniert.
Da es offenbar keine Lösung gibt, die ohne das Hacken von Systemdateien auskommt, habe ich einfach in
Code: Alles auswählen
/usr/share/X11/xkb/symbols/de
Code: Alles auswählen
key <CAPS> { [ Caps_Lock ] };
Re: Wie Tastaturbelegung dauerhaft ändern?
Bis zum nächsten Update dieser Datei, durch die Paketverwaltung. In /etc liegen Konfigurationsdateien, die systemweite Gültigkeit haben und zum Ändern vorgesehen sind. Wo ist dein Problem, was funktioniert nicht dabei? Aber, wenn's ja funktioniert ist es ok...borish hat geschrieben:08.05.2019 18:01:39Da es offenbar keine Lösung gibt, die ohne das Hacken von Systemdateien auskommt, habe ich einfach indie ZeileCode: Alles auswählen
/usr/share/X11/xkb/symbols/de
geändert. Das funktioniert.Code: Alles auswählen
key <CAPS> { [ Caps_Lock ] };
Re: [gelöst] Wie Tastaturbelegung dauerhaft ändern?
Deine Lösung habe ich getestet, sie hat aber auf meinem Debian Stretch nicht funktioniert.
Ja, eine Lösung ohne Ändern von Systemdateien wäre mir auch lieber.
Ja, eine Lösung ohne Ändern von Systemdateien wäre mir auch lieber.
Re: [gelöst] Wie Tastaturbelegung dauerhaft ändern?
Dann würde ich an deiner Stelle diese Lösung erstmal beibehalten, das [gelöst] im Thread-Titel entfernen und darauf warten, dass sich jemand mit Ahnung meldet. Das sollte eigentlich ein Allerweltsproblem für einen gdm-Benutzer bzw. generell einen Benutzer eines Displaymanagers sein!?