الجديد في فيدورا 22

فيدورا 21 والتي استغرق تطويرها ما يقارب السنة حملت في طيَّاتها تغيرات جذرية على راسها تقسيم التوزيعة الى 3 نكهات:
1- خادم
2- محطة عمل (مكتبي)
3- سحابي

فيدورا 22 والتي صدرت بعدها بعدة شهور استكملت هذه النقلة بتنقيحات وتحسينات وكذلك اضافات جديدة على راسها التالي:

  • اعتماد مدير الحزم DNF كبديل ل Yum بشكل كامل.
  • اعتماد نظام الملفات XFS كنظام افتراضي في نكهة الخادم.
  • تحسين لتطبيق “قمرة القيادة” cockpit والذي يمكنك من ادارة عدة خوادم من خلال المتصفح.
  • اعتماد اصدارة واجهة قينوم 3.16 حيث تاتي بنظام تنبيها جديد ورائع وكذلك تحسين في الشكل وايضا امكانية تشغيل تطبيقات واجهات اخرى مثل كدي بحيث تظهر بشكل منسجم مع واجهة قينوم.
  • اعتماد بلازما 5 (كدي 5) كواجهة اساسية لتدويرة (spin) “فيدورا كدي” مع كيوت 5 والتي تاتي بشكل جديد وتقنيات كثيرة.
  • تحديث تدويرة “فيدورا اكسفسي” الى 4.12 حيث تقدم دعم للشاشات ذات الدقة العالية.
  • نقل بعض التدويرات المتخصصة مثل تدويرة الالعاب و الرسم والاختراق الى صفحة “المختبرات” https://labs.fedoraproject.org
  • تخصيص صفحة لنكهات فيدورا مع تدويراتها والمبنية لمعالجات ارم (ARM) كالموجودة في الراسبيري باي 2 https://arm.fedoraproject.org مع انه لايوجد دعم مباشر للرازبري باي 2 بعد لكن هناك طرق لتشغلها عليها.
  • اعتماد GCC 5.1 كحزمة اساسية.
  • تحديثات للنكهة السحابية لكني لا افهمها ههههه

الترقية لاصدار 22 من اي اصدار سابق تتم عن طريق استخدام برنامج fedup

sudo fedup --network 22

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

عند اكتمال التحديث والاقلاع في النظام الجديد قم بتنفيذ الاوامر التالية:

sudo rpm --rebuilddb
sudo dnf distro-sync --setopt=deltarpm=0
sudo dnf install rpmconf
sudo rpmconf -a

الامر الاخير “rpmconf -a” سيقوم بالبحث عن ملفات الاعدادات الجديدة والتي تتعارض مع ملفات قديمة معدلة فبسبب التعديلات لايقوم النظام باستبدالها بل يبقي القديم ويحفظ الجديد بامتداد rpmnew فالامر هذا سيقوم بعرضها ويقدم لك عدة خيارات الاول ان تستخدم الجديد، الثاني ان تبقي القديم، الثالث ان يعرض لك الفروقات بينهما لكي تقرر، الرابع ان يدمج الملفان والخامس اعتقد يقوم بتاجيل القرار والاخير يتجاهل الملف.
انا شخصيا اختار الخيار الاول للملفات التي لم اقم انا بتعديلها واما ما قمت بتعديله فاحاول عرض التغييرات ودمج ما احتاج من القديم مع الجديد.

* الخط الجديد المعتمد في الطرفية لايدعم المحرف العربي بعد، لذلك ستحتاج لتغيير الخط الى نوع اخر اذا كنت تحتاج العربية.
الصفحة التالية تبين بعض التغييرات و المشاكل التي قد تواجهها اثناء الترقية او التحميل الجديد http://fedoraproject.org/wiki/Common_F22_bugs

تفعيل فديو HTML5 في فيرفوكس على اللينكس

في بعض توزيعات اللينكس مثل فيدورا نجد أن بعض مشغلات أو مرمزات الفيديو معطلة بشكل افتراضي إما لكونها لا تزال في مراحل التطوير أو بسبب المخاوف من حقوق التسجيل وبراءات الاختراع. مهما كانت الأسباب فانك ستجد أن تشغيل مقاطع الفيديو التي تستخدم تلك التراميز في بعض المواقع غير ممكن حتى لو كنت قد جملت جميع حزم التراميز المطلوبة (مثل تراميز gstreamer وغيرها).

