I'm trying to switch left Ctrl key with caps permanently. But with ubuntu native keyboard layout switcher xmodmap did not persisted (this question). So now i just ditched native switcher and using setxkbmap command instead. I created a script:

setxkbmap -model pc104 -layout us,ru -option grp:alt_shift_toggle -option ctrl:swapcaps

It works just as I want to. But now i want to auto run it on system start up. But if I put this under Sturtup Applications it does not work. Apparently something else resets xkb map after my script at start up.

Does anyone know what triggers reset of xkb and how to get rid of it?

  • 1
    Could you try run sudo dpkg-reconfigure console-setup to make these changes system wide.
    – user.dz
    Commented Feb 1, 2014 at 14:21

1 Answer 1


Finally, after much research here's what I found for ubuntu 13.10:

$ sudo apt-get install dconf-tools
$ dconf-editor

navigate to org >> gnome >> desktop >> input-sources

Put your options under xkb-options as a list. Ex: ['altwin:ctrl_alt_win','..etc..']

Then close the dconf-editor. Changes should come live straight away.

... I'd post a screenshot but my reputation on this board isn't high enough, please gimme some points ;)


  • 2
    Still works on Unity on 16.04. Thank you!
    – slinkp
    Commented Jun 29, 2016 at 2:00
  • this is single user only and is gnome only.
    – RichieHH
    Commented Oct 7, 2020 at 11:42
  • @RichieHH yes. I did not want to modify the mapping for other users.
    – user76369
    Commented Apr 10, 2022 at 2:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .