MLTERM
يعدّ MLTERM Multi Lingual TERMinal أو الطرفية متتعدّدة اللغات أحد محاكيات الطرفية الرائعة في إكس، وكما يبدو من اسمه فقد صمم mlterm ليدعم العديد من اللغات العالمية مثل العربية و الهندية والكورية وغيرها.
أكثر ما يعنينا فى mlterm هو دعمه الرائع للّغة العربية، ففى اعتقادى الشخصى لا يوجد محاكى طرفية (أو حتى طرفية حقيقية) آخر يوفر دعم للعربية كالذى يوفّره mlterm.
مميزات mlterm:
- دعم ثنائية الإتجاه بالنسبة للعربية والعبرية.
- دعم اتصال الحروف العربية.
- دعم خطوط TrueType.
- دعم تشغيل أكثر من جلسة فى نفس النافذة (شئ شبيه بالألسنة المتعددة).
- نمط الخادم(daemon).
- اختيار تلقائى للترميز حسب إعدادات اللغة.
- دعم خطوط true type.
- العديد من المميزات الأخرى، انظر man mlterm لمزيد من التفاصيل.
تثبيت mlterm:
الحصول عليه:
الحزم الجاهزة:
يمكنك استخدام إدارة الحزم فى نظامك لتثبيت mlterm ملحوظة:بعض التوزيعات (بالتحديد ماندريك) توفر حزم mlterm بدون دعم اللغة العربية، فى هذه الحالة إما أن تقوم ببناء mlterm من المصدر أو راسل المسئول عن هذا و اطلب إضافة الدعم المطلوب.
البناء من المصدر:
كالعادة
$ tar xvfz mlterm-2.9.2.tar.gz $ cd mlterm-2.9.2 $ ./configure --enable-fribidi $ make # make install
للحصول على دعم خطوط TrueType مرر هذا الخيار إلى ./configure:
--enable-anti-alias
استخدام mlterm:
الطريقة الأولى:
قم بتحميل الخط الثابت من صفحة الخطوط في ويكي عربآيز أو من
وبعد فك الضغط انسخ ملفات .ttf إلى الدليل ~/.fonts مثال:
$ cp ~/Thabit-0.02/*.ttf ~/.fonts
حيث ~/Thabit-0.02/ موقع الخطوط بعد فك ضغطها في مثالنا هذا.
الآن كيفية إخبار mlterm باستخدامه:
$ echo 'ISO10646_UCS2_1 = Thabit-iso10646-1;' >> ~/.mlterm/aafont
ثم
$ echo 'use_anti_alias = true' >> ~/.mlterm/main
جرّب الآن عرض نص عربي في هذه الطرفية أو كتابة نص
إن لم تعمل هذه الطريقة يمكنك تجربة الطريقة الثانية.
الطريقة الثانية:
لتشغيل mlterm، تأكد من أن معامل البيئة LC_ALL مضبوط على اليونيكود (UTF-8) (بدون هذا قد تواجه مشاكل مع اللغة العربية)، ثم شغل mlterm:
$ echo 'ENCODING = UTF-8' >> ~/.mlterm/main $ export LC_ALL='ar_EG.UTF-8' $ mlterm
و الآن جرب فتح ملف يحتوى على نص عربى:
$ cat foo.txt
ملحوظة: اذا واجهتك مشكلة فى عرض النصوص العربية، جرب عرض الملف باستخدام cat أولا لتتأكّد من أن المشكلة ليست فى البرنامج الذى تستعرض الملف فيه (less مثلاً).
الخطوط:
هل ظهر بدلا من النص العربى مستطيلات فارغة أو لا شئ على الإطلاق؟ حسنا هذه مشطلة فى الخط إذاً.
$ cp ae_fonts_mono/10x21.pcf /usr/locale/share/fonts/mono $ cd /usr/locale/share/fonts/mono # mkfontdir
ملحوظة: تأكد من أن المسار /usr/locale/share/fonts/mono موجود فى مسار الخطوط فى ملف إعداد X :
/etc/X11/xorg.conf
.....
Section "Files"
FontPath "/usr/share/fonts/mono"
.....
EndSection
.....
ثم قم بإعادة تشغيل X، ثم :
$ echo 'ISO10646_UCS2_1 = -arabeyes-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1;' >> ~/.mlterm/font
لاحظ أن الجزء الثاني من هذا السطر (بعد علامة "=") يعتمد على الخط الذى تستخدمه، لذا اذا ستخدمت خطاً آخر غير الموجود هنا فلا تنسى تعديل القيمة لتناسب الخط الذى تستخدمه.
إذا كنت قد أضفت دعم خطوط TrueType فيمكنك استخدام خطوط من هذا النوع، نفذ التالى (انظر الخيارات بأسفل):
$ echo 'use_anti_alias = true' >> ~/.mlterm/main
ثم :
$ echo 'ISO10646_UCS2_1=Courier New-iso10646-1;' >> ~/.mlterm/aafont
لاحظ هذا سيستخدم الخط Courier New، عدل هذا ليناسب احتياجك.
خيارات سطر اﻷوامر:
هذا ملخص ببعض الخيارات المفيدة (اقرأ دليل mlterm لتحصل على قائمة كاملة).
لاحظ أن bool تستبدل بـ true أو false.
- -A, --aa=bool
- استخدام خطوط ناعمة الحواف (خطوط من نوع true type).
- -D, --bi=bool
- تفعيل ثنائية اﻹتجاه للغة العربية والعبرية (يتم تفعيله تلقائيا عند استخدام ترميز utf-8).
- -E, --km=encoding
- تحديد نوع الترميز المستخدم (إذا كان AUTO فسيحدده mlterm على حسب معاملات البيئة.
- -P, --ptys=value
- يحدد عدد الجلسات التى سيتم فتحها عند بدأ التشغيل (فى نافذة واحدة).
- -b, --bg=color
- تحديد لون الخلفية.
- -j, --daemon=value
- بدأ التشغيل فى نمط الخادم (أو العفريت :) )، قيمة value قد تكون "blend" أو "genuine".
- -p, --pic=path
- تحديد المسار لصورة الخلفية (إذا منت ترغب فى استخدام خلفية) لن يعمل مع الخلفية الشفافة.
- -s, --sb=bool
- استخدام أو عدم استخدام شريط التمرير.
- -t, --transbg=bool
- تفعيل أو عدم تفعيل استخدام خلفية شفافة .
- -w, --fontsize=value
- يحدد حجم الخط بالبكسل.
نمط الخادم:
يوفر mlterm خاصية فريدة من نوعها بالنسبة لمحاكى طرفية، وهى خاصية العمل كخادم فى الخلفية أو daemon، حسنا السؤال هو ما فائدة هذا النمط؟ ببساطة تخيل أنك تشغيل mlterm فى نمط الخادم هذا ثم تشغل أحد البرامج ولنقل wget أو تقوم بعمل compile لبرنامج ما ثم تريد أغلقت النافذة بكريق الخطأ لا مشكلة يمكنك استعادة الجلسة دون انقطاع، أو حتى يمكنك إعادة تشغيل X دون أن تفقد ما كنت تقوم به
لتشغيل mlterm فى نمط الخادم:
mlterm -j genuine
ويمكنك استخدام mlcient للإتصال بالخادم
لعرض الجلسات الموجودة:
$ mlclient -P /dev/pts/4(whose title is khaled@penguin:~) is sleeping.zZ /dev/pts/5(whose title is khaled@penguin:~) is sleeping.zZ /dev/pts/6(whose title is khaled@penguin:~) is sleeping.zZ
لتشغيل جلسة جديدة:
$ mlclient
للإتصال بجلسة سابقة حيث N هو رقم الجلسة:
$ mlclient /dev/pts/N
تشغيل أكثر من جلسة فى نفس النافذة:
هل ينتهى بك اﻷمر وقد ملأت سطح مكتبك بعشرات نوافذ سطر اﻷوامر المفتوحة لتقوم بعمل العديد من اﻷشياء فى نفس الوقت؟، هل تفتقد اﻷلسنة المتعددة فى konsole أو gnome-terminal؟
حسنا إليك المفاجئة: يمكنك تشغيل أكثر من جلسة فى نافذة mlterm فقط اضغط ctrl+f2 لبدأ جلسة جديدة، و ctrl+f3 و ctrl+f4 للتنقا بين الجلسات
ويمكنك تحديد عدد الجلسات التى سيبدأ بها mlterm باستخدام الخيار التالى حيث N هو عدد الجلسات:
$ mlterm -P N
إعداد mlterm:
يمكنك إعداد mlterm باستخدام واجهة الإعداد الرسومية، اضغط زر Cntrl ثم انقر بزر الفأرة الأيمن مع استمرار الضغط وستظهر لك نافذة الإعداد.
تنقسم نافذة اﻹعداد الى جزأين: االعلوى يحتوى على عدة ألسنة، هى:
- Encoding
- يمكنك منه تحديد الترميز، و دعم ثنائية اﻹتجاه، و أشياء أخرى.
- Font
- يمكنك تحديد اﻹعدادات المتعلقة بالخط.
- Background
- اﻹعدادات المتعلقة بالخلفية.
- Scroolbar
- اﻹعدادات المتعلقة بشريط التمرير.
- Others
- إعدادات أخرى :)
أما السفلى فيحتوى أزرار حفظ اﻹعدادات، و أزرار لتكبير و تصغير حجم الخط، و الجزأ اﻷسفل لفتح جلسة جديدة أو اﻹتصال بإحدى الجلسات الموجودة مسبقاً.
ويمكنك تحرير ملفات الإعداد يدوياً:
ملفات اﻹعداد:
- /etc/mlterm/*
- ملفات اﻹعداد العامة
- ~/.mlterm/*
- ملفات اﻹعدادت الخاصة بكل مستخدم
بعض اللقطات:
W3M يعرض صفحة ويب عربية فى mlterm
تحرير نص عربى باستخدام VIM فى mlterm
Comments
أنا كدا خلّصت
تقريبا الصفحة دى خلاص كده، فلو حد عايز يضيف/يصلح حاجة يبقى يشوف قبل ما ننقلها لقسم المقالات.