💡Characters & Compose key: how to type unusual characters in Linux

By Dmitry Kann 5 min read
This post  in Russian

A devoted reader of my blog might have noticed that I care about typography. For instance, my use of em-dash — which I love — or ⌀, the diameter symbol. That involves the use of special techniques while typing.

It’s also worth noting that many people prefer to communicate with emojis over letters nowadays (which is even reflected in modern architecture).

While it’s quite trivial to enter such characters on a smartphone, it may get tricky when it comes to a Linux desktop. But fear not, for that is actually taken care of: there are even multiple ways of inserting your favourite 🐱.

I’ll elaborate on those ways from trivial to advanced.


If we’re talking Gnome (for example, a stock Ubuntu), there’s the Characters (gnome-characters) application readily available out-of-the-box.

It allows you to browse emojis and other characters, arranged in groups. When you click on a character, you’ll get a popup that allows you to copy it to the clipboard (there’s still a question why fly-agaric is filed under “Food & Drink” though):

Gnome Characters.
Gnome Characters.

Even better, you can filter emojis by name here:

Filter in Gnome Characters.
Filter in Gnome Characters.

Character Map

Next to the Gnome Characters there’s also a bit less user-friendly Character Map app (gucharmap). You can install it using the button below:

Install Character Map

or with the following command in the Terminal:

sudo apt install gucharmap

This one is more suitable for searching for various letters and symbols rather than emojis; its search feature is also a bit hacky for you need to be exact in your search query.

Character Map (gucharmap).
Character Map (gucharmap).

Compose key for advanced typing

The above applications come in handy if you only occasionally search for a specific emoji, but they’re hardly usable during routine text typing.

In the latter case your best choice is the so-called Compose key. It’s a key you designate for entering the compose mode, when you “assemble” a character from parts.

By default there’s no Compose key assigned in the system. In order to configure it you’ll first need to install the Gnome Tweaks utility app using the button below:

Install Tweaks

or by running the following in the Terminal:

sudo apt install gnome-tweaks

Having installed and started Tweaks, navigate to Keyboard & Mouse and click the button next to Compose Key:

Compose Key setting in Gnome Tweaks.
Compose Key setting in Gnome Tweaks.

You’ll get a number of options to choose from. My personal preference is right Alt, as it’s both convenient and not conflicting with other shortcuts I’m using.

Compose Key selection in Gnome Tweaks.
Compose Key selection in Gnome Tweaks.

Once you’ve assigned the compose key, you’ll be able to build up lots of different characters.

You’ll always need to tap the compose key first, followed by other characters, for instance:

  • Em dash: ---
  • Left angle quote «: <<, right quote »: >>
  • Euro sign : C=
  • Copyright sign ©: oc
  • Right arrow : ->
  • Character é: e
  • Character ¾: 34

As you see, the above is consistent and can easily be memorised. Some other combinations are less evident, but can still be remembered if you use them often.

Good news is that these combinations can usually be typed in any order, and they work in every text field.

X.org documentation provides the complete list of available compose combinations, whereas I list a few more common ones under the spoiler below.


There’s a nice bonus to compose typing that the characters show up on screen as you type, and turn into the final character once it’s finished.

Example of compose text typing.
Example of compose text typing.

Should you wish to cancel the Compose mode after hitting the compose key, simply press Esc.

Unicode code-point entry for wizards

The most advanced (and, perhaps, efficient) way of dealing with weird characters is a direct code entry of the desired Unicode code-point. It may even be the only way when it comes to, say, Spacing Modifier Letters or Combining Diacritical Marks.

You enter the character by pressing Ctrl+Shift+U, followed by a hexadecimal character code, and, finally, an Enter.

Here’s an example of putting an accent above a Cyrillic е́ — which is supposed to be achieved by combining the letter е with the Combining Acute Accent (code 301), and not by typing the Latin é instead:

Example of typing an Acute Accent (U+0301) using code entry.
Example of typing an Acute Accent (U+0301) using code entry.

That’s it

I hope this will prove useful, feel free to comment if I missed something in this post! ■

Subscribe to blog updates: