Typing Emojis on Linux: Overview
Linux gives you several ways to insert emojis, depending on your desktop environment and input method. Unlike Windows or macOS, there is no single universal shortcut — but once you configure your preferred method, emojiEmoji
Từ tiếng Nhật (絵文字) có nghĩa là 'ký tự hình ảnh' — các ký hiệu đồ họa nhỏ dùng trong giao tiếp kỹ thuật số để diễn đạt ý tưởng, cảm xúc và sự vật. input is fast and reliable. This guide covers GNOME, KDE, IBus, and terminal-based approaches.
Method 1: GNOME's Built-In Emoji Picker
If you run GNOME (the default desktop on Ubuntu, Fedora, Debian GNOME edition, and many others), you have a native emoji picker built in since GNOME 3.32.
Opening the GNOME Emoji Picker
Press this keyboard shortcut in any text field:
Ctrl + Shift + E
A small search box appears in the input area. Type an emoji name or keyword — for example, type fire and press Enter to insert 🔥. The picker is lightweight and works in GTK applications like GNOME Text Editor, Gedit, and the Files app.
The GNOME Characters App
GNOME also ships a full emoji browser called GNOME Characters. Install it if it isn't already present:
sudo apt install gnome-characters # Debian/Ubuntu
sudo dnf install gnome-characters # Fedora
Open it from your app launcher, search or browse by category, click an emoji, then click Copy to put it on your clipboard. Switch to your app and paste with Ctrl + V.
Method 2: IBus Emoji Picker
IBus (Intelligent Input Bus) is the most widely used input method framework on Linux and includes an emoji picker that works across almost all applications.
Installing IBus
sudo apt install ibus ibus-gtk ibus-gtk3 # Debian/Ubuntu
sudo dnf install ibus # Fedora
After installation, start IBus:
ibus-setup
Add IBus to your session startup (GNOME: add it to GNOME Settings → Startup Applications, or set GTK_IM_MODULE=ibus in your environment).
Using the IBus Emoji Picker
Once IBus is running, use this shortcut in any text field:
Ctrl + Shift + E
A search-driven emoji picker appears. Type a keyword, use arrow keys to select an emoji, and press Enter to insert it. IBus renders the emoji as a literal UnicodeUnicode
Tiêu chuẩn mã hóa ký tự phổ quát gán một số duy nhất cho mỗi ký tự trong tất cả hệ thống chữ viết và bộ ký hiệu, bao gồm cả emoji. character in the focused application.
Configuring the IBus Shortcut
If the default shortcut conflicts with another application, open ibus-setup, go to Emoji tab, and reassign the trigger key to something like Super + . (Windows key + period).
Method 3: KDE Plasma Emoji Picker
KDE Plasma 5.21 and later includes a built-in emoji picker panel widget.
Enabling the Emoji Picker on KDE
- Right-click on your taskbar and choose Add Widgets
- Search for Emoji Selector
- Drag it to your panel or desktop
Alternatively, open KRunner (press Alt + F2 or Alt + Space) and type emoji to launch the picker.
KCharSelect
KDE also ships KCharSelect, a full Unicode character browser:
sudo apt install kcharselect # Debian/Ubuntu
sudo dnf install kcharselect # Fedora
Launch it from your app menu, search for emojis by name or Unicode code point, select an emoji, and click Copy to Clipboard.
Method 4: Unicode Hex Input (Universal Method)
Every Linux desktop supports direct Unicode input — no additional software required. This works in GTK and Qt applications.
In GTK Apps (GNOME, Xfce, MATE)
- Place your cursor where you want the emoji
- Hold
Ctrl + Shift, then pressU - Release all keys
- Type the Unicode code point (without the
U+prefix) — for example,1F525for 🔥 - Press
EnterorSpace
The emoji appears immediately. This works in Firefox, LibreOffice, Gedit, and most GTK applications.
Example Code Points
| Emoji | Code Point | Hex Input |
|---|---|---|
| 😀 | U+1F600 | 1F600 |
| 🔥 | U+1F525 | 1F525 |
| ❤️ | U+2764 | 2764 |
| 👍 | U+1F44D | 1F44D |
| 🎉 | U+1F389 | 1F389 |
| ✅ | U+2705 | 2705 |
Method 5: Terminal Emoji Input
Printing Emojis in Bash
In any modern terminal with a Unicode-capable font, you can print emoji characters directly:
# Print a single emoji
echo "🔥"
# Using Unicode escape
echo -e "\U0001F525"
# In a variable
EMOJI=🎉
echo "Build complete $EMOJI"
Setting Up Your Terminal for Emoji
If emojis display as boxes or question marks in your terminal, the issue is almost always font-related. Install a font with full emoji support:
sudo apt install fonts-noto-color-emoji # Debian/Ubuntu
sudo dnf install google-noto-emoji-fonts # Fedora
After installing, restart your terminal. For best results in the terminal, configure your terminal emulator to use Noto Color EmojiColor Emoji
Emoji đầy màu sắc được hiển thị bằng hình ảnh bitmap hoặc đồ họa vector màu, trái ngược với cách hiển thị đơn sắc kiểu văn bản. or TwemojiTwemoji
Bộ emoji mã nguồn mở ban đầu được Twitter tạo ra, cung cấp các tài nguyên emoji SVG và PNG có thể dùng trong bất kỳ dự án nào. as a fallback font.
Setting the Locale
Ensure your locale is set to UTF-8UTF-8
Kiểu mã hóa Unicode có chiều rộng thay đổi, dùng từ 1 đến 4 byte cho mỗi ký tự, thống trị trên web (98%+ website sử dụng)., which is required for proper emoji rendering:
echo $LANG # Should output something like en_US.UTF-8
If not, configure your locale:
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8
Method 6: Third-Party Emoji Pickers
Several standalone emoji picker apps work across all Linux desktop environments:
emoji-picker-electron
A lightweight cross-platform emoji picker:
# Install via snap
snap install emoji-picker-electron
Bind it to a keyboard shortcut in your desktop's keyboard settings for instant access.
Rofi Emoji Plugin
If you use Rofi (a popular application launcher), the rofimoji plugin adds emoji search to Rofi's interface:
pip install rofimoji
Then trigger it with:
rofimoji
Bind this command to a global shortcut like Super + . in your desktop settings.
Quick Reference: Linux Emoji Methods
| Method | Desktop | Shortcut / Command |
|---|---|---|
| GNOME built-in | GNOME | Ctrl + Shift + E in text field |
| GNOME Characters app | GNOME | App launcher → Characters |
| IBus emoji picker | All (with IBus) | Ctrl + Shift + E |
| KDE Emoji Selector | KDE | Panel widget or KRunner |
| GTK Unicode input | GTK apps | Ctrl + Shift + U → hex code |
| Terminal echo | Terminal | echo "🔥" or echo -e "\U1F525" |
| rofimoji | All | rofimoji (bindable) |
Troubleshooting
Emojis appear as boxes: Install fonts-noto-color-emoji and restart your session.
Ctrl + Shift + E doesn't work: The shortcut is application-dependent in GNOME. Try it in Gedit or GNOME Text Editor first to confirm it works, then check if your target app overrides the shortcut.
IBus not starting automatically: Add export GTK_IM_MODULE=ibus and export QT_IM_MODULE=ibus to your ~/.profile or ~/.bash_profile.
Explore More on EmojiFYI
- Use the Emoji Keyboard to find and copy any emoji without leaving your browser
- Look up the Unicode code point for any emoji with the Sequence Analyzer
- Search emojis by keyword in EmojiFYI Search
- Browse emoji terminology in the Glossary