Há dois problemas separados aqui e tentarei abordar ambos.
O primeiro é como citar corretamente um comando em .xbindkeysrc
.
Tudo o que você precisa fazer é usar um comando que funcione em bash
e, em seguida, colocar aspas duplas em torno dele.
Por exemplo, para um comando com espaço, você teria que executar
"/home/user/My Programs/progname"
ou
/home/user/My\ Programs/progname
em bash
.
O que significa que você precisa
""/home/user/My Programs/progname""
ou
"/home/user/My\ Programs/progname"
no seu .xbindkeysrc
.
Tecnicamente, o que está acontecendo é que xbindkeys remove o par mais externo de aspas duplas e, em seguida, executa a sequência restante usando sh -c
.
No seu exemplo, o comando
pacmd dump|awk --non-decimal-data '$1~/set-sink-volume/{system ("pacmd "$1" "$2" "$3+2500)}'
funciona bem no bash, então acho que o problema está em outro lugar.
Tente executar xbindkeys
com a opção -v
, o que faz com que xbindkeys
seja executado em primeiro plano, para que você possa ver erros no seu terminal.
No meu caso, isso mostra que a causa subjacente não é ruim, mas pacmd
está dando um erro
...
No PulseAudio daemon running, or not running as session daemon.
mas se você tem o PulseAudio funcionando, eu acho que você precisa mudar pacmd
para pactl
, porque a página man diz que pacmd
não aceita argumentos, e vários outros exemplos na web mostram usando pactl
para este fim.