‏إظهار الرسائل ذات التسميات FreeBSD فري بي إس دي. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات FreeBSD فري بي إس دي. إظهار كافة الرسائل

يوليو 23، 2011

إعداد دقة العرض و خريطة لوحة المفاتيح من سطر الأوامر على غنو+لينكس

من المعلوم عند مستخدمي غنو+لينكس أن ملف إعدادات العرض xorg.conf المتواجد داخل مجلد إعدادات النظام /etc/ لم يعد ضروريا لعمل خادوم العرض X.org X11 نظرا لأن هذا الآخير أصبح قادرا (منذ آواخر 2008) على التعرف على بطاقة العرض و التعريف و الإعدادات المناسبة لها بشكل تلقائي.

أيضا، هذا الملف كان يستخدم في تحديد إعدادات لوحة المفاتيح و توليفة الأزرار المستخدمة في تبديل الخرائط. هذا أيضا لم يعد ضروريا لأن تعريف evdev يتيح للبيئات المكتبية مثل كيدي (KDE) و جينوم (Gnome) و إكس اف سي إي (XFCE) إعداد لوحة المفاتيح بكل مرونة و هي بدورها - سابقا و الآن - تتيح للمستخدم إعداد لوحة المفاتيح بكل سهولة مستعملا واجة رسومية.

لكن ماذا تفعل عندما تصادف إعدادات غير مناسبة و في نفس الوقت تستخدم واجهات رسومية محدودة الخصائص (عمدا كي تبقى خفيفة الوزن) ؟

يوليو 18، 2011

الوصل بشبكة الأنترنت على نظام OpenBSD و FreeBSD: التشبيك بمودم LG LDU-800

حصلت من صديق على مودم جديد لمزود الخدمة inwi من فئة LG LDU-800 و هو أيضا مودم من الجيل الثالث (USB 3G Modem) ،فبحثت عن حل لطريقة إعداده على نظام OpenBSD و نظام FreeBSD مستفيدا من تجاربي السابقة و من بعض المصادر على الشبكة.

على OpenBSD 4.9

1. نصل المودم بمنفذ usb ثم ننفذ أحد الأمرين لعرض مخرجات النظام المتعلقة به:
dmesg | grep -i "lg electro"
أو
tail /var/log/messages

المخرجات ستكون كالتالي:
pufy /bsd: umodem0 at uhub4
/bsd:  port 1 configuration 1 interface 0 "LG Electronics Inc. LG EV-DO USB MODEM" rev 1.10/0.00 addr 2
pufy /bsd: umodem0: data interface 1, has CM over data, has break
pufy /bsd: umodem0: status change notification available
pufy /bsd: ucom0 at umodem0
pufy /bsd: umodem1 at uhub4
pufy /bsd:  port 1 configuration 1 interface 2 "LG Electronics Inc. LG EV-DO USB MODEM" rev 1.10/0.00 addr 2
pufy /bsd: umodem1: data interface 3, has CM over data, has break
pufy /bsd: umodem1: status change notification available
pufy /bsd: ucom1 at umodem1
pufy /bsd: umodem2 at uhub4
pufy /bsd:  port 1 configuration 1 interface 4 "LG Electronics Inc. LG EV-DO USB MODEM" rev 1.10/0.00 addr 2
pufy /bsd: umodem2: data interface 5, has CM over data, has break
pufy /bsd: umodem2: status change notification available
pufy /bsd: ucom2 at umodem2


يوليو 12، 2011

بخصوص التشبيك بمودم Sagem Fast 800 و SpeedTouch 300 على نظام OpenBSD 4.9 و FreeBSD 8.2

تكملة لموضوع التشبيك على نظام OpenBSD و FreeBSD قضيت يومين محاولا الربط بموديم Sagem Fast 800 و Thomson/Alcatel Speedtouch 330 (المعدني اللون و الأحمر الداكن)، لكن مع الأسف رغم كل المحاولات لم أنجح على كلى النظامين و على كلى النمطين PPPoE و PPPoA و السبب غالبا هو عدم عمل البرنامج الثابت (firmware) نتيجة عدم إكتمال دعم كل الخصائص و الأنماط.

