March 25, 20264 min read

How to Type Hindi on Linux — Ubuntu, Fedora, and Mint

Set up Hindi typing on Linux using IBus, Fcitx, or m17n. Covers Ubuntu, Fedora, Mint, and Arch with phonetic and InScript options.

linux ubuntu hindi ibus typing
Ad 336x280

Linux has excellent Indian language support — arguably better than Windows in some respects, since Unicode and multilingual input have been core features since the early days. Here's how to set up Hindi typing on the major distributions.

Ubuntu / Linux Mint (IBus)

Ubuntu uses IBus (Intelligent Input Bus) as its default input framework.

Setup:

# Install Hindi input method
sudo apt install ibus-m17n

# Install Hindi fonts (if not already present)
sudo apt install fonts-noto-core fonts-noto-extra

Configure:

  1. Settings → Region & Language → Input Sources
  2. Click the + button
  3. Search "Hindi" → select one of:
- Hindi (m17n itrans) — phonetic transliteration (type English, get Hindi) - Hindi (m17n phonetic) — similar phonetic approach - Hindi (InScript) — standard government layout
  1. Click Add

Switch between English and Hindi:

  • Super + Space (Ubuntu 22.04+)
  • Or click the input indicator in the top panel

Test it:

Open any text editor (gedit, LibreOffice Writer) and switch to Hindi. Type namaste — you should see नमस्ते.

Fedora (IBus)

Fedora also uses IBus by default.

# Install Hindi input
sudo dnf install ibus-m17n m17n-db m17n-lib

# Install fonts
sudo dnf install google-noto-sans-devanagari-fonts

Configure:

  1. Settings → Keyboard → Input Sources
  2. Click + → Hindi → select your preferred method
  3. Choose between ITRANS (phonetic) or InScript

Arch Linux / Manjaro

# Install IBus and m17n
sudo pacman -S ibus ibus-m17n m17n-db m17n-lib

# Install fonts
sudo pacman -S noto-fonts noto-fonts-extra

Add to your ~/.xprofile or ~/.xinitrc:

export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
ibus-daemon -drx

Then configure IBus: ibus-setup → Input Method → Add → Hindi.

Fcitx (Alternative to IBus)

Some users prefer Fcitx for its lighter weight and better configuration:

# Ubuntu/Debian
sudo apt install fcitx5 fcitx5-m17n

# Fedora
sudo dnf install fcitx5 fcitx5-m17n

Configure Fcitx:


  1. Run fcitx5-configtool

  2. Add Hindi input method

  3. Set the trigger key (default: Ctrl+Space)


Input Method Options Explained

MethodHow It WorksBest For
m17n ITRANSType namaste → नमस्तेCasual Hindi typing, most intuitive
m17n PhoneticSimilar to ITRANS with slight mapping differencesAlternative phonetic input
InScriptStandard Hindi keyboard layoutGovernment exam prep, professional typing
m17n Hindi-RemingtonRemington typewriter layoutLegacy exam prep (Kruti Dev equivalent)
For most users, m17n ITRANS is the best choice. It works like phone transliteration — type how it sounds, get Devanagari.

Typing Hindi in Specific Applications

Terminal:

Modern terminal emulators (GNOME Terminal, Konsole, Alacritty) display Hindi correctly. You can type Hindi in the terminal with IBus active — useful for file naming and git commits.

LibreOffice:

Full Hindi support. Switch your input method and type directly. LibreOffice Writer, Calc, and Impress all handle Devanagari text, including complex conjuncts.

Firefox / Chrome:

Both browsers work with IBus input. Type Hindi in any form field, search bar, or web application.

VS Code:

IBus works in VS Code for typing Hindi in comments, strings, and documentation. Switch input with your configured shortcut.

Troubleshooting

Hindi characters show as boxes:
# Install comprehensive font packages
sudo apt install fonts-noto fonts-noto-cjk fonts-noto-extra
fc-cache -fv
IBus doesn't activate in some applications: Add these environment variables to ~/.bashrc or ~/.profile:
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
Log out and log back in. Input method works in GNOME apps but not Qt apps:
sudo apt install ibus-qt4  # For Qt4 apps
# Qt5/Qt6 apps usually work out of the box
Typing is slow or suggestions lag:
  • IBus m17n can be slow on underpowered machines
  • Switch to direct InScript input (no suggestion processing) for speed
  • Or reduce the candidate list size in IBus preferences

Hindi on the Linux Command Line

You can work with Hindi filenames and text directly in the terminal:

# Create a file with Hindi name
touch "नमस्ते.txt"

# Search for Hindi text in files
grep "हिंदी" *.txt

# Pipe Hindi text
echo "यह हिंदी है" | wc -w

This works because Linux filesystems (ext4, Btrfs) handle UTF-8 natively.

Browser-Based Alternative

If you don't want to configure system-level input, browser-based transliteration tools work on Linux exactly as they do on any other OS. Open TranslitHub in Firefox or Chrome, type Hindi, and copy-paste wherever needed. No system configuration required.

Linux's input method framework is powerful once configured — a one-time setup gives you Hindi typing across every application on your system.

Ad 728x90