Ho progettato un layout di tastiera per me stesso, dopo averlo eseguito xmodmapfunziona 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 xmodmapfunziona 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 xmodmapconfigurazione ogni volta che esci dalla sospensione.
Qualcosa come il seguente script, salvato come /etc/pm/sleep.d/11suspend(cambia mein /bin/su - mecon 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 xmodmapcomando obsoleto , ma XKB ( xkbcomp).
Quindi puoi modificare le impostazioni dal tuo ~/.xsessionscript. 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 ~/.xsessionfile e le mie impostazioni XKB sono inserite ~/.xkb/symbols/locale ~/.xkb/types/localfile. 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.ddirectory; Potresti aver bisogno
xhost +si:localuser:root
nel tuo ~/.xsessionscript 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
~/.xsessionnon viene chiamato dopo riprendi qui. sai perché?
~/.xsessionnon viene mai eseguito dopo il ripristino, proprio quando inizia la sessione X. Devi fare xhost +si:localuser:rootsolo in questo momento.
xmodmapal caricamento di keymap personalizzate. Sembra funzionare anche molto meglio. Nel mio caso (XUbuntu 18.04) sembra sopravvivere anche la sospensione / ripresa.