لم تنجح لا محولات التجميع من المصدر البرمجي (1, 2, 3) و لا محاولات استيراد البرنامج الثابت من غنو/لينكس و لا استخدام أية أداة مقترحة على المواضيع و الشروحات التي قرأتها. بإختصار على ما يبدوا لا سبيل لتشغيل المودمين بعد الإصدار 6 لنظام FreeBSD خصوصا مع غياب إمكانية الوصل بنمط PPPoA مع مزود الخدمة لدي؛ كما لا أمل تقريبا من تشغيلهما بنمط PPPoE النمط الوحيد المتاح لدي الآن.

يوليو 11، 2011

الوصل بشبكة الأنترنت على نظام OpenBSD و FreeBSD: التشبيك بمودم Huawei e153 3G

في هذا الجزء سنرى طريقة الربط بشبكة الإنترنت بواسطة Huawei E153 و هو مودم من الجيل الثالث (USB 3G Modem) على نظام OpenBSD و نظام FreeBSD.

على OpenBSD 4.9

1. نصل المودم على منفذ usb ثم ننفذ الأمر التالي
dmesg | grep -i huawei
لعرض مخرجات و رسائل النظام المتعلقة بإسم مصنع المودم. النتيحة غالبا كالتالي:

umsm0 at uhub0 port 7 configuration 1 interface 0 "HUAWEI Technology HUAWEI Mobile" rev 2.00/0.00 addr 2
umsm1 at uhub0 port 7 configuration 1 interface 1 "HUAWEI Technologies HUAWEI Mobile E161" rev 2.00/0.00 addr 2
umsm0 at uhub0 port 7 configuration 1 interface 0 "HUAWEI Technology HUAWEI Mobile" rev 2.00/0.00 addr 2
umsm1 at uhub0 port 7 configuration 1 interface 1 "HUAWEI Technology HUAWEI Mobile" rev 2.00/0.00 addr 2
umsm2 at uhub0 port 7 configuration 1 interface 2 "HUAWEI Technology HUAWEI Mobile" rev 2.00/0.00 addr 2
umsm3 at uhub0 port 7 configuration 1 interface 3 "HUAWEI Technology HUAWEI Mobile" rev 2.00/0.00 addr 2
umsm4 at uhub0 port 7 configuration 1 interface 4 "HUAWEI Technology HUAWEI Mobile" rev 2.00/0.00 addr 2
umsm5 at uhub0 port 7 configuration 1 interface 5 "HUAWEI Technology HUAWEI Mobile" rev 2.00/0.00 addr 2

الأمر usbdevs -d يعرض مخرجات مشابهة.

يوليو 07، 2011

الوصل بشبكة الأنترنت على نظام OpenBSD و FreeBSD: التشبيك اللاسلكي

أعمل الآن على تعلم طرق الوصل بشبكة الأنترنت مستخدما سطر الأوامر فقط على نظام فري بي إس دي (FreeBSD) و أوبن بي إس دي (OpenBSD) باستخدام كل ما هو متاح لدي:



يونيو 30، 2011

مع السي و gcc و المصرف الناشئ clang/llvm

في الشهر المنصرم قضيت ساعات طويلة في إسترجاع بعض ما تعلمته سابقا عن لغة البرمجة سي C و تعلم البعض الآخر مستخدما حاسوب متنقل بموصفات ضعيفة. رغم ذلك ثبت عليه ثلاثة أنظمة تشغيل حرة و مفتوحة المصدر، خفيفة الوزن، جد متطورة تقنيا و قابلة للتخصيص لأبعد الحدود: آرتش لينكس (Arch Linux), فري بي إس دي (FreeBSD 8.2) و أوبن بي إس دي (OpenBSD 4.9)

على آرتش أستخدم واجهة E17، مدير النوافذ Fluxbox على فري بي إس دي، ثم مدير النوافذ الإفتراضي FVWM على أوبن بي إس دي. استهلاك الذاكرة لا يتجاوز 42 ميجا على E17 و في حدود 30 ميجا مع Fluxbox و 23 ميجا مع FVWM.

بالنسبة لمحرر الأكواد البرمجية بلغة السي، إعتمدت على كل من Geany و Code::Blocks و أحيانا أخرى على المحرر النصي nano أو vi. التصريف/التجميع إما من سطر الأوامر أو من زر compile/build لـ geany و code::blocks. هذا الأخير متوفر على نظام ويندوز و هو أحدث و أفضل من المحرر Dev-C++ المنتشر بين الطلبة.

بالنسبة لعملية التصريف فهي تتم بواسطة تجميعة مصرفات جنو (GNU Compiler Collection) أو GCC بالختصار. جي سي سي مشهور جدا و هو المستخدم في تجميع تقريبا كل المنصات الحرة و المفتوحة المصدر بكل برامجها و مكتباتها، لذلك فهو ذو أهمية بالغة. جي سي سي يوفر كل الأدوات الضرورية لتجميع/تصريف ليس فقط البرامج المكتوبة بلغة السي بل أيضل تلك المكتوبة بـ سي++, جافا و Objective C إلى جانب لغات أخرى و هو يدعم أكثر من 40 معمارية مختلفة. جي سي سي مرخص تحت رخصة غنو العموميمة الإصدار الثالث (GPLv3). رخصىة جيدة لكن يراها البعض أكثر تعقيدا من الإصدار الثاني كما تضع قيودا إضافية على الشركات التي تريد التلاعب ببراءات الإختراع لملاحقة المجتمع الحر. في المقابل نجد إهتماما متزايدا بتطوير LLVM / Clang و هما معا البديل و المنافس لجي سي سي بحيث سيقدمان مصرف:
  • بترخص أكثر تساهلا.
  • مرن و ببنية موزعة و تعتمد على الوحدات بمعتى يسهل تطويره.
  • برامج تنفيدية محسنة لتحقيق أداء أفضل.

مشروع clang ممول من طرف Apple و مشروع FreeBSD غالبا سيكون أول نظام تشغيل مجمع حصريا بواسطتة.

لتجربة clang على ubuntu يكفي تثبيت حزمة بإسم clang و هي ستتكفل بتثبيت كل الإعتمادات اللازمة. ثم لتجميع برنامج بواسطته يكفي تنفيذ مثلا:
clang -v demo.c -o demo

محتوى demo.c قد يكون مثلا:
#include <stdio.h>

int main()
{
    printf("Hi everyone!\n");

    #ifdef __clang__
    printf("I was compiled using clang/llvm ;)\n");
    #endif

    return 0;
}


clang للآن - على ما يبدوا - مازال يحتاج إلى بعض أدوات gcc مثل ld و as لكن ذلك ليس بالشيء الكبير

الطريقة البديلة للتخلص كليا من gcc لم تنجح معي ربما لعلل أو لقدم الإصدار (استخدمت أبونتو 10.10) أو لأني غفلت عن خطوة معينة. الطريقة هي كالتالي:
clang -emit-llvm demo.c -c -o demo.bc
lli-2.8 demo.bc
llc-2.8 demo.bc -o demo.s

ثم اداة llvm-as و llvm-ld بطريقة قريبة من:
as --32 -o demo.o demo.s
ld -melf_i386 -o demo demo.o


و فقط للتوضيح، llvm توفر البنية الأساسية للمصرف و هي بمثابة الخلفية أما clang فهو المصرف و بالتالي تعمالنا معه سيكون دائما كتعملنا مع جي سي سي بمعنى أنه هو المفرز و المحلل و المجمع للكود البرمجي.

أيضا لمعرفة كل التوجيهات (preprocessors) المدعومة من طرف clang يكفي تنفيذ:
clang -dM -E - < /dev/null
في النهاية أود الإشارة إلى كتاب عربي في لغة السي من إعداد خليل أونيس يدعى كتاب لغة السي الشامل. هذا الكتاب الأقل ما يمكن أن أقول فيه هو أنه رائع و مميز و سعدت جدا بقراءة معظمه. أكثر كتب برمجة إشتريتها كانت كتب سي و سي++ (8 أو أكثر) لم يعجبني ولا واحد منها، لكن هذا الكتاب رغم أنه مجاني و متاح إلا أنه لا يقدر بثمن للفائدة التطبيقية التي بذاخله. رحلتي مع سي لم و ربما لن تنتهي لأن السي و الأنظمة الشبيهة بيونكس متقاربون في النهاية.

يوليو 14، 2010

لمحة عن مشروع فري بي إس دي FreeBSD و إصداره المقبل 8.1