من اهم المواقع المختصة بالفيديو موقع يوتيوب حيث يوفر خاصية استخدام مشغل أفلام يعمل بتقنية HTML5 الحديثة بدلا من الفلاش إذ إنها اكثر أمنا واسرع واخف على المعالج من مشغلات الفلاش وحيث إن الفلاش يستخدم في الغالب من قبل شركات الإعلانات في تعقب تنقلاتك وعرض الإعلانات لك وكذلك من قبل الهاكرز في استغلال ثغراته. عند زيارة صفحة اليوتيوب https://www.youtube.com/html5 الخاصة بتفعيل مشغل HTML5 تقوم الصفحة بفحص المتصفح لمعرفة التراميز التي يدعمها وكانت الصفحة تظهر لي بالشكل التالي:

Firefox on Linux Youtube HTML5 Player

فالعناصر باللون الأحمر تعني أن تلك المرمزات غير متوفرة مما جعل مشغل HTML5 يعرض الفديوات بوضوح محدود في بعض الأحيان مثلا دقة 720HD كحد أقصى أو أن لا تكون الفديوات متوفرة بدون تلك التراميز.

الحل كان سهلا جدا فجميع حزم التراميز قد قمت بتثبيتها سابقا من مخازن RPM Fusion الخاصة بتوزيعة فيدورا وكنت في حاجة لتفعيلها في فيرفوكس فقط، خطوات التفعيل سهلة اذ عليك زيارة صفحة إعدادات فيرفوكس المتقدمة وذلك عن طريق كتابة about:config في حقل عناوين الإنترنت والضغط على مفتاح الإدخال (قد تحتاج إلى ضغط زر “I’ll be careful, I promise!” إذا ظهرت صفحة التنبيه).

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

Firefox H264 decoder settingsقم بعد ذلك بالبحث عن الإعدادات المتعلقة ب “mp4” وفعلها كالصورة التالية:

firefox mediasource settingsأخيرا ابحث عن إعدادات “mediasource” وفعلها كالتالي:firefox mp4 settingsبعد الانتهاء من الإعدادات قم بزيارة صفحة اليوتيوب الخاصة بمشغل فيدو HTML5 و إذا كانت التغييرات صحيحة مع توفر المرمزات المطلوبة ستكون بالشكل التالي:

firefox youtube html5

الآن يمكنك تفعيل المشغل بشكل افتراضي والاستمتاع بيوتيوب اسرع مع القدرة على تشغيل الفديوات بجميع التراميز.

HTML5 and H264 for Firefox on Linux

In some Linux distributions such as Fedora the amazing browser Firefox will ship with some of the video decoders turned off by default, some of it is due to the decoder being in unstable stage or due to some copyrights/patents concerns. In either way trying to play videos that uses one of these formats won’t work even if you have all the packages installed (such as the good, the bad and the ugly gstreamer plugins).

I wanted to make youtube use the HTML5 player instead of the old flash player which is mostly used to track you, show ads and by hackers. Visiting the youtube html5 player page https://www.youtube.com/html5 used to be like this:

Firefox on Linux Youtube HTML5 PlayerThe items in red means they are missing which caused some youtube videos not be available in HTML5 player, or for the resolution to be limited mostly to a maximum of 720 or lower.

The solution is very simple after installing all needed packages, I got all my decoders for Fedora from RPM Fusion repos, and it is under the Firefox low level configuration page which you can get to by typing about:config in the URL box + Enter (click on the button “I’ll be careful, I promise!” if you see a warning page).

In the configuration page there is a search box at the top that makes it easy to find the settings which you need to change. So first type in “h264” and enable the disabled settings as you see in the picture below:

Firefox H264 decoder settingsThen type in “mp4” and do the same as the picture below:

firefox mediasource settingsFinally, search for “mediasource” and enable it as follows:firefox mp4 settingsWhen you are done with the settings revisit the youtube html5 page and it should look like this:

firefox youtube html5Now you can enable the HTML5 player as a default player and enjoy a faster youtube thanks to HTML5 and have the ability to play all videos in all formats.

