32

I'm trying to write Arabic in the terminal app but it does not recognize right-to-left text and does not bind the Arabic letters together as it should.

I tried this solution https://bugs.launchpad.net/ubuntu/+source/vte/+bug/263822 but it did not work.

Are there any plans to implement Arabic support in the gnome terminal? KDE Konsole terminal works without any problems.

  • 1
    What happened when you tried bugs.launchpad.net/ubuntu/+source/vte/+bug/263822? – N.N. Nov 19 '11 at 10:06
  • 2
    why do you need write Arabic in the terminal and why do you want it right to left ??? – Black Block Nov 19 '11 at 23:24
  • 1
    FYI: Arabic is normally written right to left. As are several others languages, with old Hebrew even switching between right to left and left to right. Traditional Japanese writing start from the top-right of page and goes down in a column, with the next 'line' of glyphs to the right. That also gives them books that are read from the right cover, turning pages to left, until the end of the book (Western front cover) is reached. – david6 Nov 22 '11 at 5:06
  • Do you need both left to right and right to left, during any given session? Are you using terminal emulation (escape sequences, full-screen, field layout), or is this ONLY for command line? – david6 Nov 22 '11 at 5:09
  • @Naruto for me, I need the Arabic support because I use a treminal IRC client and joining an Arabic channel would show distorted words in the client. Not sure about him. – Suhaib Nov 26 '12 at 5:24
10

For Ubuntu 64 bit, you would need to download This package

instead. I guess you were having a dependency problem. You would need also to install the apps stated above with this command.

sudo apt-get install libfribidi0 libfribidi-dev

Hope that this could help

9
+25

try this: sudo apt-get install libfribidi0 libfribidi-dev, install THIS package, then vim /usr/share/applications/gnome-terminal.desktop and add this code to the document:

Terminal=true
Exec=/usr/bin/bicon.bin
  • In Ubuntu 13.04, I installed those packages but can find bicon.bin anywhere... – Ba7a7chy Apr 30 '13 at 19:01
  • I want to get fribidi working on Linux Suse. I have installed Fribidi, following the installation man in its official website, however I don't see a change in terminal. And trying zypper install libfribidi0 I get the error: Loading repository data... Reading installed packages... 'libfribidi0' not found in package names. Trying capabilities. No provider of 'libfribidi' found. Resolving package dependencies. Have been searching and not getting a single result. What packages am I supposed to have? – Neeku Jun 30 '14 at 12:05
7

Use Mlterm, It's has great support for Arabic and other non-latin characters. You can download it from Ubuntu repositories

Picture of Mlterm showing Arabic

  • You can download it from Ubuntu repositories – Damascene Jan 2 '16 at 21:28
  • You can edit your question to append the content of your comment and make it more useful. – Jakuje Jan 2 '16 at 23:39
  • I installed it and it doesn't seem to work, the Arabic characters are just boxes. Maybe it's using the wrong font? – Flimm Feb 20 '16 at 9:09
  • @Flimm make sure the encoding setting are iso-8859-6 or windows, or ibm equivalents – Error Nov 17 '17 at 22:05
  • @Error I tried mlterm recently and it seemed to work. I'm glad I didn't have to try iso-8859-6 to be honest, life is so much simpler when everything uses UTF-8. – Flimm Nov 18 '17 at 7:08
4

Update

As egmont mentioned in his comment below, a BiDi implementation is coming to vte terminal emulator. Check his answer which is the last updated concerning this topic.

Here is a reference if looking for details: https://terminal-wg.pages.freedesktop.org/bidi/


Original answer

No, there is no plans to implement RTL support in gnome-terminal or any terminal depends on vte as the case of synaptic installation terminal.

  • You may proxy your command through fribidi command to make bidi & basic shaping of Arabic.
  • You may also use konsole (KDE) or mlterm that had implemented a partial support for Unicode bidi and shaping.

Currently, there is no correct way to implement those Unicode algorithms for the consoles. (Those implementions in konsole & mlterm are kind of workaround)

Here is a portion from a Behdad Esfahbod's post, he is the main developer of HarfBuzz (hb for short, an OpenType text shaping engine)

Terminal emulators with support for complex text are very weird hybrids. On the one hand terminal emulators have to lay text out in a predefined grid in a predefined way, which is in conflict with many aspects and requirements of complex text, on the other hand users demand support for complex text in their terminals. It gets uglier when you think about bidirectional text, say, inside a console text editor. Nonetheless, it is fair to say that such hybrids do not put any new demands on the shaping engine. gnome-terminal currently has no support for complex text other than combining marks. Konsole has bidirectional text support. Apple's Terminal App has at least bidi support as well as Arabic shaping support, not sure about other complex text. Update (Jan 18, 2010): The terminal mode (term and ansi-term) in recent versions of Emacs can render complex text, including Indic.

Source: State of Text Rendering

Here is the corresponding bug report in Launchpad bug #263822: RTL (right to left) support in terminal (BiDi).

  • 1
    "No, there is no plans to implement RTL support in gnome-terminal or any terminal depends on vte" – This was true when you posted this answer, and is fortunately no longer the case. See my answer for update. – egmont Sep 12 at 11:07
3

GNOME Terminal 3.34 supports right to left scripts such as Arabic.

The work actually went into VTE version 0.58, so any other terminal emulator using VTE (e.g. Tilix, Terminator, Xfce Terminal, Guake...) will automatically receive it.

It's going to debut in Ubuntu 19.10 Eoan Ermine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.