باقتراب موعد إصدار نظام فري بي إس دي FreeBSD 8.1 سأخصص هذا الموضوع للحديث عن هذا النظام الذي يمثل أحد أوجه العالم الحر. كما يتذكر البعض فقد تطرقت إلى التعريف بهذا النظام بشكل مختصر من خلال تجربتي السعيدة معه سابقا.

أولا، لم يبقى على الإصدار 8.1 إلا أيام قليلة لأنه حسب خارطة طريق المشروع في طور التجميع النهائي. هذا التحديث هو الأول للفرع 8 من نظام FreeBSD. الفرع الثامن (8-stable) يمثل الفرع المستقر الحالي. هناك فرعين آخرين السابع (7.3-release) و التاسع (9.0-current).

بالنسبة لـ FreeBSD 7.3  هو آخر إصدار في التفرع السابع الذي يعتبر الإصدار المستقر القديم/السابق. هذا الأخير سيحظى بالدعم الأمني حتى 31 مارس 2012.

بالنسبة لـ FreeBSD 9.0-Current لم يصدر بعد و هو يمثل الإصدار التطويري.

و لتدقيق فقط، الفرع الثامن ينقسم إلى شقين: شق الإصدار الحالي المتوفر (8.0-release) و الشق التطويري المستقر (8.0-stable). هذا الأخير هو الذي سيصبح 8.1 عندما يعلن المطورون عنه.

عموما يمتد عمر كل فرع إلى 4 سنوات تقريبا. في هذه المدة يتم إصدار 4 إصدارات أو أكثر، كل إصدار بعد 4 إلى 6 أشهر؛ مع العلم أنه يتم تطوير فرعين بشكل متوازي في آن واحد. و لهذا فإن هذا النظام نشيط و يحظى بتطوير مستمر على عكس ما يعتقد البعض، كما يحظى براعية مؤسسة فري بي إس دي (FreeBSD Foundation) التي تدير المشروع و تمول مشاريعه من خلال التبرعات التي تتوصل بها.


الجميل في الموضوع أيضا أن توزيعة دبيان جنو/لينكس ستوفر إصدار يدعى بـ Debian GNU/kFreeBSD و هو سيوفر نفس التوزيعة بأدواتها و برامجها كما تعودنا لكن بنواة نظام FreeBSD. هذا الإصدار سيلفت انتباه الكثيرين لأنه سيقدم أفضل ما في النظامين FreeBSD و Debian GNU/Linux.

الإصدار Debian 6 المسمى بـ Squeeze سيصدر على أقصى حد في الأشهر الثلاثة المقبلة لذلك لم يبقى الكثير لاستخدام Debian GNU/kFreeBSD بشكل مستقر.

لمعرفة المزيد بخصوص مشروع Debian GNU/kFreeBSD يمكن الإطلاع على الويكي (wiki) أو الأسئلة الأكثر الشيوعا (FAQ).

لمن لا يرغب في الانتظار و يريد تجربته اليوم عليه بدليل التثبيت  و تحميل قرص التثبيت اليومي من هنا. ملف ISO لقرص التثبيت ستجدونه على مجلد monolithic تحت اسم mini.iso . هذا الأخير سيقوم بتحميل كل شيء و تثبيته من الأنترنت.


و هذا ليس كل شيء فيما يخص FreeBSD. هناك مشروعين آخرين يحاولان تقديم نفس النظام لكن بطريقة أسهل -- لأن تثبيت FreeBSD يحتاج إلى تثبيت كل شيء بشكل يدوي و بواهجة و أدوات ترعب القادمين الجدد لهذا النظام :) -- و مخصصة مسبقا لتعمل كنظام مكتبي إما بواجهة كيدي (KDE) كما هو الحال مع مشروع PC-BSD أو بواجهة جينوم (Gnome) كما هو الحال مع مشروع GhostBSD.

بالنسبة لـ PC-BSD 8.1 سيصدر بعد صدور FreeBSD 8.1 بأسبوع أو أسبوعين. أما بالنسبة لـ GhostBSD فما يزال يعمل بشكل قرص مدمج حي (Live-CD) في إصداره التطوري 1.5-Beta رغم أنه تمكن من إضافة مٌثبِت PC-BSD Installer إلى النظام و هذا ما يعني أنه قربا سيصبح ممكن تثبيته على القرص الصلب.