فلسفة لنكساوية

بعد مخالطة الكثير من اللينكساويين وجدت أن الأغلب متمسك بتوزيعة أو بأخرى لسبب ما، بعض الأسباب تقني وبعضها شخصي. لكني لمست عند الكثير من الدبيانيين (مستخدمي توزيعة ديبيان) نوع قد يكون فريد من القناعة بكون تلك التوزيعة تتفوق على غيرها وهو الثبات. فعندما يبدأ حوار التوزيعات تجد احد الديبيانيين يقاطع الجميع ويبدأ بالحديث وكأن ما يتلوه هو قرآن لا يحتمل النقاش فيذكر ثبات ديبيان واستقرارها وأنها لا يعلوها احد ويذكر أمجادها حتى يضن السامع أن من يستخدم غير الديبيان إنما هو ضال لم ير سبيل الرشاد بعد!. لحظة قد لا يكونون لهذه الدرجة من التعصب اللينكساوي لكن تجد فيهم نفحات منه.

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

وبعد أن يتم تطهير النواة والبرامج من غالب العلل يهرع مطورو التوزيعات “المستقرة” بتبنيها ودمجها في إصداراتهم المستقبلية ولا ضير في ذلك، إنما الضير في تناسي واجحاف جهود من سبقهم من مستخدمي فيدورا وما شابهها من التوزيعات المتطورة من اكتشاف للثغرات والعلل والمساهمة في حلها.

تخصيص دقة الشاشة في لينكس

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

في هذا الموضوع سوف اشرح طريقة إضافة نمط مدعوم من قبل الشاشة لكن لم يستطع النظام التعرف عليه [* هذه الطريقة لن تسمح باستخدام دقة أعلى أو اقل مما تدعمه الشاشة لان تلك حدود مصنعية]. لنفرض أن شاشتك تدعم دقة عرض [1920×1080]  وتسمى Full HD و FHD واحيانا 2K ولكن عند تشغيل النظام لم تعرف عليها واستخدم دقة اقل مثلا [1280×1024]. قم أولا بتنفيذ أمر xrandr لعرض الأنماط التي تعرف عليها:

$ xrandr 
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1280 x 1024
VGA1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 510mm x 287mm
   1280x1024     75.02    60.02* 
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   640x480       75.00    60.00  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)

في الخرج السابق نجد انه لم يتعرف على النمط المطلوب مع أن الشاشة تدعمه وكذلك تعرفنا على أن الشاشة متصلة عن طريق منفذ VGA1 وان النمط الافتراضي (انظر إلى علامة النجمة *) هو [1280×1024].

نقوم بعدها بإضافة النمط المطلوب:
أولا نقوم باستخراج إعدادات الشاشة المطابقة لذلك النمط باستخدام أمر cvt مع الدقة المطلوبة، نفذ التالي:

$ cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

السطر الثاني هو المهم و ما بين علامتي التنصيص “1920x1080_60.00” هو اسم النمط ويمكن تغييره (بل انصح بتغييره إلى “1920×1080” وذلك بحذف الجزء الأخير المتعلق بتردد الشاشة لكي لا يسبب مشكلة لاحقا)

بعد ذلك نقوم بإضافة النمط الجديد باستخدام الناتج من السطر الثاني أعلاه لكن بدون كلمة Modeline مع تغيير الاسم ثم ربطة مع منفذ الشاشة التي نستخدمها:

$ xrandr --newmode "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

$ xrandr --addmode VGA1 "1920x1080"

لو ظهرت رسالة خطا فتأكد من صحت البيانات المدخلة وان الشاشة تدعم هذا النمط، أما إذا لم تظهر أي رسائل فالخطوة التالية هي تجربة النمط الجديد والتحقق من صلاحيته مع الشاشة بالأمر التالي:

$ xrandr --output VGA1 --mode "1920x1080"

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

$ xrandr --output VGA1 --mode "1920x1080" ; sleep 5 ; xrandr --output VGA1 --mode "1280x1024"

