I'm using the terminal in Kali Linux and I try to type Arabic text the characters are shown but separated (appearance not correct)

This what my shell shows me ex. لا ا ل ه ا لا ا ل ل ه, which should be لا اله الا الله

can the shell support Unicode text

the output of command ps $$ $PPID; locale

 3777 ?        Sl     0:15 gnome-terminal
 6092 pts/1    Ss     0:00 bash

it seems it is utf-8 ok

can i change the font used for shell output to another font? and where the fonts located?

  • You should add the shell and the terminal emulator you are using. So it will be easier for someone to help you find an answer. Feb 28, 2014 at 12:42
  • what do you mean by add shell >> if you mean the shell type so it is the terminal shell shipped with kali linux
    – seco
    Feb 28, 2014 at 12:53
  • 1
    I don't know what Kali's default terminal is. Run ps $$ $PPID; locale in a terminal and copy-paste the output into your question. Do you observe problems with other characters (Latin with accents, Chinese, Hebrew, …)? Feb 28, 2014 at 20:54
  • FYI, all terminals are fixed-width, character-cell based. A good unicode terminal, such as rxvt-unicode can do combining, but only if they are present in the source.
    – Keith
    Mar 1, 2014 at 19:38
  • is there a solution for this question ?
    – m3asmi
    Apr 1, 2017 at 10:44

3 Answers 3


Id don't know much about gnome-terminal, but if you're going to work with non-latin scripts, you may want to look at rxvt-unicode. It handles almost every script correctly (provided you have the fonts, and the output really is UTF-8).

$ sudo apt-get install rxvt-unicode
$ urxvt

As a bonus, you'll get a great piece of documentation about terminals reachable by man 7 urxvt which is also nice place to look for troubleshooting information.

Note that in default configuration Rxvt looks quite unappealing (it tries to be nice to xterm users :)) so search Internet or mentioned FAQ for how to make it look better.

Other task is selecting the right font. For Urxvt, it's font resource. For experimenting, you can specify the font name on command line, e.g. `urxvt -fn "xft:Dejavu Serif". Refer to urxvt documentation for this.

If you want to look for fonts, I'd start by searching in your repository. For example aptitude search arabic or apt-cache search arabic does this in Debian.

  • same problem !! i think this because of the font type >> how to change the font for both uxrvt and terminal in gnome
    – seco
    Mar 1, 2014 at 15:11
  • After some quick looks, Arabic seems quite challenging to get to work properly on any terminal (it has complicated compose rules, RTL direction and much more) and I don't have time to study Urxvt docs to find out (if it is even possible). So TBH this is my limit for now. :) I myself would be interested in how to do it. Mar 2, 2014 at 2:24
  • no problem for direction of the text>> so now can i change the font of the terminal
    – seco
    Mar 2, 2014 at 17:02

Terminal fonts

In a terminal you have to use so called monospaces fonts, (where a lower caps i use same width than a upper case w):

(Thats monospaced fonts:


Thats normal fonts:




This is because all tables and output formating is done by character positionning.

So maybe your ouput could be prompted by using a dialog tool:

mytext='لا اله ال'
gdialog --infobox "$mytext" 60 2
  • search on google for arabic monospaced font Jan 21, 2016 at 8:30
  • under Debian, you could apt-get install fonts-hosny-thabit. This packet hold fixed width OpenType Arabic fonts Jan 21, 2016 at 8:40

Use setxkbmap:

setxkbmap -layout ara -variant basic

If you want, add this line to your ~/.xinitrc file to run it every boot.

  • same problem !! the characters appeared separated
    – seco
    Feb 28, 2014 at 17:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .