Ho progettato un layout di tastiera per me stesso, dopo averlo eseguito xmodmap
funziona bene, ma dopo lo standby o il riavvio, il layout torna a qwerty.
Come posso impostarlo come predefinito? Il mio sistema operativo è Debian Wheezy con XFCE4.
Ho progettato un layout di tastiera per me stesso, dopo averlo eseguito xmodmap
funziona bene, ma dopo lo standby o il riavvio, il layout torna a qwerty.
Come posso impostarlo come predefinito? Il mio sistema operativo è Debian Wheezy con XFCE4.
Risposte:
Dai un'occhiata a questo thread del forum archlinux Xmodmap Reset dopo Suspend to RAM . Ci sono diversi esempi nel thread che ti faranno iniziare e ti mostreranno come impostare un hook che verrà attivato tramite il sottosistema di gestione dell'alimentazione che eseguirà la tua xmodmap
configurazione ogni volta che esci dalla sospensione.
Qualcosa come il seguente script, salvato come /etc/pm/sleep.d/11suspend
(cambia me
in /bin/su - me
con il tuo vero nome utente):
#!/bin/bash
case $1 in
hibernate)
echo "Hey guy, we are going to suspend to disk!"
;;
suspend)
echo "Oh, this time we're doing a suspend to RAM. Cool!"
;;
thaw|resume)
echo "oh, suspend is over, we are in $1 phase..."
# Set Display #
DISPLAY=:0.0 ; export DISPLAY
/bin/su - me -c "sleep 3; /usr/bin/xmodmap /home/me/.xmodmaprc" &
;;
*) echo "somebody is calling me totally wrong."
;;
esac
Nota prematura: non dovresti usare il xmodmap
comando obsoleto , ma XKB ( xkbcomp
).
Quindi puoi modificare le impostazioni dal tuo ~/.xsession
script. Personalmente ho:
setxkbmap -types local -print | \
sed -e '/xkb_symbols/s/"[[:space:]]/+local&/' > $HOME/.xkb/keymap/custom
xkbcomp -w0 -I$HOME/.xkb -R$HOME/.xkb keymap/custom $DISPLAY
nel mio ~/.xsession
file e le mie impostazioni XKB sono inserite ~/.xkb/symbols/local
e ~/.xkb/types/local
file. Ciò modificherà le impostazioni dopo ogni accesso X.
Sfortunatamente queste impostazioni vengono perse dopo la sospensione / ripresa . C'è una soluzione alternativa: salvarli e ripristinarli tramite pm-utils con uno script nella /etc/pm/sleep.d
directory; Potresti aver bisogno
xhost +si:localuser:root
nel tuo ~/.xsession
script poiché root non ha le tue informazioni xauth. Ho fornito un esempio (per XKB): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92
~/.xsession
non viene chiamato dopo riprendi qui. sai perché?
~/.xsession
non viene mai eseguito dopo il ripristino, proprio quando inizia la sessione X. Devi fare xhost +si:localuser:root
solo in questo momento.
xmodmap
al caricamento di keymap personalizzate. Sembra funzionare anche molto meglio. Nel mio caso (XUbuntu 18.04) sembra sopravvivere anche la sospensione / ripresa.