Black X

النهاية

Posted in Apple, Blogger, GNOME, MacBook, openSUSE, ubuntu, المدونة, تطبيقات, رياضة, عام by Black X on يونيو 30, 2011

بدايتي بالتدوين كانت بالعام 2004 في صفحتي السابقة, كان التدوين وقتها في بدايته خصوصاً المدونات العربية و قد تعرفت في حينها على هذا المصطلح من مدونة سردال, كنت في حينها طالباً جامعياً في بداية المشوار الدراسي, وقتها بدأت اقرأ عن نظام التشغيل جنو/لينوكس و توزيعاته و طريقة تركيبه, استمررت في استكشاف هذا النظام و بدأت في حينها في تثبيته على جهازي وبدأت في التعرف عليه بشكل اكبر.

كانت اول توزيعة قمت بتجربتها بحياتي هي ريدهات الاصدارة التاسعة آخر اصدارة من سلسلة ريدهات قبل ان ينفصل عنها مشروع مجتمعي باسم فيدورا و الذي ما زال ليومنا مستمراً في الاصدار, رويداً رويداً انتقلت من عدة توزيعات حتى استقررت اخيرا على توزيعة اوبن سوزه, و بدأت منها في جعل النظام هو النظام الافتراضي الذي استخدمه على الاجهزة التي اقتنيتها منذ عام 2005 حتى 2008, وبدأت في مشاركة معرفتي بالنظام و حل المشكلات فيه و هو ما كان الهدف الاساسي من مدونتي هذه و ما قبلها, و كذلك بطبيعة الحال شاركت بعدة منتديات مهتمة بالنظام بدءاً من منتديات الأمن العربي انتهاءاً بمنتديات مجتمع لينكس العربي.

في العام 2007 انتقلت اخيراً لاستخدام نظام الماك من ابل و ذلك باقتنائي اول جهاز ماك و هو الماك بوك, بدأت في حينها للانتقال بشكل تدريجي لهذا النظام حتى توقفي نهائياً من استخدام توزيعات جنو/لينوكس في حدود العام 2009, و منها بدأ يقل نشاطي في التدوين و المشاركة في منتديات مجتمع لينوكس العربي والذي كنت مكلفاً فيه كمراقب عام على منتديات المجتمع, و لذات السبب تركت المجتمع و اعلنت انسحابي من الكادر الاداري في الموقع المذكور و الذي قضيت فيه اجمل الاوقات بين الاخوة هناك و يعلم الله انني اكن لهم كل الاحترام و التقدير.

بعد انتهائي من المرحلة الجامعية و حصولي على درجة البكالوريوس في تخصصي بدأت في مشوار جديد من حياتي كموظف باحدى الادارات الحكومية, في ذلك الوقت اصبح الضغط النفسي اكبر من السابق, وقت الفراغ و السهر قلت بنسبة كبيرة, مشاغل الحياة بالطبع منعتني لحد ما من استكشافي التقني في توزيعات جنو/لينوكس و بدأت افقد الاهتمام اكثر و اكثر لهذا النظام الرائع.

حاولنا انا و اخي سالم في فترة ماضية العودة للتدوين كمحاولة اخيرة ان نجحت نجحت و الا ستكون النهاية بالنسبة لي على الاقل وكانت كذلك محاولة بائسة مني للعودة لاستخدام لينوكس, لكن للأسف بعد عام من انشاء المدونة و التي اطلقنا عليها مسمى Arab Geek قل معدل التدوين لدينا الى ان وجدنا انفسنا و قد انتهى منا اشتراك الدومين و لم نعطي الامر في حينها اي اهمية و بذلك انتهى الأمر بشكل نهائي و حاسم في العودة للتدوين و نظام جنو/لينوكس.

بالوقت الحالي ما زلت مستقراً على نظام الماك, و بالطبع ليس لدي اي صفحة شخصية سوا صفحتي على تويتر و التي اكتب فيها بشكل شبه دائم مع مشاركتي فيها بعض من الامور التقنية من هنا و هناك.

