For a quick and minimal X-only solution, your best bet is to use xmodmap to map Multi_key and/or dead_diaeresis to a key. Run xev to find the keycode you wish to map (e.g. 48 for the Home key near the Cancel/Ok pair), then execute \"xmodmap -e \'keycode 48 = dead_diaeresis Multi_key\'\". Now pressing the key (Home or whatever you chose), releasing it, and pressing \'a\' puts \'\"\' on top of \'a\', similar for other characters. To generate the \'a\' with a ring on top, press Shift-Home, \'a\', \'a\' (or \'0\', \'a\' or whatever your compose sequence is), releasing keys after every press. A more thorough solution would fix the kernel/console keymap and load it with loadkeys before starting X.