Ubuntu: How do I enable writing in Indian languages?


I am looking for a step by step method for enabling write in indian languages (hindi and gujarati) in Ubuntu applications (browser, LibreOffice, Pidgin etc..).

Could anyone please provide me a method for beginner to do it or simply direct me to the one if you know?


Use a Hindi keyboard:

  1. Go to the Keyboard app. If you have Unity or something that allows you to search for your apps, then get to it that way. Otherwise it's probably in System » Preferences » Keyboard.
  2. Go to the Layouts tab. Click add, and find Hindi (it's easier by language than by country).
  3. Choose a keyboard layout you are comfortable with. The program will display the layout so you can confirm the one that suits you best.
  4. As soon as you have registered a second keyboard layout, a little icon will appear on the top panel (I think; this may be a setting, but seems to be the default behaviour on 11.04) displaying a small keyboard icon and the current keyboard layout. It's probably still the English language one, since you haven't yet chosen to write in Hindi. So, to start writing in Hindi, click on that icon and choose the Hindi layout. You can now start typing in Hindi.
  5. If you're still in the Keyboard app (and still in the Layout tab), you should notice an Options button. Click that and browse through some of the behaviour you can adjust to your preferences. For example, you can select the shortcut to change keyboard layouts. It's faster than selecting from that keyboard icon on the top panel.

Repeat for Gujarati. When you do it for the first time, it will ask permission to install some software. Say yes and enter password when needed.

Alternately: use ibus

  1. First, undo the keyboard layout done abve, if you don't you will have two keyboard icons on the top panel and that will confuse you. Return to keyboard layout and remove Hindi and any other layouts you have added except the default English. This will remove the keyboard icon from the top panel.
  2. Using Ubuntu Software Center install ibus-m17n. This will give you more Hindi keyboard layout choices. This may be already installed.
  3. Once you installed iBus, open Dash and look for iBus. Once iBus is running, go to the second tab called input method.
  4. Make sure "Customize Input Selection Method" is checked. Click on Select and Input Method and select Hindi > itrans. Then hit the Add button to add this input method. If Hindi is not at the top, click on it and click "Up" button to move it to the top. Click on close button. You will notice a keyboard icon on the top panel in Unity.

Now, open a new window of LibreOffice or Gedit or where ever you want to type in Hindi and hit Ctrl+Space. This will change the input method to Hindi for that app. You will notice that the icon on the tray now shows Hindi क्. If you don't see क् and see the keyboard icon or another language icon on the top panel, click on it and select Hindi-Itrans (m17n). Now type "kaise ho" it should appear in Hindi.

Note the Itrans phonetic layout has its own rules so it may not be exactly what you are used to. There is a Gujarati-Itrans choice as well in the ibus Input selection method.

More detailed instructions with pictures are here.

For Ubuntu 16.04 and above you need to install language support

Go to System Settings...> Language Support > Install Languages and install Hindi (or any other Indian language).

Hope this helps.


In order to type Indian languages or any other languages in Linux 11.1 and above, one need to install fonts of those languages and keyboard input method amd ibus m17n

For Indian languages open terminal and run the following commands:

sudo apt-get install ttf-indic-fonts  sudo apt-get install ibuspressing both keys   sudo apt-get install ibus-m17n  

Restart the computer. Then from the dash (press Super) select System Settings and then Language Support (close any other window jf appears).

Goto keyboard input method system and choose ibus from the list to enable ibus.

Then from dash, search and select Keyboard Input Methods and and right click on icon, if it is not installed select install.

After this select Keyboard Input Methods and select launch, Ibus preferences menu will appear.

In "General" tab, mark for show icon on the system tray.

Now select second tab "Input Method", mark Customize active input methods then select an input method from the list (click on list icon to select from the language list) like Gujarati (choose one of these- in-script, itran or phonetic) selected language will appear under Customize active input methods.

Then click add option on the right side. For Hindi select Hindi -> (choose one option from 6 options, select phonetic m17n to type as you speak; भारत = Shift + bart) and click add next to it. Close the ibus preference menu.

Like this one can select any language from the list and add to language panel.

In any editor to activate desired language click on the language panel (right top corner of the screen) and select language in which you want to type. When you select language, icon will change to that language. To type in English select option - input method off.

In older version of Linux, Ctrl + Space, activates and deactivates the desired language.


The Hindi language keyboard code is hi and the Gujarati is gu

To add the support

Just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the commands below.

setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,hi  


setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,gu  

Keep in mind that the above will go away once you reboot.

Using GUI open System settings, go to keyboard layout, and add the layout that you desire.

enter image description here



Ctrl + Alt + T

The terminal window opens


sudo synaptic  

The synaptic window opens

enter image description here

Go to the search tool and search for the package iok

enter image description here

In the window that appears tick the box left to iok

enter image description here

Click on mark for installation

enter image description here

Click on Apply

enter image description here

Again click on Apply

enter image description here

Click on Close

enter image description here

Now search for ibus

enter image description here

In the window that appears search for ibus and tick the box to the left of it

enter image description here

Click on mark for installation

enter image description here

Click on apply

enter image description here

Again click on apply

enter image description here

Click on close

enter image description here

Close Synaptic

Go to settings

enter image description here

System Settings window opens, go to Language Support icon and click on it

enter image description here

In the Language Support window that appears click on Install/Remove languages

enter image description here

Browse for Hindi and tick on the box right to it.

enter image description here

Click on apply

enter image description here

Close Language Support and System Settings Windows

Go to Dash

enter image description here

Type iok and click on the iok icon that appears

enter image description here

iok -Indic Onscreen Keyboard opens

enter image description here

In the Right Bottom select hindi-inscript

enter image description here

New keyboard layout appears

enter image description here

Open libreoffice or gedit or any other text editor application

Press the key combination

super + space

start typing in Hindi

नमस्ते, मेरा नाम रैन्चो है|

Again to switch back to English typing press the key combination

super + space

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »