Dropbox, notify-send e OSD interferem com os atalhos Ctrl

2

Estou usando o Ubuntu 13.04 com o i3 4.5.1. Quando o i3wm inicia, Ctrl-C / -D / -K etc. estão funcionando bem. Quando eu inicio o Dropbox, notifico-envie ou altero o volume, todos os atalhos Ctrl-something param de funcionar.

Eu posso reproduzir o problema:

  1. reinicie o X, faça login no i3wm
  2. terminal aberto, verifique se Ctrl-C, Ctrl-A, Ctrl-K e Ctrl-D funcionam = > trabalha
  3. inicie um dos seguintes programas:
    • Dropbox com /usr/bin/dropbox start
    • acionar uma notificação do OSD com notify-send "Test"
    • altere o volume com a tecla de volume
  4. tente Ctrl-C, -A, -K e -D no terminal novamente = > não funciona mais

Para restaurar os atalhos Ctrl-something, tenho que reiniciar o X. Curiosamente, os comandos com Shift-Ctrl-something ainda funcionam, se a tecla Shift for pressionada primeiro.

Aqui está a saída de xev quando pressiono Ctrl-C. Antes de executar o passo 3 acima:

    KeyPress event, serial 33, synthetic NO, window 0x1a00001,
        root 0x259, subw 0x0, time 7988829, (-219,177), root:(505,197),
        state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyPress event, serial 33, synthetic NO, window 0x1a00001,
        root 0x259, subw 0x0, time 7988878, (-219,177), root:(505,197),
        state 0x4, keycode 54 (keysym 0x63, c), same_screen YES,
        XLookupString gives 1 bytes: (03) "^C"
        XmbLookupString gives 1 bytes: (03) "^C"
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x1a00001,
        root 0x259, subw 0x0, time 7988949, (-219,177), root:(505,197),
        state 0x4, keycode 54 (keysym 0x63, c), same_screen YES,
        XLookupString gives 1 bytes: (03) "^C"
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x1a00001,
        root 0x259, subw 0x0, time 7988970, (-219,177), root:(505,197),
        state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False

Após o passo 3 acima:

    KeyPress event, serial 33, synthetic NO, window 0x1e00001,
        root 0x259, subw 0x0, time 8064649, (-238,542), root:(486,562),
        state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False

    FocusOut event, serial 33, synthetic NO, window 0x1e00001,
        mode NotifyGrab, detail NotifyAncestor

    FocusIn event, serial 33, synthetic NO, window 0x1e00001,
        mode NotifyUngrab, detail NotifyAncestor

    KeymapNotify event, serial 33, synthetic NO, window 0x0,
        keys:  2   0   0   0   32  0   0   0   0   0   0   0   0   0   0   0
               0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

    KeyRelease event, serial 33, synthetic NO, window 0x1e00001,
        root 0x259, subw 0x0, time 8064926, (-238,542), root:(486,562),
        state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
        XLookupString gives 0 bytes:
        XFilterEvent returns: False

Não tenho ideia de onde devo começar a depurar o problema. Você pode me dar algumas dicas sobre como encontrar a causa desse problema?

Obrigado!

Benedikt

    
por Benedikt Köppel 03.07.2013 / 10:46

1 resposta

1

OK, consegui localizar a causa do problema. Para outras pessoas com esse problema, veja como encontrar a causa

  1. siga o conselho do link e mate gnome-settings-manager , em seguida, verifique se os atalhos do Ctrl começaram para trabalhar novamente. Se for esse o caso, você acertou o bug que Marius descreveu em sua página e provavelmente deveria atualizar o X.org.
  2. Se isso não resolveu o problema, use xrestop para obter uma lista de todos os aplicativos X. Mate um deles, tente novamente os atalhos Ctrl e repita. Você pode descobrir qual aplicativo X capturou a tecla Ctrl.
  3. Se os atalhos Ctrl ainda não funcionarem, comece a eliminar outros processos (encontrados com ps aux ), tente novamente os atalhos Ctrl e repita. Um dos processos será capturar a tecla Ctrl. Claro, você pode perder dados ou seu sistema pode falhar quando você mata aleatoriamente os processos ...

Para mim, 1. e 2. não resolveram o problema. Na terceira etapa, descobri que dunst estava capturando a tecla Ctrl. dunst é um daemon de notificação, notificações do Dropbox, notificar-enviar e outras exibições na tela são manipulados por dunst no meu sistema. Isso explica porque o problema aconteceu assim que iniciei um desses programas. Eu desinstalei dunst , mas para aqueles que querem manter você também pode alterar a chave modifier em ~/.config/dunst/dunst (não defina como ctrl ).

    
por 04.07.2013 / 10:15