Currently I use the character palette applet in gnome panel to put special characters into text.

This is okay, but I have to stop typing, select the character I want from the applet and then copy and paste.

Is there a way to simply type special characters with different key combinations? If so, how do I do it?

  • 1
    Run gucharmap. Applications -> Accessories -> Character map.
    – Anonymous
    Nov 10, 2011 at 21:54
  • 4
    Do for the compose key in right alt gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt']". Source askubuntu.com/a/784005/25388 Jun 7, 2016 at 16:42
  • 1
    @LéoLéopoldHertz in Ubuntu 20.04, to enable the Compose key via a GUI, I was able to use in gnome-tweaks Mar 19 at 22:49

9 Answers 9


Often this is easier with the compose key. With that configured you use key combos to get the special characters. For instance:

  • For ë you press Compose+", e.
  • For you press Compose+~, e.
  • For ô you press Compose+^, o.
  • For á you press Compose+', a.
  • For à you press Compose+`, a.
  • For you press Compose+=, e.
  • For £ you press Compose+-, l.

Note that you do not have to hold down the compose key; just press each key in order.

To set the compose key go to System -> Preferences -> Keyboard, then Layouts -> Options. Open up Compose Key Position and choose a key. I use Right-Alt.

  • 18
    Spot on, except for one thing - you don't need to hold down the compose key at all. Just hit the compose key, `, then a, and voilà! Jul 29, 2010 at 13:16
  • 5
    I recommend assigning the Compose key to Caps Lock, which I am pretty sure only comes standard on keyboards to annoy people.
    – tyjkenn
    Aug 16, 2012 at 1:15
  • 2
    á <-- it worked!
    – Dave
    Jun 26, 2015 at 4:09
  • 4
    At least for Ubuntu 16.04 the described path doesn't work. Neither is there a preferences section in System (it's called System Settings), nor is there a Layout section in Keyboards (it's called Keyboard, without s).
    – MERose
    Jan 10, 2018 at 19:59
  • 4
    This is the answer for distros from 10 years ago (which reflects the documentation, ironically). Neither one works for 20.04. The question needs to be tagged as ubuntu-10 or something. Sep 21, 2020 at 17:57

If you know the unicode value of the character you'd like to type, hit CTRL+SHIFT+u and then type the unicode.



results in λ.

  • 1
    I seriously didn't know this was possible. Many thanks. For anyone wondering where to find the unicode umm... codes, unicode.org/charts/index.html is the place to go.
    – taneli
    Jul 25, 2012 at 20:02
  • 7
    Seriously, only people on Windows do that.
    – rds
    Sep 19, 2013 at 20:01
  • do you know how to do this in wps office?
    – Marcel
    Oct 19, 2015 at 21:29
  • @taneli also you can use other way. click the Keyboard Layout Icon on the top bar, then click the Character Map link in the dropdown menu.
    – user513724
    Mar 20, 2016 at 13:58
  • @rds I disagree. I've been a Linux user since 1994 and taught many other users the hex method since my 80's DOS days. From around 2008, I started to teach them how to use US-Intl-AltGR + Compose instead. So maybe you mean to say "few new users rely on the hex code method".
    – Wil
    May 30 at 17:05

Here is an answer close to 1st answer, with a little alternative: I do not need to use compose because I set my keyboard to English US international instead of English US or English UK.

So I use the following combo:
" then e for ë
' then e for é
` then e for è
` then a for à
~ then n for ñ

" then spaceBar for "
' then spaceBar for '
` then spaceBar for `
~ then spaceBar for ~
Alt Gr plus 5 for

  • Is this still the case in Ubuntu 15.10? I don't get this working anymore. Setting either 'English (US, international, with dead keys)' or 'English (international, dead keys via AltGr)' doesn't work.
    – Lode
    Jan 28, 2016 at 21:10
  • 1
    I've found that setting the 'English (US, international, with dead keys)' actually works if set via lxkeymap (sudo apt-get install lxkeymap). Even more interesting, it only needs to be set once, as if some extra config is changed to make it work. (Dutch source: sites.google.com/site/computertip/toetsenbord)
    – Lode
    Jan 28, 2016 at 21:28
  • @Lode sorry I ve not install 15.10 yet.
    – Boris
    Mar 24, 2016 at 19:23

The easiest way I've found to do this is to set your keyboard layout to USA International (AltGr dead keys), then use Right-Alt+whatever to get the character you want. Obviously this does not work for all international/special characters, so if you need one that's not available through this method, use one of the other methods listed here.

Wikipedia gives us a handy diagram of the available characters and the keys they are mapped to.

  • It's also relatively easy to edit a keyboard layout file and tailor it to one's needs: — – «» “” … Sep 4, 2010 at 0:32
  • Most local keyboard layouts (e.g. Belgian, French, etc.) also support AltGr, but the selection and location of special characters will be different. The exact layout can be seen on a similar diagram from inside the keyboard configuration.
    – JanC
    Jun 9, 2011 at 13:23
  • 2
    Using English (international AltGr dead keys) as keyboard layout, use Right-Alt + R to get ë/Ë. Right-Alt + Q = ä/Ä; Right-Alt + P = ö/Ö; Right-Alt + Y = ü/Ü; Right-Alt + S = ß
    – c0xc
    Apr 26, 2017 at 15:13
  • Alt-Gr + dead key is available from scratch. It saved my life when selecting a Wi-Fi hotspot with a special character in the name, as I was performing a fresh Ubuntu install. Jul 8, 2018 at 17:02

Note for dummies like myself. It took me a while...

  1. Press Cont & Shift & u together
  2. Let go of all three keys
  3. input code (for example: 00e1 for á)
  4. Enter
  • 1
    Can you imagine someone writing a long text with accented characters using your approach?! It's not feasible. Jul 29, 2018 at 21:24
  • You don't need the leading zeroes. Just e1 will work for á.
    – wjandrea
    Apr 27, 2019 at 23:30

If you are on Ubuntu 20.04 :

Go to Setting > Region and language > on the Input Sources Click on "+" button and choose English (United States) then English(US,intl.,with dead keys).

' + e -> é
" + e -> ë
` + e -> è

  • 1
    The exact same answer was already posted here by user Boris, and with a better explanation, yet it seems like this is a good extra step since later versions do not fully support their method (as commented).
    – Pizza
    Apr 9, 2021 at 7:29
  • It's not the same answer. Oussama provided the only solution that works for the latest releases of Ubuntu. Thanks!
    – prismspecs
    Mar 11 at 11:56

You can use Ctrl + U and type Unicode number of the sign you want to type. So for ē you have to type Ctrl + U + 113.

  • 2
    Ctrl + U is unlderline.
    – virtualxtc
    Jan 21, 2019 at 19:05

The compose key it's defined to do key combinations. It's Used to produce special characters like tildes and accents. To see the list of key names open /usr/share/X11/xkb/rules/xorg.lst and search for "compose".

This technique was tested in Lubuntu. Two ways to enter special characters:

  1. Call setxkbmap to define compose key in the current session
  2. Define compose key permanently

1). Command line $ setxkbmap -option "compose:rwin". Example to define compose key right 'Win'.

2). Open file /etc/default/keyboard and add line XKBOPTIONS="compose:rwin" (requires restart).

Example to write character ã after defining compose key. Press the compose key, then key 'a' and finally the tilde (AltGr + 4).



Change your keyboard layout to us. intl with dead keys

Go to

Control center > keyboard > layout > add > set country to us > Select us intl. with dead keys.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.