هذا كل شيء الآن، أعرف أنني لم أتطرق إلى الجديد في الإصدار 8.1، سأترك ذلك إلى حين صدوره بشكل نهائي.

تحياتي :)

مارس 05، 2010

دردشة تقنية - 03/2010

أفضل أن اكتب تدوينة اليوم على شكل نقاط بسيطة:
  • أبونتو 10.04 سيصدر بعد شهرين تقريبا، هذا الإصدار سيتم دعمه لثلاثة سنوات على الحواسب المكتبية و خمسة سنوات على الخوادم. و رغم أنه ما زال قيد التطوير فقد يحمل معه في الإصدار النهائي تعريف جديد لبطاقة العرض Intel. حاليا هنالك من يعاني منه و يتسبب له في شاشة سوداء. حتى تعريف nVidia المملوك الجديدة (الإصدار 195.36.03 المغلق المصدر) تسبب في تراجع واضح للأداء لذى البعض. لذلك يفضل عدم التسرع في الترقية و يفضل تجربة LiveCD لبعض الوقت. هذه المشكلة ليست مرتبطة فقط بتوزيعة أبونتو بل بكل التوزيعات التي ستصدر في الشهور المقبلة.
  • تم إصدار Eclipse 3.5.2 و قد حل مشكلة الأزرار المتجمدة و حسن من جودة الخطوط كثيرا. يمكن تحميله من على الموقع أو تحديثه عبر خاصية التحديثات من على قائمة Help.
  • تم إطلاق الإصدار التصحيحي الأول لواجهة كيدي و قد حمل تصحيحات عديدة. الحزم متوفرة على Kubuntu 9.10.
  • توصلت البارحة بدعوة لتجربة الإصدار المقبل لـ Aptana RadRails Studio 3 (يمكن الحصول على الدعوة بعد طلب ذلك من موقع الشركة). يرتقب إصداره نهائي في منتصف السنة الحالية. فكرة هذا الإصدار هو ملائمة منصة العمل على ما تعود عليه محترفي Rails من تنسيق بين الطرفية (Console) و محرر الكود مثلما يفعل برنامج TextMate على نظام ماك. الإصدار الثالث ما زال قيد تطوير مكثف و يمكن مشاهدة فيديو يعرض الخصائص الجديدة هنا.
  • بالنسبة لمستخدمي ويندوز خصوصا و حتى مستخدمي جنو/لينوكس عموما لا تنسوا تجربة الحزمة المكتبية Go-OO. و هي نفسها الحزمة المكتبية OpenOffice.org مع تحسينات طفيفة هنا و هناك إلى جانب توافق أكثر مع ملفات OOXML للحزمة المكتبية مايكروسوفت Office 2007 بالإضافة إلى الميزة التي تثير اهتمامي في كل البرامج ألا و هي السرعة. التحميل من على الموقع.
  • نعم تم إصدار نظام PC-BSD 8.0 لكنه لم يعجبني. تعثر المثبت في إحدى المرات و أضاع 20 دقيقة دون فعل شيء. إستهلاك الذاكر و المعالج مرتفع مقارنة مع الإصدار السابق (7.1.1). في الوقت الراهن أفضل أن أتعلم FreeBSD و عموما أنظمة BSDs تحتاج إلى دراية و وقت طويل حتى تلائم مختلف الإحتياجات. على سبيل المثال إحتاج FreeBSD 8.0 إلى 30 ساعة متواصلة على معالج بسرعة 2.6GHz لتجميع و تثبيت كل شيء من على ports. المثير هو أن الإهتمام بـ FreeBSD و PC-BSD في تزايد مستمر هذه الأيام.
  • تجربتي مع توزيعة Slackware لم تكن إيجابية بما فيه الكفاية. المشكلة تكمن في التوثيق الذي إما قديم نوعا ما أو لا علاقة له بما تبحث عنه. لذلك أتقدم بشكل بطيء.
  • تم إصدار LinuxFromScratch 6.6 و قد بدأت معه خوض تجربة إعداد نظام جنو/لينوكس من الصفر. توثيقه جيد و أتمنى أن أجد الإستفادة التي أبحث عنها.
  • بينما كنت في صدد انتظار تحميل ملف ISO لـ Slackware قمت بتثبت توزيعة Pardus 2009.1 على الآلة الإفتراضية (VirtualBox). الصراحة لم أنتظر الشيء الكبير منها، لكني كنت مخطئ. هذه التوزيعة ممتازة، سهلة التثبيت للغاية، سريعة، موجة للمستخدم العادي الذي لا علاقة له بكل هذا الهوس التقني، حزمها حديثة و تثبيت البرامج عليها سهل للغاية و إعدادات النظام جد ملائمة. فريق العمل قام بعمل جبار ليخرج توزيعة مثل Pardus. قمت بتثبيتها مرة ثانية على ذاكرة USB Flash حتى أختبرها بشكل مكثف و مطول. حاليا تمكنت من الإقلاع على ثلاثة أجهزة حاسوب مختلفة العتاد و في كل مرة تعرفت على كل أنواع العتاد بما فيها Wireless, ،Bluetooth بطائق العرض المسرعة و حتى شاشة بتقنية اللمس (Touch Screen). الآن أضفت عليها كل الأدوات البرمجية التي أحتاجها حتى تبقي كمنصة عمل متنقلة.
  • أخيرا إضافة TabGroups Manager لفايرفوكس إضافة رهيبة، لا تشتت ذهني بعد الآن بمجرد فتح مجموعة من الألسنة (Tabs) مع بعض. تمتلك هذه الإضافة خاصية تسمى Hibernate تسمح بحفظ مجموعة من الألسنة على شكل إطار عمل تستدعيه متى تشاء و تحفظه متى تشاء.

