Il layout della tastiera personalizzata viene ripristinato ai valori predefiniti dopo l'attesa o il riavvio


11

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 lo stesso problema, debian jessie con xfce4.
John Lawrence Aspden,

Risposte:


6

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

3

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é?
brauliobo,

@brauliobo ~/.xsessionnon viene mai eseguito dopo il ripristino, proprio quando inizia la sessione X. Devi fare xhost +si:localuser:rootsolo in questo momento.
vinc17,

Grazie mille per questa informazione Non avevo idea che esistesse un metodo più recente rispetto xmodmapal caricamento di keymap personalizzate. Sembra funzionare anche molto meglio. Nel mio caso (XUbuntu 18.04) sembra sopravvivere anche la sospensione / ripresa.
Tobia,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.