How to Type in Hindi and other Indian Languages on Ubuntu Linux

Brief: This article shows you how to type in Hindi in Ubuntu. Same steps will allow you to type in other Indian languages on Ubuntu Linux.

I’m sure that there are a lot of different languages worldwide. But, did you know that India has 22 major languages? Almost all the Linux distros provide support for most Indian languages — but typing is where the issue arises.

There are several keyboard layouts available for various languages and you may have to invest some time to master them.

At this point, I would like to add that using online Google Transliteration service is a lot better for occasional typing because it gives you the option to choose the words. There are a few downsides that it needs you to be connected to the internet and you may have to copy-paste from one place to another.

google transliteration
Google transliteration is a better option if you type in non-English language occasionally

If you plan to type in your language regularly and may not always be connected to the internet, you should install the dedicated keyboard input.

I’ll try to help you with typing in Indian languages on Linux with a few tips. It may not be perfect but it does give you some ideas and direction.

I’ll be using Hindi in the example here. You may follow similar steps to write in Bangla, Marathi, Gujarati, Tamil, Kannada, Telugu and other Indian languages.

Type in Hindi and other Indian languages on Ubuntu Linux

There are two main types of keyboards you’ll find.

1. Phonetics

This is the actual keyboard layout with dedicated keys for the alphabets. However, if you don’t see the keys, it’s difficult to figure out how to type them properly. But once you master it, typing is much faster. Here’s an image of the KaGaPa Hindi keyboard layout that you may find in Ubuntu.

hindi kagapa layout

2. Transliteration

Transliteration keyboards are something that let you type in English, i.e. Roman Hindi, transliterate them phonetically to the selected target language immediately. It’s easier because you use the regular English alphabets here.

However, the transliteration keyboards in Linux do not give you the option to choose between various possible words like Google does. This is a pain because then you need to know the keyboard shortcuts to correctly type the intended words.

Repository Does Not Have A Release File
iTrans Hindi transliteration keyboard | image courtesy

In other words, you have to make a compromise and keep the keyboard layout saved on your system to refer to it, specially when you are new to these keys.

Here’s what you need to do.

The Intelligent Input Bus (IBus) is an input method framework for multilingual input in Unix-like operating systems. It’s called “Bus” because it has a bus-like architecture.

You can use IBus to type in your own language in most GUI applications.

Here, we will be using IBus to transliterate English to Indian regional languages i.e Hindi (to be specific).

Step 1: Install and set up IBus

Open the terminal (ctrl+alt+t) and run the below command

sudo apt install ibus-m17n

That’s it. Now add IBus to your startup applications. 

Open Startup Applications app. Once launched, you need to click on Add. Fill the details as shown in the screenshot below.

For the Name and Comment box, you can set your desired text. But the Command box is important.

So for that you can just copy-paste the text below (as shown in the screenshot below):

ibus-daemon
Ubuntu Adding Startup Applications
Ubuntu Adding Startup Applications

Log out and log back in to refresh the session.

Step 2: Adding languages to keyboard

Go to Settings >> Region & Language.

Now use the ‘+‘ below the “Input sources to use” to add your desired language.

Ubuntu Langugae Settings
Ubuntu Language Settings

You will now be asked ‘Add an input source‘, just click on 3 vertical dotted button to proceed.

Adding Input Source
Adding Input Source

Next, search for any language like ‘Hindi’, or the language you want to use. Click on ‘Other‘ to find the languages listed.

Adding Input Source
Adding Input Source

Once you find the languages listed, select any of them (here, Hindi phonetic) and click on the “Add” button.

For example, I chose the KaGaPa Phonetic keyboard in the screenshot below. You could have chosen iTrans if you wanted the transliteration keyboard.

Selecting And Adding Language
Selecting And Adding Language

Finally, you can see that our selected language has been added to the list of input sources.

Ubuntu Language Settings
Ubuntu Language Settings

Step 3: Add the language to the system

In addition to installing IBus, you also need to install the desired language to the system. This can be done easily from the settings.

From within the “Region and Language” menu, click on “Manage installed Languages“.

Region And Language Settings
Region And Language Settings

Next, you will notice “Language Support” window. Here, you need to click on “Install/Remove Languages”.

Adding New Languages in Ubuntu Linux
Managing Languages

Now, all you have to do is search for your language, select it and hit “Apply“.

Selecting Installed Languages in Ubuntu
Selecting Installed Language

You may have to restart your system for the changes to taken into effect.

Step 4: Typing in Indian languages on Ubuntu

By default, English will be your typing language. You can change the keyboard by accessing the available keyboards from the top panel.

select keyboard layout ubuntu
Selecting a keyboard layout

You can also use keyboard shortcuts in Ubuntu to change the keyboards. Press Super key (Windows key) + Space or Super key + Shift+ Space to select the next language that you added. If you added multiple languages, you may need to press Super + Space multiple times to check the transliteration language.

switch keyboard with shortcut in ubuntu
Press and hold Windows and Space keys together to switch between available keyboard layouts

For phonetic keyboard, you can always refer to the keyboard layout if you forget the keys. You can display the layout for the currently selected keyboard from the top panel.

hindi kagapa layout

Looking at the above keyboard layout, if you have to write the word संस्कृत, you’ll have to press sMsfkRt keys in quick succession.

If you chose the iTrans transliteration keyboard, you won’t get the access to layout because it works on English keyboard itself. I have found this webpage which you may bookmark or print for quick access. It shows the key combination for special keyboards. I am sharing the screenshot for your reference.

itrans hindi keyboard linux

With this iTrans key, if you have to संस्कृत, you’ll need to type saMskRta keys in quick succession.

Typing in roman hindi on Ubuntu Linux
Typing In Regional Language

Wrapping Up

As you can see, it requires some time, effort and patience but it’s not an impossible job even if it’s not very convenient.

On a similar note, you may also want to read about typing Indian rupee symbol ₹ on Ubuntu.

If you found this article useful, do share it along to help more people. Also, feel free to let me know your thoughts in the comments below.

Similar Posts

  • hi, i found solution of this problem use keyman (website=https://keyman.com/linux/) software and and within app you can install may keyboard layout just like, i installed devnagri inscript basic(with is present in windows)(which name is basic_kbdindev in keyman software)
    steps below :-

    just install the software using official website and launch keyman configuration application, click download button within app, a search window will appear search which language you are looking for ( I searched “HIndi”)
    and in options click your appropriate keyboard and install it. { i installed devnagri inscript basic (with is present in windows) which name is ” basic_kbdindev” in keyman software }

  • Hi, I tried this guide, I can use the hindi keyboard. But, it’s not working as expected. It is a nightmare to type half alphabets. In windows, typing ‘hindi’ write it in hindi properly. But, in linux using ibus, it is writing हिनदि . You can understand the issue. Even some online english to hindi writing sites work better than that.

  • Hey,

    I am on Manjaro. I have kagaphontic keyboard on manjaro setting manager. However, there is no key for the first swar in Hindi.