فبراير 18، 2010

تجربتي الأخيرة مع نظام FreeBSD 8.0

قضيت اليومين و نصف الأخيرين في عالم نظام FreeBSD. ثبت الإصدار الأخير FreeBSD 8.0 معتمدا على التوثيق الرسمي للنظام، و حصلت في النهاية على نظام مكتبي متكامل. سؤالين دارا في ذهني عند إنتهائي هما:

التجربة تركت إنطباعا إيجابيا مهما تمثل في:
  • بحثت على شبكة الأنترنت رأسا على عقب على كل الموارد التي تتطرق إلى نظام FreeBSD.
  • أخد FreeBSD نفس الأفضلية التي يأخدها نظام جنو/لينوكس و لولا أني وجدت التوزيعة المناسبة (Arch Linux) لكنت قد إنتقلت إليه فورا. و الجميل في الأمر أن توزيعة أرك لينوكس تستخدم نفس طريقة إعداد الأنظمة يونكس (Unix-like).
  • أضفت شعاره إلى شعار المدونة :)
  • و سأثبته (أو PC-BSD 8.0) على جهازي بصفة دائمة.


مع الأسف الإهتمام به على شبكة الأنترنت محدود و يقتصر على بعض المواقع :S لكن و رغم ذلك فقد تكفل الصديقين عبد المهيمن و سيف عبد الرزاق يشرح طريقة تثبيته و إعداده. و بالتأكيد FreeBSD كباقي البرامج الحرة و المفتوحة المصدر ما زال في حاجة إلى دعم كبير.

أهم المواقع و الموارد المهتمة بنظام FreeBSD
FreeBSD يستخدم مثبِت نصي يوفر نظام تشغيل أساسي جاهز للإستخدام على الخوادم. أي إحتياج آخر (إستخدام مكتبي أو خادم مخصص) يحتاج إلى عمل يدوي. إدا كنت من اللذين إستغربوا من مدى صعوبة تثبيت توزيعة دبيان دائمة التحديث فإن طريقة تثبيت فري بي إس دي أكثر بدائية إعتمادا على مقاييس اليوم (أبونتو أو غيره). لحسن الحظ توجد توزيعة PC-BSD في إصدارها الثامن و هو قيد التطوير حاليا و يرتقب إصداره في الأيام القليلة المقبلة، ستجعل من تثبيت نظام FreeBSD للإستخدام المكتبي أمرا سهلا. أنتظر صدورها بفارغ الصبر.
أتمنى أني لم أنسى شيء، الآن حان وقت تجربة توزيعة Slackware 13. الصورة :)