الأمر الأول ينفذ النمط الجديد التجريبي، والأمر الثاني ينتظر 5 ثواني خلالها تستطيع الحكم إذا كان النمط في الأمر الأول ناجحا أم لا والأمر الأخير يعيد النمط الافتراضي (راجع أول المقالة بخصوص النمط الافتراضي) لكي لا نضطر لإعادة التشغيل في حال كان النمط غير مناسب للشاشة.

في حال نجح الأمر السابق وعملت الشاشة مع النمط الجديد فيجب إضافته إلى إعدادات النظام لكي يعمل حتى بعد إعادة التشغيل، حيث إن الأمر السابق لا يحفظ الإعدادات الا في حال كان الاستخدام مؤقتا كربط الحاسوب مع جهاز عرض “بروجيتور”. في حال الرغبة في تثبيت الامر بالإمكان جمع الأوامر السابقة في ملف script وجعلها تنفذ بعد تشغيل الواجهة الرسومية لكن لا انصح بها او اتبعاع الطريقة الصحيحة وهي باضافة ملف يالنمط الجديد لمجلد اعدادات X11.

قم بانشاء ملف باسم “10-monitor.conf” تحت مجلد
/etc/X11/xorg.conf.d/
(تحتاج صلاحيات روت للكتابة في ذلك المجلد) واكتب بداخل الملف التالي:

Section "Monitor"
    Identifier             "Monitor0"
    Modeline "1920x1080"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
EndSection

Section "Screen"
    Identifier             "Screen0"
    Device                 "VGA1"
    Monitor                "Monitor0"
    DefaultDepth           24
    SubSection             "Display"
        Depth              24
        Modes              "1920x1080"
    EndSubSection
EndSection

يجب مراعاة تغيير النمط “1920×1080” واسم منفذ الشاشة “VGA1” لما يناسبك ثم قم بإعادة التشغيل. في حال وجود مشكلة بعد إعادة التشغيل ادخل على النظام من الطرفية “Terminal” واحذف الملف السابق.

الخدمات الممكن الاستغناء عنها في فيدورا

عند تركيب فيدورا على الجهاز فان هناك عدد من الخدمات التي تعمل بشكل افتراضي، بعضها ضروري وتعطيلها قد يسبب مشاكل للنظام ولكن بعضها الآخر إما اختياري أو لا فائدة منه و بالإمكان تعطيله بدون مشاكل.

ما الفائدة من تعطيل الخدمات؟… الخدمات الغير مستخدمة تستهلك بعض موارد الجهاز كالذاكرة والمعالج وكذلك تبطئ عملية الإقلاع وتعطيلها يوفر تلك الموارد ويجعل النظام يقلع بشكل اسرع، سأقوم بسرد الخدمات التي يمكن تعطيلها مع شرح بسيط لها.
أولا توزيعة فيدورا تستخدم systemd لإدارة الخدمات و هناك عدة طرق لمعرفة الخدمات التي تعمل أثناء الإقلاع منها تنفيذ امر systemctl حيث سيعرض قائمة طويلة بجميع الخدمات وحالتها. لكن الطريقة الاسهل هي عن طريق فتح مجلد /etc/systemd/system/ حيث ان داخل هذا المجلد عدد من المجلدات والملفات وكل ملف من هذه الملفات يمثل خدمة محددة ولتعطيل الخدمة تنفذ التالي من سطر الاوامر:

sudo systemctl disable <اسم الخدمة>

وبالإمكان إدراج اكثر من خدمة في نفس السطر

sudo systemctl disable الخدمة3 الخدمة2 الخدمة1

والآن مع قائمة الخدمات وشرحها بالعربي:

abrtd.service خدمة التبليغ عن أخطاء النظام
abrt-ccpp.service تابع لخدمة التبليغ عن أخطاء النظام
abrt-oops.service تابع لخدمة التبليغ عن أخطاء النظام
abrt-vmcore.service  تابع لخدمة التبليغ عن أخطاء النظام
abrt-xorg.service تابع لخدمة التبليغ عن أخطاء النظام
atd.service خدمة تشغيل البرامج بشكل تلقائي في أوقات محددة
auditd.service خدمة متقدمة لمراقبة احداث النظام من النواة مباشرة
avahi-daemon.service خدمة التعرف على الأجهزة الأخري في الشبكة كالطابعات
avahi-daemon.socket تابع لخدمة Avahi للتعرف على الأجهزة
bluetooth.service البلوتوث، لا فائدة منها في الأجهزة التي لا تحتوي عليه
crond.service خدمة تشغيل البرامج بشكل تلقائي في أوقات محددة
dmraid-activation.service خاص بتفعيل RAID البرامجي الخاص بالاقراص (لا تقم بتعطيلها في حال كنت تستخدم Software RAID)
dm-event.socket تابع لخدمة RAID
iscsi.service بروتوكول خاص بوحدات التخزين عبر الشبكة
iscsid.socket تابع لبروتوكول وحدات التخزين عبر الشبكة
iscsiuio.socket تابع لبروتوكول وحدات التخزين عبر الشبكة
lvm2-monitor.service نظام تقسيم القرص lvm، لا تقم بتعطيله في حال اخترت التقسيم التلقائي
lvm2-lvmetad.socket نظام تقسيم القرص lvm، لا تقم بتعطيله في حال اخترت التقسيم التلقائي
mdmonitor.service خدمة RAID البرامجي الخاص بالأقراص (لا تقم بتعطيلها في حال كنت تستخدم Software RAID)
ModemManager.service خدمة الاتصال بالإنترنت عن طريق استخدام شبكة الجوال
multipathd.service خدمة تعدد المسارات (تستخدم غالبا مع الخوادم الكبيرة)
nfs-lock.service بروتوكول مشاركة الملفات عبر الشبكة بنظام NTS
nfs.target بروتوكول مشاركة الملفات عبر الشبكة بنظام NTS
pcscd.service خدمة البطاقات الذكية (تتطلب قارئ بطاقات خاص)
pcscd.socket تابع لخدمة البطاقات الذكية
remote-fs.target خاص بوحدات الأقراص عبر الشبكة (نظام ملفات عن بعد)
rngd.service خدمة توليد الأرقام العشوائية، تعمل فقط مع المعالجات الحديثة ولا تعمل داخل الوهمي
rpcbind.service خاص ببروتوكولات مشاركة الملفات عبر الشبكة
rpcbind.socket تالع لبروتوكولات مشاركة الملفات عبر الشبكة
spice-vdagentd.service خدمة التحكم بالطرفيات عن بعد باستخدام Spice
sshd.service خدمة الدخول الآمن للطرفية (خدمة مفيدة جدا لكن ينصح بتعطيلها في حال عدم استخدامها)
vmtoolsd.service أدوات خاصة بالوهمي عند استخدام VMware

 

ولتعطيل الخدمات المذكورة جميعها بعد التأكد من عدم حاجتك لها نفذ الأمر التالي:

sudo systemctl disable abrt-ccpp.service abrtd.service abrt-oops.service abrt-vmcore.service abrt-xorg.service atd.service auditd.service avahi-daemon.service bluetooth.service crond.service dmraid-activation.service dm-event.socket iscsi.service iscsid.socket iscsiuio.socket lvm2-lvmetad.socket lvm2-monitor.service mdmonitor.service ModemManager.service multipathd.service nfs-lock.service nfs.target sshd.service pcscd.service pcscd.socket remote-fs.target rpcbind.service spice-vdagentd.service vmtoolsd.service

ثم قم بإعادة تشغيل الجهاز، وفي حال وجود مشكلة او احتجت لتشغيل احد تلك الخدمات فقم بتفعيلها هكذا:

sudo systemctl enable <اسم الخدمة>

ولتشغيلها:

sudo systemctl start <اسم الخدمة>

وللاستعلام عن حالة الخدمة:

systemctl status <اسم الخدمة>

** ملاحظة: قد لا تكون جميع الخدمات تلك ظاهرة لديك إذ أنها تعتمد على حزم البرامج المحملة على النظام، لكني حاولت إدراج اكبر قدر ممكن من الخدمات التي تأتي مع Fedora 20 و التي اعتقد أنها غير ضرورية لعمل النظام ومن الممكن الاستغناء عنها.

Auto login to open Wifi

If you go to many places with open wireless access you might find it annoying that every time you have to open the browser to accept the same rules and conditions from that provider before you can have real internet access. It is even worse if you have tabs left open from your last session and they all now point to the same wifi login page!

However, if you are using Linux and you have NetworkManager set as the default network management tool then I have a solution for you, NetworkManager will run the scripts inside the folder “dispatcher.d” whenever the connection status changed for any of the network cards on the machine. Under Fedora the folder is located in “/etc/NetworkManager/dispatcher.d/” and I will assume other Linux distributions will be similar if not the same.

So all you have to do is create a script in that folder that will run whenever the wireless connection is up and the network name (SSID) matches the location that have the open wifi, then the script should automate the process of clicking on the accept button or whatever it takes to get internet access.

I have already made such a script that will allow me to login to Panera Bread and Baltimore County Public Library, but it can be expanded easily to include other locations. The first part of the script should be placed under the “dispatcher.d” folder and should be accessible by “root” only (This is a security feature, since NetworkManager will execute all scripts in that folder as root and anyone with access to these files can change their content to do other stuff that might harm your system, so make sure to set the permission to root only). That script will parse the iwconfig output to find the name of the wifi and call the script that matches the name if any.

Continue reading “Auto login to open Wifi”

Front Mic problem in Fedora 14

After upgrading to Fedora 14 I noticed that the built-in mic in my Dell D620 stopped working, after searching here and there I the problem is between ALSA and Pulseaudio, since alsa will show to capture devices “Mic” & “Front Mic” and Pulseaudio will use Mic as the default instead of Front Mic.

So I used “alsamixer” to set the correct capture source and that worked but after a reboot it was set back to Mic. Then I found about “alsactl” which should store the current setting by doing “alsactl store” but that did not work either since I think pulseaudio does not look into that.

Uninstalling pulseaudio as some people suggested solved the Mic problem but caused many other problems when playing many applications that want to play audio (like flash apps such as youtube and video apps…etc),  this is an ALSA problem that pulseaudio try to solve AFAIK.

The solution that I found was to use “amixer” which can be run from the command line with the parameters to set “Front Mic” as the capture source. Here is the full command for my device:

amixer -c 0 cset numid=6,iface=MIXER,name='Input Source' 1

Continue reading “Front Mic problem in Fedora 14”

lsof واخواتها (اوامر للنكس)

في هذا الموضوع ساتحدث عن بعض الاوامر اللتي اعتقد انها مهمة في للمساعدة في تشخيص وصيانة نظام اللنكس وجهاز الحاسب الذي يعمل عليه. يمكن تنفيذ هذه الاوامر كمستخدم عادي، لكن قد لاتكون النتائج كاملة ويجب تنفيذها كمستخدم رئيس (root) للحصول على جميع المعلومات.

اول هذه الاوامر هو lsof وهو اختصار (List Open Files) يعني عرض الملفات المفتوحة، والملفات في نظام اللنكس ليس محصورة بالملفات العادية كما تعرف في نظام الوندوز ولكنها تشمل المجلدات و المكتبات و ارتباطات الشبكة و انواع اخرى من الملفات الخاصه. وعند تنفيد الامر فسيقوم بعرض قائمة بجميع الملفات المفتوحه حاليا و اسم المستخدم الذي قام بفتح الملف ورقم العملية التي تم من خلالها فتح الملف (Process ID) و نوع الملف وحجمة (اذا كان ذو حجم معروف) و مسار الملف. القائمة في الغالب ستكون كبيره جدا ولذا تحتاج في الغالب لعمل تخصيص للتحكم في المخرجات.

احد الاستخدامات هي معرفة جميع البرامج المتصلة بالانترنت في حال الشك بان الجهاز قد يكون مخترقا او التاكد من حالة الاتصال بالمواقع او معرفة رقم المنفذ الذي يستخدمة خادم معين:

lsof -i

اوامر مشابهه

 ss -ap
 netstat -tuap

اما في حال اردت معرفة (او اغلاق) ملف مفتوح (مثلا قمت بفتح ملف في كرت ذاكرة خارجي Flash Drive ولكن عند محاولت ازالة الكرت اخبرك النظام بان احد الملفات لازال مفتوحا) فالتوصل للملف المفتوح ومعرفة البرنامج المتصل بذلك الملف عمليه سهلة جدا باستخدام lsof وهي كالتالي:
اولا نفرض ان مسار كرت الذاكرة هو /media/disk/ فتقوم بتنفيذ الامر التالي:

lsof | grep /media/disk/

فالامر الاول lsof سيعرض جميع الملفات المفتوحة لكن بدل من تعرض النتائج على الشاشه بل سوف ترسل للامر التالي grep و المسؤل عن عمليه الارسال تلك هي علامة الانبوب | (pipe) حيث ان نظام اللنكس عندما يجد ذلك الخط العمودي بين امرين فانه يمرر مخرجات الامر الاول كمدخلات للامر الثاني. اما الامر grep فان امر ترشيح (Filter) حيث ان يقوم بالبحت في المدخلات عن اي سطر يحتوي على الكلمة المذكورة بعد (في مثالنا هذا فانه يبحث عن /media/disk/) ثم يعرض السطر الكامل الذي يوجد به مثل ذلك النص.
فالناتج النهائي من تنفيذ هذا الامر هو قائمة باسم الملف او الملفات التي لاتزال مفتوحة من كرت الذاكرة والبرنامج الذي قام بفتح ذلك الملف ثم ما عليك سوى اغلاق ذلك البرنامج وستتمكن من ازالت الكرت بشكل امن. ولاغلاق البرامج يمكن استخدام الامر kill مع رقم العملية (Process ID) كالتالي:

kill <PID>  (اغلاق البرنامج بطيقة امنة)
kill -9 <PID>  (اغلاق اجباري للبرنامج)

اوامر اخرى من عائلة lsof هي:

lsusb يعرض قائمة باجهزة USB المتصلة حاليا بالجهاز
lspci يعرض قائمة كروت PCI المركبة بداخل الجهاز
lsmod يعرض قائمة بمعرفات الاجهزة التي تم تشغيلها
lspcmcia قائمة كروت PCMCIA المركبة بالجهاز
lshal قائمة الاجهزة المركبة في الجهاز (USB و PCIو غيرة)
lscpu معلومات عن المعالج المستخدم

مبادي نظام اللنكس

في هذا الموضوع سوف احاول تقديم بعض الاوامر المهمة لمستخدمي النظام المفتوح المصدر والمجاني لنكس. جميع هذه الاوامر تنفذ من خلال نافذة الاوامر (Terminal or Command Line) وفي الغالب ستجدها في جميع توزيعات اللينكس واليونكس كذلك مع بعض الاختلافات البسيطه احيانا.

* توضيح: ما اضعه بين علامتي <> يعني انه يجب استبداله بشي مناسب كاسم ملف او مجلد وما هو بين اقواس ( ) فهذا فقط شرح مني للامر المذكور ولايكتب اثناء التنفيذ.

سوف ابدأ بأحد الاوامر المهمة:

الامر: man
التعريف: عرض معلومات عن معظم اومر النظام وشرحها وطرق استخدامها
طريقة الاستخدام:

man <الامر>

الامر: ls
التعريف: لعرض الملفات الموجود في المجلد الحالي
طريقة الاستخدام:

ls (عرض الملفات والمجلدات فقط)
ls -l (الملفات على شكل قائمة مع عرض حجم الملف والصلاحيات)
ls -a (الملفات المخفية اللتي تبدا بنقطه)

كما يمكن دمج بعض الخيارات كدمج a و l للحصول على قائمة الملفات مع الملفات المخفية ولمزيد من الخيارات يمكن استخدام الامر man للحصول على المزيد من التفاصيل

الامر: cp
التعريف: نسخ ملف او ملفات الى مجلد اخر (او انشاء نسخه للملف باسم مختلف)
طريقة الاستخدام:

cp <file> <folder/>  (نسخ ملف الى مجلد)
cp <file> <newfile> (انشاء نسخة من الملف)

الامر: mv
التعريف: نقل ملف او ملفات الى مجلد اخر (او تغيير اسم الملف)
طريقة الاستخدام:

mv <file> <folder/>  (نقل ملف الى مجلد)
mv <file> <newfilename>  (تغيير اسم ملف)

الامر: rm
التعريف: مسح ملفات او مجلدات
طريقة الاستخدام:

rm <files>  (مسح ملفات)
rm -r <folder/>  (مسح المجلد و الملفات التي بداخله)

الامر: mkdir و rmdir
التعريف: انشاء و حذف مجلد (لحذف مجلد يشترط ان يكون فارغا، وان لم يكن فارغا فيستخدم الامر السابق)
طريقة الاستخدام:

mkdir <folder>  (انشاء مجلد)
rmdir <folder> (حذف مجلد)

الامر: ps
التعريف: عرض قائمة البرامج التي تعمل الان
طريقة الاستخدام:

ps  (سيعرض فقط البرامج التي تعمل في نافذة الاوامر)
ps aux  (جميع البرامج اللتي تعمل وتفاصيل مهمه اخرى)

الامر: df
التعريف: عرض معلومات عن المساحة المستخدمة والمتبقية من القرص الصلب لجميع الاقسام
طريقة الاستخدام:

df (عرض الارقام بالبايت)
df -h (عرض الارقام يصيغة اسهل للقرائة مثل ميقا قيقا)

الامر: free
التعريف: عرض معلومات عن استخدام الذاكرة والذاكرة الاحتياطية في القرص الصلب (swap)
طريقة الاستخدام:

free (عرض الارقام بالكيلو بايت)
free -m (عرض الارقام بالميقا بايت)

هذه بعض الاوامر وهناك الكثير وساقوم بكتابه موضوع اخر عن اوامر اخرى متقدمة

RPM Fusion Smart channels for Fedora

If you are a Fedora user then you must be using RPM Fusion and if you are not then please do since it provides you with many cool packages that Fedora doesn’t come with (like ATI & nVidia drivers, video and audio codec…etc). After you install RPM Fusion repositories (through their provided rpm packages which you can find about under the ‘Configuration’ in their website) you will be able to use it right away from the command line by using ‘yum’ or if you like the GUI (like I do) then it is PackageKit. However, there is one thing that I don’t like about PackageKit which is dealing with dependencies.PackageKit will only resolve dependencies when you apply the changes not while you are making them (selecting to install or remove a package). I find that annoying since sometimes when I select to remove some packages that I think I don’t need and  when I click on apply it will show the list of dependencies of all the selected packages and will not tell you which one of the selected packages is needed by those other packages and the only way to find out  is by removing packages one by one. Same thing when installing.
However, there is a solution to this problem, it is called Smart, Smart is a package manager that can be used to manage ‘rpm’ packages (and also apt as well). You can install Smart and the GUI from Fedora repos with this command:

yum install smart smart-gui

The biggest advantage of using Smart over PackageKit is the way it resolves dependencies. Smart will do that instantly while you are clicking to install a new package or trying to remove one. So for example if you are using Fedora with KDE and wanted to remove all Gnome packages and you clicked for example on ‘gnome-vfs2’ Smart will immediately look for all other packages that depends on this one and if any it will show you a windows of the list of all other packages that will be removed as a result of removing this one, among that list you will find ‘Firefox’, ‘vlc’ and other packages that I actually need, so that means this one is important and i will just hit cancel to keep it. Same thing when for example you want to install and try some application but you find that it needs many other packages to be installed as well.

However, it seems that Fedora and RPMfusion are not giving much attention to Smart and the channels files (channel = repo) are not updated for Fedora 14 (was also the case for F13 when it was released) so I decided to update those packages myself and maybe find a way to send them to Fedora and RPMFusion so they will sign them and add them to their main repositories.

Download the appropriate files for your system or the source if you wanna compile the rpms and sign them yourself (you will need to rerun Smart so it detects the changes):

Update: Since not much attention from Fedora and RPMfusion is giving to Smart and it is not supported anymore I stopped making the rpms for it.

Fedora 9 and UTC time problem

Fedora 9 was released I installed it on my laptop next to the pre-installed Fedora 8 and Windows XP. There are some issues with the release, like nVidia drivers, but I was expecting such things. However, there was one small problem that didn’t make since at first which is the time settings.

Whenever I change from Fedora 8 or Windows XP to the new Fedora 9  or vice versa the time of my machine will change, it will go backward or forward with a fixed offset, and I knew it is a problem with timezone. So before I explain the problem I would like to mention that each machine has a clock that works even if the machine is turned off, using a battery that is connected to the motherboard, and when the operating system boots it will read the time from that clock. Continue reading “Fedora 9 and UTC time problem”