How to insert an emoji into a text in Ubuntu 18.04 and later?
Solution 1:
-
With the release of Ubuntu 18.04 LTS you can use emoji on Ubuntu right out of the box 👍, so you already have everything you need for the native GTK Linux apps like Gedit, Corebird, Rhythmbox, Geary and Terminal (Source: OMG Ubuntu). All you have to do to access the emoji picker in a native Linux app is right-click (or
ctrl
+.
) in a text-field and select the “Insert Emoji” option from the context menu. This picker pop-over lets you:- Browse emoji by category
- Pick from recently used emoji
- Search for emoji by name
- Click on an emoji to enter it
The emoji picker even works on other Linux distros & desktops besides Ubuntu, including Ubuntu MATE and Ubuntu Budgie.
Sadly the emoji picker doesn’t work everywhere 😞. You won’t see the option provided in non-GTK apps, like Firefox, Wire Messenger, Chromium, or LibreOffice, even not with Evolution (the previous default email client in Ubuntu).
If the app you’re using doesn’t have that option, please file a bug, like the one for gedit.
For more background info browse to Ubuntu Community Hub.
-
For Ubuntu 18.10 and later, Emoji Choice popup is handy tool, see answer of kenorb, please vote his answer up, too.
Hitting Control-Shift-E, then press Space works in most apps. -
For non-GTK apps like Firefox, Wire Messenger, Chromium, or LibreOffice, you can use the GNOME Shell Extensions Emoji Selector:
-
Another option is to install the GNOME Characters app to easily browse emoji.
Optionally, you can enable emoji search in the Activities Overview by using the Settings app. Just open Settings > Search and turn on Characters. -
If you are not on Gnome, this Emoji keyboard is simple but effective. You can find more information on the virtual keyboard-like emoji picker app (plus an installer) over on the project Github page.
-
UniEmoji (for a specific input framework called IBus): "If you prefer to type them out for easy use, then there’s a very easy solution on Linux. It combines software to let you type in foreign languages, with an input method that gives it the ability to type in emojis. When everything is set up, you should be able to type whatever emoji you like, either by inputting them, or searching. This can be much faster and easier than something like a popup window, but takes a little more setting up." For how to set this up, please check this article. As it is quite long, the integration of the instructions would push the boundaries of this answer.
-
Mojibar could be an option (although not updated since 2017), it works on many desktop environments, see answer of kissu, please vote his answer up, too. You can download the zip-folder of the Electron App, and drag into your apps folder and it probably works without installing, just double-click on the
Mojibar
file. -
In Ubuntu 19.04 (and later): GNOME 3.32 adds emoji input to the on-screen keyboard, it should make it easier to reply with a well-timed emote from a touchscreen device.
-
Emote was mentioned by James, please vote the answer below up, too. The emoji picker can be opened with either the keyboard shortcut (choosing one or several emojis) or by clicking the app icon again. More details on the Github page.
Install the snap app from the Software Center or Snap Store on or in a terminal:sudo snap install emote
-
Emoji OnBoard keyboard layout was mentioned by Tanius, please vote the answer below up, too. It is an emoji chooser layout for the default Ubuntu onscreen keyboard "Onboard". strong textIt works for all applications. Instructions for how to us on the github.
-
There might be an answer to an earlier question that still works for you.
Which emoji font will be shown?
When there are more than one emoji fonts installed, different apps use different fonts:
e.g. Segoe Emoji (seguiemj.ttf) is used by the Wire desktop App by default, Emoji One (emojione-android.ttf) is used by Evolution by default on my Ubuntu 20.04 system.
How to only use Noto Emoji font?
Uninstall the other emoji fonts:
Search in Font Manager (font-manager in the normal package list) for emoji fonts.
Open the corresponding folders as root.
Delete the emoji fonts (e.g. seguiemj.ttf, emojione-android.ttf).
Restart the app (or login/logout of the session).
For Thunderbird to behave, I did this:
I created ~/.config/fontconfig/conf.d/01-emoji.conf
with the following text:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
</fontconfig>
Then run:
fc-cache -f -v
The answers to this question can be helpful, too: 18.04: color emoji not showing up at all in Chrome, only partially in Firefox
And a similar answer: How do I configure the default emoji font to be used in OS/Browser?.
Solution 2:
Use the following keyboard shortcuts:
-
Hit Control-Shift-E, then press Space.
-
You should see the Emoji Choice popup where you can select your unicode character.
Note: To cancel the selection, press Escape few times.
Tested on Ubuntu Cosmic (18.10). It should work in editors, terminal, web browsers and other applications.
Solution 3:
Emote is a modern, system-wide emoji picker which is a decent option in 2021.
https://github.com/tom-james-watson/emote
It should work on all major desktop environments and supports both X11 and Wayland.