How to enable Arabic support in GNOME terminal?
Solution 1
For Ubuntu 64 bit, you would need to download BiCon, the Bidirectional Console. To add the PPA and install:
sudo add-apt-repository ppa:behnam/ppa
sudo apt-get update
sudo apt-get install bicon
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
Solution 2
Use Mlterm, It's has great support for Arabic and other non-latin characters. You can download it from Ubuntu repositories:
sudo apt install mlterm
Solution 3
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
Solution 4
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.
Solution 5
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) ormlterm
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).
Pore
Updated on September 18, 2022Comments
-
Pore over 1 year
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.
This is what is needed in a terminal to support Arabic:
- Arabic letters need to be displayed correctly with a font that supports Arabic, from right to left, with the letters taking the correct forms (letters in the same word are joined together, usually, we want to see على not ع ل ى)
- It needs to support diacritic marks (known as shakl شَكْل in Arabic)
- There needs to be a way to enable right-to-left mode for the entire line. For example, the word على followed by a
.
should be displayed with the dot on the left, not the right. - There needs to be a way to align the text of the line to the right, not to the left.
Here is an example of four properties being met in Gedit:
However, GNOME Terminal in Ubuntu 21.10 only supports properties 1 and 2 of the previous list of requirements:
(The letters are displayed correctly right to left, however, the dot is on right when it should be on the left, and the text is left-aligned rather than right-aligned.)
-
Simon over 12 yearsWhat happened when you tried bugs.launchpad.net/ubuntu/+source/vte/+bug/263822?
-
Black Block over 12 yearswhy do you need write Arabic in the terminal and why do you want it right to left ???
-
david6 over 12 yearsFYI: 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 over 12 yearsDo 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?
-
sancho.s ReinstateMonicaCellio about 2 yearsSince you are extending an old question, it is difficult to tell your current status, and therefore post suggestions for your case. Please: 1) Post what you tried: fribidi, bicon (apparently not needed), etc. 2) Try Konsole, and report results (ref), perhaps it is a good-enough alternative for you.
-
Ba7a7chy about 11 yearsIn Ubuntu 13.04, I installed those packages but can find bicon.bin anywhere...
-
Neeku almost 10 yearsI 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? -
Damascene over 8 yearsYou can download it from Ubuntu repositories
-
Jakuje over 8 yearsYou can edit your question to append the content of your comment and make it more useful.
-
Error over 6 years@Flimm make sure the encoding setting are iso-8859-6 or windows, or ibm equivalents
-
Flimm over 6 years@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.
-
egmont over 4 years"No, there is no plans to implement RTL support in
gnome-terminal
or any terminal depends onvte
" – This was true when you posted this answer, and is fortunately no longer the case. See my answer for update. -
EsmaeelE over 4 yearsAfter install this use: github.com/behdad/bicon
-
Flimm about 4 yearsI found that I still needed to change the font in gnome-terminal to something like "Monospace Regular" in Ubuntu 20.20. The default font seems to be "Ubuntu Mono Regular" and it doesn't seem to display Arabic letters well in gnome-terminal (the letters seem to overlap).
-
Flimm about 4 yearsIf you want to use Vim in Arabic, see
arabic.txt
and'termbidi'
-
egmont about 4 yearsGood point, it's indeed up to the user to pick a decent font. Font fallback is a complicated story I'm not familiar with. Even if "Ubuntu Mono" is monospace, it could lack Arabic and could fall back to a non-monospace font for Arabic glyhps. Or something like this. Also thanks for adding a screenshot! :)
-
EsmaeelE almost 4 yearsIn
Debian 10+xfce4
Thelibvte
package version is:0.54.2-2
and xfce4-terminal:0.8.7.4-2
, By upgrading libvte through sid repository and install0.60.3-1
its support rtl language like Persian. -
Flimm about 2 yearsThis does display the letters from right to left. However, it doesn't set right-to-left mode for the whole line (try printing an Arabic word followed by
.
and you'll see that the dot ends up on the right, but it should be on the left). Also, the text isn't right-aligned. -
Flimm about 2 yearsTerminus was renamed to Tabby. It actually doesn't support Arabic at all any more. At least it didn't when I tried it just now.
-
egmont about 2 yearsIt's literally impossible to have a "magic wand", implement RTL support entirely in terminals, retroactively and perfectly for all apps. The terminal can only become an RTL-friendly platform, not a complete out-of-the-box solution for all your BiDi needs. There are several possible modes (e.g. whether the "paragraph direction", and in turn, alignment is autodetected or set to LTR or set to RTL). Even outside of terminals, there's no golden answer here. Applications or users have to select the mode that best fits their needs. See the proposed "BiDi in Terminal Emulators" spec for details.