حقيقةً استمتعت جدا في فترة تدويني هنا و مشاركتي لما لدي من علم واخبار وحل للمشكلات التي واجهتني في توزيعات لينوكس وحتى الماك, و قد كانت من اجمل تجارب حياتي, و كل الفضل يعود في ذلك إلى سبحانه و تعالى ثم إلى والدي العزيز الذي نمى في داخلي حب الاستكشاف في التقنية منذ ان كنت في مراحل الابتدائية.

ختاماً فان صفحتي هذه لن يتم حذفها من قبلي و ستظل على ما هي عليه لعل احدهم يستفيد من مواضيعها باي شكل كان, و ان اردت العودة مستقبلاً فستكون العودة بصفحة مستقلة عن هذه المدونة, مع كل الشكر لكم و التقدير.

هذا و صلى الله و سلم على نبينا محمد و على آله و صحبه اجمعين..
اخوكم/ طلال العمودي

Advertisements

التعليقات على النهاية مغلقة

توقف دعم Xgl رسمياً

Posted in openSUSE, تطبيقات by Black X on يوليو 27, 2008

تقنية خادم إكس و المعروفة باسم Xgl التي أخرجت Compiz للنور, سيتم توقف استعمالها رسمياً من قبل Freedesktop.org, و بالطبع لن يتم استخدامها ايضاً في النسخة القادمة من openSUSE 11.1 و بالاضافة الى SLED 11.

و سيستعيض عنها باستخدام تقنية AIGLX و هي بالمناسبة التقنية المستخدمة في تشغيل Compiz في عدة توزيعات مثل ubuntu و openSUSE و غيرهما بشكل افتراضي.

للمزيد من المعلومات عن هذا الموضوع بالامكان العودة للمصدر.

التعليقات على توقف دعم Xgl رسمياً مغلقة

لوحة المفاتيح اللاسلكية من Apple و طريقة تثبيتي لها على openSUSE

Posted in Apple, openSUSE by Black X on يوليو 21, 2008

قبل عدة أيام قمت باقتناء لوحة المفاتيح اللاسلكية من Apple, و ذلك لاعجابي الشديد بها لتشابهها لنفس طريقة تقسيم المفاتيح في جهازي الماك بوك, اذ انني في الحقيقة استخدم الجهاز في منزلي كجهاز سطح مكتب و ذلك باستخدامي لشاشة خارجية مع طقم لوحة مفاتيح لاسكلية من Logitech, و صراحة استطيع القول بخصوص لوحة مفاتيح Apple بأنها تحفة فنية راقية! و الصورة تعبر أكثر.

طبعاً لوحة المفايتح هذه مصممة من معدن الالمونيوم المتين, و هذا ما زاد سعر الجهاز لحد ما, بالاضافة لاستخدامها لتقنية البلوتوث في الاتصال بينها و بين جهاز الكمبيوتر, فلا يأتي معها اي قطعة تقوم بتركيبها بالجهاز, و هذا ما وفر لي منفذ اليو اس بي الذي كنت استخدمه في لوحة المفاتيح السابقة.

قبل اقتنائي لهذه اللوحة الفنية ترددت كثيراً في موضوع تشبيكها في توزيعتي openSUSE, خصوصاً و انني قرأت مشكلة سابقة لاحدهم في المنتديات الرسمية للتوزيعة بخصوص عدم قدرته على توصيل لوحة المفاتيح بجهازه, لكن ما اعطاني بعض الامل هو انني وجدت طريقة لتوصيلها على توزيعة ubuntu في منتدياتهم الرسمية.

لوحة المفاتيح هذه للأسف لم اجدها معربة بشكل رسمي في الفروع الرسمية الخاصة ببيع منتجات Apple في مدينتي, لكني وجدت في أحد الفروع أن لديها عرض بتعريب اللوحة بالليزر دون مقابل, و هو ما شدني الى اقتناءها حقيقةً, لكن المشكلة الوحيدة هو ان التعريب سيأخذ توزيع الأحرف العربية الخاصة بـ Apple و التي تختلف لحد ما مع تقسيم الاحرف العربية لاجهزة الـ PC, لأنني في حقيقة الأمر ما زلت معتاداً على استخدام تقسيم اللغة العربية PC و لن اوجه مشكلة في هذا الموضوع نظراً لاعتيادي الامر مع جهازي MacBook.

