# How to type emoji on Linux
Seth Kenlon

Emoji are the term for those fanciful pictograms that got snuck into the Unicode character space.
They're all the rage online, and they get used by people for all kinds of surprising things, from signifying reactions on social media to serving as visual labels for important file names.
There are many ways to enter Unicode characters on Linux, but the GNOME desktop makes it easy to find and type an emoji.

![Emoji in Emacs](emacs-emoji.jpg)

## Requirements

For this easy method, you must be running Linux with the GNOME desktop.

You must also have an emoji font installed.
There are many to choose from, so do a search for *emoji* using your favourite software installer application or package manager.

For example, on Fedora:

```
$ sudo dnf search emoji
emoji-picker.noarch : An emoji selection tool
unicode-emoji.noarch : Unicode Emoji Data Files
eosrei-emojione-fonts.noarch : A color emoji font
twitter-twemoji-fonts.noarch : Twitter Emoji for everyone
google-android-emoji-fonts.noarch : Android Emoji font released by Google
google-noto-emoji-fonts.noarch : Google “Noto Emoji” Black-and-White emoji font
google-noto-emoji-color-fonts.noarch : Google “Noto Color Emoji” colored emoji font
[...]
```

On Ubuntu or Debian, use ``apt search`` instead.

This article uses ``google-noto-emoji-color-fonts``.


## Setup

To get set up, launch the **Settings** application.

1. In **Settings**, click on the **Regions & Languages** category in the left column.

2. Click the plus symbol (**+**) under the **Input Sources** heading to bring up the **Add an Input Source** panel.

![Add a new input source](gnome-setting-region-add.png)

3. In the **Add an Input Source** panel, click the hamburger menu at the bottom of the input list.

![](gnome-setting-input-list.png)

4. Scroll to the bottom of the list and select **Other**.

5. In the **Other** list, find **Other (Typing Booster)** (you can type ``boost`` in the search field at the bottom to filter the list).

![](gnome-setting-input-other-typing-booster.png)

Click the **Add** button in the top right corner of the panel to add the input source to GNOME.

Once you've done that, you can close the **Settings** window.

### Switching to Typing Booster

You now have a new icon in the top right of your GNOME desktop.
By default, it's set to the two-letter abbreviation of your language (**en** for English, **eo** for Esperanto, **es** for Español, and so on).
If you press the **Super** key (the key with a Penguin, Windows logo, or Mac Command symbol) and the Spacebar together on your keyboard, you switch input sources from your default to the next in your input list.
In this example, you only have two input sources: your default language and **Typing Booster**.

Try pressing **Super**+**Spacebar** together and watch the input name and icon change.


### Configuring Typing Booster

With the **Typing Booster** input method active, click the input sources icon in the top right of your screen and select **Unicode symbols and emoji predictions** and set it to **On**.

![](emoji-input-on.jpg)

This makes **Typing Booster** dedicated to typing emoji, which isn't all typing booster is necessarily good for, but in the context of this article it's exactly what is needed.

## Typing emoji

With **Typing Booster** still active, open a text editor like **Gedit**, or a web browser, or anything that you know understands Unicode characters, and type ``thumbs up``.
As you type, **Typing Booster** searches for matching emoji names.

![](emoji-input.jpg)

To leave emoji mode, press **Super**+**Spacebar** again, and your input source is set back do your default language.


## Switch the switcher

If the **Super**+**Spacebar** keyboard shortcut is not natural for you, then you can change it to a different combination in GNOME **Settings**.
In **Settings**, navigate to **Devices** and select **Keyboard**.

In the top bar of the **Keyboard** window, search for *input* to filter the list.
Set **Switch to next input source** to a key combination of your choice.

![](gnome-setting-keyboard-switch-input.jpg)


## Unicode input

Fact is, keyboards were designed for a 26-letter (or thereabouts) alphabet, along with as many numerals and symbols.
ASCII has more characters than the ones that you find on a typical keyboard, to say nothing of millions of characters within Unicode.
If you want to type Unicode characters into a modern Linux application but don't want to switch to **Typing Booster**, then you can use the Unicode input shortcut.

0. With your default language active, open a text editor like gedit or a web browser or any application you know accepts Unicode.
1. Press **Ctrl**+**Shift**+**U** on your keyboard to enter Unicode entry mode. Release them.
2. You are currently in Unicode entry mode, so type a number of a Unicode symbol. For instance, try ``1F44D`` for a 👍 symbol, or ``2620`` for a ☠ symbol.
To get the number code of a Unicode symbol, you can search the Internet or refer to the actual [Unicode specification](http://unicode.org/emoji/charts/full-emoji-list.html).


## Emoji and pragmatism

Emoji are fun and expressive.
They can help your text be unique to you.
They can also be utilitarian.
Because emoji are Unicode characters, they can be used any where a font can be used, and they can be used the same way any alphabetic character can be used.
For instance, if you want to mark a series of files with a special symbol, you can add an emoji to the name, and you can filter by that emoji in search.

![](file-label.png)

Use emoji all you want, because Linux is a Unicode-friendly environment and it's getting friendlier with every release.