Você pode usar xmodmap
para alterar o mapeamento da chave ~ .
Por exemplo, no meu sistema (layout padrão dos EUA), ele é configurado por padrão assim:
$ xev # then pressing Shift + ~
[..]
KeyRelease event, serial 36, synthetic NO, [..]
root 0xa3, [..]
state 0x11, keycode 49 (keysym 0x7e, asciitilde), same_screen YES,
XLookupString gives 1 bytes: (7e) "~"
XFilterEvent returns: False
Então, posso verificar como o keycode 49
está exatamente configurado:
$ xmodmap -pke | grep 'keycode *49'
keycode 49 = grave asciitilde grave asciitilde
Você pode alimentar uma expressão como essa de volta ao xmodmap, por exemplo com algo parecido com isto:
$ xmodmap -e 'keycode 49 = grave asciitilde grave asciitilde'