First of all I'm working on a keyboard using a QWERTY layout.

Now once in a while I need to get the Euro (€) symbol in my terminal (typically in a xterm).

If I cut'n'paste the Euro symbol, it shows up fine in my xterms, which have their locale set like this:


How can I configure my Linux (Debian / X) so that I can easily (and fastly) output an Euro symbol, without messing my setup? (for example, I'm not switching to a non-QWERTY layout).

I don't care if it only works in X / xterm, that would be good enough for me.

Ideally I'd need a way to configure a shortcut that I can change to my will, to be sure it wouldn't interfere with my usual shortcuts.

Say, if I want to have ctrl+alt+e to output:€ in my xterm, how would I go about it?


If you setup a ComposeKey then you can enter the Euro with the sequence compose-E-=, and get lots of other special characters in a similar way.

https://help.ubuntu.com/community/GtkComposeTable has some relevant information (not all of it specific to Gtk or Ubuntu; compose key works even if you have no gtk or Gnome) See also How do I put a hat on 'e' (ê)? and Remapping caps-lock to escape, and menu to compose, on the linux console


The easiest way would be to use a compose key.

Ubuntu has a community page that describes this feature very well, but I'm not sure about its accuracy when not using Ubuntu. The page says that Shift+RightAlt is the default key but it was not for me on Debian (although I do not use the normal US English layout).

Personally I set my compose key to the Menu key because I didn't find the default behavior of it useful.

After you have a working compose key configured, typing a Euro symbol with it can be done using at least 8 different combinations. Press and release (do not hold it and type the next character, it is not a modifier key) the compose key, followed by e, then =.

You can use either e or c, and E or C work as well. Additionally the order of the two characters does not matter for this composition so you can enter the = first.


The Euro symbol (€) is Unicode character U+20AC, so at least one of the following should work:

  • Press and hold Shift+Ctrl while you type U20A and C (and then release Shift and Ctrl).
  • Type Shift+Ctrl+U (i.e., press and hold Shift+Ctrl while you type U, and then release Shift and Ctrl), then type 20A and C, and then press and release Shift+Ctrl.

May be this could help:

If the euro character is not represented in your X terminal emulator, you can change the default font by changing either the users' configuration files (.Xdefaults or .Xresources) or the system-wide configuration at /etc/X11/app-defaults/XTerm:

 *font:     -misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15
 *VT100*font2:           -misc-fixed-medium-r-normal-*-*-70-*-*-c-*-iso8859-15
 *VT100*font3:           -misc-fixed-medium-r-normal-*-*-100-*-*-c-*-iso8859-15
 *VT100*font4:           -misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15
 *VT100*font5:           -misc-fixed-medium-r-normal-*-*-140-*-*-c-*-iso8859-15
 *VT100*font6:           -misc-fixed-medium-r-normal-*-*-200-*-*-c-*-iso8859-15

In /etc/X11/app-defaults/XTerm, make sure you replace old lines with these options.

After editing a .Xdefaults file, reload it with xrdb -merge ~/.Xdefaults. (Similarly for .Xresources.)

Note that the derivative programs also use the font resource to set the default font, so the procedure is analogous.

FROM: http://www.debian.org/doc/manuals/debian-euro-support/ch-applications.en.html

  • this is not at all related to my question. I clearly specified that the Euro symbol was appearing fine in my xterm. – SyntaxT3rr0r Mar 16 '11 at 18:58

Here (Fedora on an HP laptop, Latam keyboard) AltGr-E does the trick. I'm pretty sure it works the same on my Samsung netbook and my Asus ultrabook (all Latam).

  • 1
    Wikipedia suggests that (1) if you don’t have a key labeled “AltGr” on your keyboard, you should try the “Alt” key to the right of the space bar, or Ctrl+Alt, and (2) € may be available as (AltGr)+E, (AltGr)+3, (AltGr)+4, or (AltGr)+5, depending on your system. – G-Man Feb 14 '16 at 7:46
  • This won’t work on layouts which use an Alt_R (right alt) key instead of an AltGr key, like the default US layout (setxkbmap us). is probably accessible somewhere on most European keyboard layouts on the third level (i.e., AltGr+key). is available on the US international layout (setxkbmap "us(intl)") on AltGr+5. – Guildenstern Mar 13 at 15:44

One option is make the Euro symbol accessible on the third level of the keyboard layout. This is the level above the second level (Shift+key).

First of all, you have some options when it comes to which key to access the Euro sign on. If you want the Euro sign on the E key on the French layout:

setxkbmap -option eurosign:e fr

Here are the other ready-made options (source):

Option      Description
eurosign:e  Euro on E
eurosign:2  Euro on 2
eurosign:4  Euro on 4
eurosign:5  Euro on 5

However, it might be that you are using a layout where there is no third level, like the standard US layout. In that case the following will not suffice (Euro sign on E on US layout):

setxkbmap -option eurosign:e us

You need a key to access the third level. One common option (apparently used on many European keyboard layouts) is the AltGr key:

setxkbmap -option eurosign:e \
    -option lv3:ralt_switch \

Another good option could be the Menu key, in case you don’t use its typical “application context” function:

setxkbmap -option eurosign:e \
    -option lv3:menu_switch \

Now you have a standard US layout with only one third-level symbol. If you want to put the third level to more use you can choose the international variant of the US layout:

setxkbmap -option eurosign:e \
    -option lv3:menu_switch \

Now you also have access to other third-level symbols like accented (diacritics) letters, ®, , µ, «» and so on.

Configuration options

See the xkeyboard-config man page for the options that you can use with tools like setxkbmap(1).

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.