لن أطيل الموضوع اكثر من ذلك و ساحاول الاختصار اكثر, للأسف اكتشفت صعوبة توصيل لوحة المفايتح على توزيعتي, و السبب في عدم قدرة تعريف البلوتوث BlueZ على الاتصال بلوحة المفاتيح! عكس ما حدث مع فأرة ابل اللاسلكية و التي اقتنيتها مسبقاً.

سأتحدث الآن بشكل عملي اكثر.

في البداية و بعد مراجعتي لموضوع كيفية ربط لوحة المفاتيح على توزيعة ubuntu, كانت الاداة المستخدمة في الشرح هي hcitool, و ذلك بعمل مسح للاجهزة التي تعمل في المدى القريب, بواسطة الامر التالي:
hcitool scan

و منها سيظهر لك الاجهزة القابلة للاتصال مع رقم عنوانها (ما يعرف بـ mac address)

بالامكان الاتصال مباشرة بالجهاز بواسطة الامر
hcitool cc xx:xx:xx:xx:xx:xx

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

للأسف بعد اتباعي للطريقة الخاصة بما تم شرحة في ubuntu و بعد محاولتي للاتصال بلوحة المفاتيح التي لدي, اتتني رسالة خطأ مفادها ان المفتاح المطلوب غير موجود!
Error org.bluez.Error.ConnectionAttemptFailed: Required key not available

هذا ما دعاني الى البحث بشكل اكبر في الشبكة, مع اخذي فكرة بأن المشكلة بحاجة الى وجود رقم الـ PIN لربط الجهاز, و للأسف باءت جميع محاولاتي بالفشل, في الاخير وجدت ان هنالك طريقة أخرى لربط لوحة المفايتح, و ذلك عن طريق ربطها بواسطة الاداة hidd.

لكن اكتشفت في ان توزيعتي openSUSE لا تتوفر فيها هذه الاداة و ذلك ما اثار استغرابي!
على كل حال قمت بتجربة الاسطوانة الحية لـ ubuntu و بعد اتباعي للطريقة الخاصة بربط لوحة المفاتيح هذه استطعت ربطها مع التوزيعة دون مشاكل تذكر, و فوق ذلك وجدت ان المفاتيح الاضافية FN تعمل و سأكون بحاجة لها بشكل كبير نظراً ان بعض المفاتيح الهامة بحاجة لها (مثل المفتاح حذف, صفحة اعلى و اسفل و غيرها).

و وجدت ان التطبيق hidd متوفر في ubuntu, و ما قمت به هنا في غاية البساطة, اذ قمت باخذ نسخة للتطبيق عن طريق المسار
/usr/bin

و نقله الى نفس المسار في توزيعتي openSUSE, و اصبحت امتلك الاداة التي كنت حاجة لها, كل ما احتجت اليه هو في ربط لوحة المافتيح بواسطة الامر التالي:
hidd --search

هذا الامر في غاية البساطة, سيقوم بالبحث لديك عن اي جهاز قريب من مدى الاتصال و الاتصال به بشكل تلقائي, اما انك كنت تعرف عنوان جهازك الذي لديك بالامكان الاتصال به بالامر التالي:
hidd --connect xx:xx:xx:xx:xx:xx

طبعاً بالامكان الاستفادة من الاداة hcitool في معرفة عنوان الجهاز القريب من مدى الاتصال, بعد ذلك تم ربط لوحة المفاتيح بالتوزيعة لدي دون مشاكل, و تأكد من ايقونة البلوتوث بأن الجهاز اصبح متعرف في التوزيعة و بسام لوحة المفاتيح, حتى يتم الاتصال بالشكل المطلوب, يتم اغلاق استخدام لوحة المفاتيح عن طريق النقر بشكل مستمر على زر الطاقة الخاص بها حتى تطفأ الاضاءة الخضراء الصغيرة و الموجودة في الركن اليمين الاعلى من لوحة المفاتيح, ثم تشغيلها مرة اخرى, و بمجرد وميض الاضاءة عدة ومضات نقوم بعملية الاتصال كما سبق شرحة.

حسناً حتى الآن الامور على احسن حال, لكن للأسف اكتشفت ان اهم ما ارديهم في لوحة المافتيح غير مفعل, و هي مفتاح الوظائف الاضافية في لوحة المفاتيح FN, و هذا يعني عدم الاستفادة من لوحة المفاتيح بالشكل المطلوب!

قمت بعدها بعملية البحث في كثير من المواقع, و في النهاية وجدت ضالتي, عبارة عن رقعة بسيطة يتم اضافتها الى خدمة البلوتوث لتمكين استخدام مفتاح fn و الاستفادة من الوظائف الاضافية باللوحة. في الحقيقة قمت باضافة رقعتين الى ملفين منفصلين و ليست رقعة واحدة.

يبدو لي بعد قرائتي لملفي الرقعتين بأن احداها لتفعيل مفتاح fn, و الاخرى خاصة بتعديل طريقة الوظائف بحيث يجب قبل النقر على مفتاح الوظيفة المرادة, ان يتم النقر على مفتاح fn كذلك, و هو ما اريده.

سأكمل الحديث عنها في تدوينة قادمة بحول الله.

بخصوص Zypp و قطعه للاتصال بشكل متكرر

Posted in openSUSE by Black X on يوليو 4, 2008

قبل فترة وجيزة من الآن قمت بكتابة موضوع في منتديات دعم openSUSE بخصوص مشكلة تحسس zypp لحالة الاتصال, و التي لاحظتها بشكل كبير انها متكررة في مستودعات OSS و NO-OSS ان لم تكن الوحيدة فقط, و هي مستودعات الحزم الافتراضية التي تستخدم في التوزيعة.
و اليوم تم تقديم نصيحة لي من أحد الاعضاء و بدأت في تجربتها ( الظاهر راحت عن بالي 😀 ), و هي في تغيير عناوين استخدام المستودعات OSS و NO-OSS و Update الى عناوين أقرب مستودع لي بالمنطقة, لأنه من الواضح ان المستودع الرئيسي يعاني من ضغط فيه, مع ترك عناوين المستودعات الاخرى مرتبطة بالعنوان الرئيسي كما هي.

بالامكان مراجعه هذه الصفحة لرؤية عناوين المستودعات الرسمية.
و هذه هي المستودعات التي استخدمها حالياً:

Name | URL
openSUSE-11.0-Oss | http://ftp.kaist.ac.kr/pub/opensuse/distribution/11.0/repo/oss/
openSUSE-11.0-Updates | http://ftp.kaist.ac.kr/pub/opensuse/update/11.0/
openSUSE-11.0-Non-Oss | http://ftp.kaist.ac.kr/pub/opensuse/distribution/11.0/repo/non-oss

تغيير روابط المستودعات يتم و بكل بساطة عن طريق الولوج الى YaST و من ثم الى Software Repositories و من ثم اختيار المستودع المراد تغيير عنوانه, و اختيار Edit, ثم بعد فتح نافذه عنوان المستودع نقوم باختيار Edit Complete URL كما في الصورة التالية

ثم اضافة رابط المستودع الجديد (سواء الخاص بـ OSS او NO-OSS او Update) يليها حفظ التغييرات.

أتمنى من مستخدمي التوزيعة ممن يعانوا من مشكلة الانقطاع المتكرر تجربة هذا الأمر و اعلامي عن النتائج.

كيفية تعديل PackageKit ليعمل تحت Smart

Posted in GNOME, openSUSE, تطبيقات by Black X on يوليو 3, 2008

تحدثت في موضوع سابق عن تمكني اخيراً و بعد عدة محاولات, من ربط PackageKit مع مدير الحزم Smart, ليصبح تطبيق PackageKit المستخدم في تنصيب الحزم و تحديث النظام و كأنه واجهة استخدام لـ Smart.

هدف التطبيق PackageKit هو أن يكون أداة مبسطة لتثبيت الحزم و تحديث النظام بالتحديثات و الحزم الحديثة, بحيث يكون تطبيق موحد مرن يعمل تحت العديد من التوزيعات, لكن باستخدام مدراء حزم التوزيعات. مثلاً نجده في openSUSE يستخدم zypp, وفي Fedora يستخدم فيها yum, وفي Ubuntu ان لم يخب ظني تستخدم التطبيق بربطه مع apt, و هكذا مع بقية التوزيعات.

لذا تم انشاء ما يعرف بالـ Backend الخاصة بكل مدير حزم لربطه بالتطبيق PackageKit, و كل Backend تسمى باسم مدير الحزم, بحيث تقوم هذه الـ Backend بالعمل بالخلفية لجلب مدير الحزم المراد استخدامه مع PackageKit.

مثال توضيحي بسيط: في openSUSE, لو قمنا بكتابة الامر التالي في سطر الاوامر
gpk-backend-status
فسنجد ان نافذة جديدة قد ظهرت و تحمل معلومات الـ Backend المستخدم في PackageKit, في حالتنا هذه سنجد ان اسم الـ Backend هو Zypp, أي أن تطبيق PackageKit يعمل تحت مكتبة Zypp الخاصة بادارة التطبيقات في openSUSE, بالاضافة لذلك سيظهر لنا ما هي الخصائص المدعمة في هذا الـ Backend من بحث عن التطبيقات, و الفلترة و ما اليه.

حسناً, هنا اتوقع انني وضحت النقطة الخاصة بـ Backend, لاشرح الآن كيفية ربط Smart مع PackageKit. (بالمناسبة تعريب Backend هو خلفية, و لذا سأقوم بالاشارة لها على انها مدير الحزم الذي يعمل بالخلفية).

قبل أن تقوم بهذه الخطوات, أود تنبيهك أن تقوم بها على مسؤوليتك الخاصة, و لست مسؤولاً في حالة ان أخطأت و لم تقم بالخطوات بالشكل الصحيح, لأن الموضوع في حاجة الى استخدام المستخدم الجذر و نقل مكتبات, فاذا كنت لا زلت مبتدءاً فالافضل لك أن لا تقوم بالتعديلات التالية.

بالطبع قمت بالبحث كثيراً في الشبكة العنبكوتية عن كيفية ذلك, و للأسف لم اجد أي معلومات بكيفية ربط PackageKit بسمارت, لكن بعد عدة محاولات شخصية من قبلي و منها تثبيت PackageKit من المصدر مع تفعيل Smart بها, ما زلت لم افلح في تشغيل PackageKit ليعمل تحت سمارت. و في النهاية و بعد تلاعب بسيط و نقل ملفات يدوياً, استطعت اخيراً ربط PackageKit ليعمل تحت Smart, و سأشرح طريقة ذلك الآن.

قبل كل شيء, لسنا بحاجة الى الغاء تنصيب PackageKit او الواجهة الرسومية الخاصة به و التي تسمى gnome-packagekit من النظام.

في بداية الامر, فاننا نحتاج الى تعديل الملف PackageKit.conf لتعريفه باستخدام مدير الحزم Smart في الخلفية بدلاً من zypp.
عن طريق الامر التالي (بحاجة الى المستخدم الجذر)
su
gedit /etc/PackageKit/PackageKit.conf

و منها تعديل
DefaultBackend=zypp
ليصبح
DefaultBackend=smart
مع حفظ الملف.

الآن نحن بحاجة الى الملف المصدري الخاص بالتطبيق PackageKit, و لتنزيله من هذا الرابط, و ذلك لاحتواءه على ملفات الـ Backend والتي نحن في حاجة لها.

قبل ان نقوم بعملية الاعداد, الافضل التأكد من ان الحزم التالية مثبتة لديك
PolicyKit-gnome-devel
libsexy-devel

عن نفسي فانا اقوم بتثبيت حزم التطوير الخاصة بـ GNOME عن طريق ياست, حتى لا اكون بحاجة الى تثبيت الحزم التطويرية يدوياً بعد ذلك, لكني بالطبع احتجت الى تثبيت الحزم السابقة لامكانية اعداد PackageKit من المصدر.

بعد فك الضغط عن الملف المصدري الخاص بـ PackageKit, فاننا نقوم بعملية الاعداد التالية
./configure

بعد الانتهاء من عملية الاعداد, نقوم الآن بالولوج من نفس الملف المصدر الخاص بالتطبيق الى المسار التالي
~/PackageKit-0.2.2/backends/smart
نقوم بعملية صنع المكتبة لتنصيبها
make

بعد ذلك تأتي مرحلة التنصيب (بحاجة الى المستخدم الجذر)
su
make install

الآن الموضوع بحاجة الى بعض التركيز, سنجد ان مكتبات الـ Backend الخاصة بـ Smart قد تم نقلها الى المسار التالي
/usr/local/lib/packagekit-backend

و هو مسار خاطئ, و كان بالامكان في عملية الاعداد تحديد المسار الصحيح, لكن لم اتعمق بهذه النقطة, و سنقوم بنقلها يدوياً الى المسار الصحيح التالي
/usr/lib/packagekit-backend
سنجد فيها ايضاً مكتبة الـ Backend الخاص بـ Zypp كذلك, كل ما علينا هنا هو نقل الملفات الموجودة بالمسار السابق للمسار الجديد, و بالطبع العملية بحاجة الى المستخدم الجذر.

اخيراً نحن بحاجة الى الملفات المساعدة للـ Backend, و كما اتوقع من مسمياتها انها المسؤولة في اعطاء اوامر البحث, التحديث و غيرها من الاوامر, و ذلك من التطبيق PackageKit الى Smart في الخلفية.

و يتم ذلك بالولوج الى الملف المصدر للتطبيق PackageKit تحديدا الى المسار
~/PackageKit-0.2.2/backends/smart
سنجد بها مجلد باسم helpers, نقوم بتغيير الاسم الى smart, ثم نقله الى المسار (بحاجة ايضاً الى المستخدم الجذر)
/usr/share/PackageKit/helpers
وفي نهاية الامر نتأكد من أن العملية ناجحة بواسطة كتابة الامر
gpk-backend-status
و من المفترض ان تظهر لنا نافذه بهذا الشكل.

منها سنجد أن التطبيق المستخدم في الخلفية هو Smart, و منها ايضاً معرفة ما يدعمه هذا الـ Backend. اما اذا ظهر لديك ان النظام ما زال يستخدم Zypp فلا تقلق, قالموضوع بحاجة الى اعادة تشغيل التطبيق packagekitd و الذي يعمل في الخلفية, عن طريق الامر

killall packagekitd

ايضاً أذكر هنا انه بالامكان العودة الى استخدام Zypp مع التطبيق PackageKit عن طريق التعديل في الملف
/etc/PackageKit/PackageKit.conf
و تغيير الـ Backend المستخدم الى zypp بدلاً من smart.

و لمزيد من المعلومات حول PackageKit, بالامكان العودة الى صفحته الرسمية.

اخيراً, سبب تحويلي الى استخدام Smart بدلاً من Zypp, ليس لشيء, لكن لكوني معجب بمدير الحزم سمارت كثيراً لكونه يقوم بتنزيل الحزم على شكل دفعات و تثبيتها في نهاية التنزيل, عكس ما يقوم به Zypp بتنزيله للحزم على شكل فردي مع تثبيتها في نهاية تنزيل كل حزمة, ايضاً بسبب مشكلة Zypp في تحسسه للاتصال و التي تحدثت عنها سابقاً في دليل الاستخدام الغير رسمي الذي قمت بكتابته قبل فترة, لكني مازلت ارى ان Zypp يعد واعداً خصوصاً في ناحية ذكاءه في عملية التثبيت في موضوع تعارض الحزم, اذ ما زال Smart يعاني من عدم قدرته على تثبيت الحزم المتعارضة, اذ لا يقوم بحذف الحزم المثبتة و تثبيت الحديثة منها الا بشكل يدوي.

ختاماً, و بعد القيام بما سبق, سنجد ان التطبيق PackageKit أصبح يستعين بـ Smart في موضوع التحديثات و تثبيت الحزم, حتى تحديث النظام عن طريق الايقونة الخاصة بذلك و الموجودة بجانب الساعة ستكون مرتبطة بـ Smart, و هذا ما تمنيت عمله من اول استخدام لي للتطبيق Smart, تحديداً في SuSE 10.1. هذا و قد يمكن استخدام الخطوات السابقة مع توزيعات أخرى كـ Fedora, مع تعديل المسارات السابقة بما يناسبها.

أعتذر عن أي خطأ مطبعي أو معلومة غير صحيحة في الموضوع, لأنني حاولت بهذا الموضوع أن اشرح الخطوات أكثر من شرحي عن التطبيق نفسه.

التعليقات على كيفية تعديل PackageKit ليعمل تحت Smart مغلقة