من المعلوم عند مستخدمي غنو+لينكس أن ملف إعدادات العرض xorg.conf المتواجد داخل مجلد إعدادات النظام /etc/ لم يعد ضروريا لعمل خادوم العرض X.org X11 نظرا لأن هذا الآخير أصبح قادرا (منذ آواخر 2008) على التعرف على بطاقة العرض و التعريف و الإعدادات المناسبة لها بشكل تلقائي.
أيضا، هذا الملف كان يستخدم في تحديد إعدادات لوحة المفاتيح و توليفة الأزرار المستخدمة في تبديل الخرائط. هذا أيضا لم يعد ضروريا لأن تعريف evdev يتيح للبيئات المكتبية مثل كيدي (KDE) و جينوم (Gnome) و إكس اف سي إي (XFCE) إعداد لوحة المفاتيح بكل مرونة و هي بدورها - سابقا و الآن - تتيح للمستخدم إعداد لوحة المفاتيح بكل سهولة مستعملا واجة رسومية.
لكن ماذا تفعل عندما تصادف إعدادات غير مناسبة و في نفس الوقت تستخدم واجهات رسومية محدودة الخصائص (عمدا كي تبقى خفيفة الوزن) ؟
بفرض أن تعريف بطاقة العرض المناسب مثبت أو باستخدام التعريف العام vesa، سنستخدم أداة xrandr المثبتة افتراضيا مع خادم العرض.
من سطر الأوامر سننفذ:
ستعرض دقة الشاشة المستخدمة، التردد و باقي المنافد إعداداتها إن وجدت:
علامة * تعني أن دقة الشاشة 1280x800 هي الدقة الحالية المستخدمة.
علامة + تعني أن دقة الشاشة 1280x800 هي الدقة التي ينصح بها.
بالنسبة 60.0 في تعني التردد المستخدم.
اﻵن لتغير الدقة مثلا : 1024x768 إما نفذ
لإختيار دقة 800x600 بتردد 60.3 ننفذ:
بالنسبة لإعدادات لوحة المفاتيح فيمكن معرفة الإعدادات الحالية بتنفيذ:
في مخرجات setxkbmap نجد أن خريطة المفاتيح هي أمريكية، اﻵن لتغير خريطة لوحة المفاتيح إلى الفرنسية سننفذ:
لتحديد خريطتين معا كالفرنسية و العربية بتوليفة alt+shift لتغيير الخريطة سننفذ:
لتحديد خريطتين معا كالإنجليزية للمملكة المتحدة و العربية بتوليفة alt+shift لتغيير الخريطة مع إضاءة زر إقفال اللف (Scroll Lock) عند التغيير، سننفذ:
لتحديد خريطتين معا كالفرنسية و العربية بتوليفة alt+shift لتغيير الخريطة مع إضاءة زر إقفال الأحرف الكبيرة (Scroll Lock) عند التغيير، سننفذ:
هاتين الطريقتين: تغيير دقة الشاشة و تغيير خريطة المفاتيح تعمل بطريقة أنية و لا تصمد أمام إعادة تشغيل النظام أو إعادة تشغيل خادم العرض. في حالة رغبتك في إستخدام دقة معينة أو خريطة معينة يفضل أن تستعين بأحد ملفات تخصيص الجلسة مثل:
و تعدل على ملف /etc/X11/xorg.conf.d/10-evdev.conf بحيث أن جزئية "evdev keyboard catchall" ستصبح
لكن عليك أولا إيقاف مدير تسيير الجلسات gdm أو kdm أو غيره حسب التوزيعة أو النظام.
مثال على أبونتو/دبيان بواجهة جينوم:
إضغط على ctrl+alt+del, سجل الدخول ثم نفذ
بعض الإستخدامات و الإعدادات المتقدمة:
لمعرفة دقة/جودة الخطوط (dpi) المستخدمة نفذ:
النتيجة كالتالي :
دقة 96x96 مناسبة. كلما زادت كلما تضخمت الحروف و العكس صحيح.
عموما الإصدارات الحديثة لأغلب التوزيعات تقدم خطوطا بجودة عالية من دون تدخل المستخدم، خصوصا على توزيعة أبونتو بخطها المميز و المتوفر للجميع. لكن في بعض الإستثناءات أضطر إلى تحديد كل شيء يدويا على الملفين ~/.fonts.conf و ~/.Xdefaults
محتوى ~/.fonts.conf الذي أستخدمه
محتوى ~/.Xdefaults الذي أستخدمه
بالنسبة لمعرفة حالة تسريع العتاد فيمكن تنفيذ أحد هذه الأوامر:
أو تنفيذ:
أو الإستعانة بأداة glxinfo إن كانت مثبتة:
بالنسبة لمعرفة التعريف المستخدم مع بطاقة العرض فيمكن تنفيذ أحد هذه الأوامر:
أو تنفيذ:
المخرجات:
مصادر و مراجع:
أيضا، هذا الملف كان يستخدم في تحديد إعدادات لوحة المفاتيح و توليفة الأزرار المستخدمة في تبديل الخرائط. هذا أيضا لم يعد ضروريا لأن تعريف evdev يتيح للبيئات المكتبية مثل كيدي (KDE) و جينوم (Gnome) و إكس اف سي إي (XFCE) إعداد لوحة المفاتيح بكل مرونة و هي بدورها - سابقا و الآن - تتيح للمستخدم إعداد لوحة المفاتيح بكل سهولة مستعملا واجة رسومية.
لكن ماذا تفعل عندما تصادف إعدادات غير مناسبة و في نفس الوقت تستخدم واجهات رسومية محدودة الخصائص (عمدا كي تبقى خفيفة الوزن) ؟
بفرض أن تعريف بطاقة العرض المناسب مثبت أو باستخدام التعريف العام vesa، سنستخدم أداة xrandr المثبتة افتراضيا مع خادم العرض.
من سطر الأوامر سننفذ:
xrandr
ستعرض دقة الشاشة المستخدمة، التردد و باقي المنافد إعداداتها إن وجدت:
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192 VGA1 disconnected (normal left inverted right x axis y axis) LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm 1280x800 60.0*+ 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis) DP2 disconnected (normal left inverted right x axis y axis) TV1 disconnected (normal left inverted right x axis y axis)
علامة * تعني أن دقة الشاشة 1280x800 هي الدقة الحالية المستخدمة.
علامة + تعني أن دقة الشاشة 1280x800 هي الدقة التي ينصح بها.
بالنسبة 60.0 في تعني التردد المستخدم.
اﻵن لتغير الدقة مثلا : 1024x768 إما نفذ
xrandr -s 1024x768أو حسب ترتيبها في قائمة المخرجات (الترتيب يبدأ من 0)
xrandr -s 1
لإختيار دقة 800x600 بتردد 60.3 ننفذ:
xrandr -s 2 -r 60
بالنسبة لإعدادات لوحة المفاتيح فيمكن معرفة الإعدادات الحالية بتنفيذ:
setxkbmap -printالمخرجات كالتالي:
xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)" }; xkb_geometry { include "pc(pc104)" }; };
في مخرجات setxkbmap نجد أن خريطة المفاتيح هي أمريكية، اﻵن لتغير خريطة لوحة المفاتيح إلى الفرنسية سننفذ:
setxkbmap frإسبانية
setxkbmap esالمملكة المتحدة
setxkbmap gb
لتحديد خريطتين معا كالفرنسية و العربية بتوليفة alt+shift لتغيير الخريطة سننفذ:
setxkbmap fr,ar -option "grp:alt_shift_toggle"
لتحديد خريطتين معا كالإنجليزية للمملكة المتحدة و العربية بتوليفة alt+shift لتغيير الخريطة مع إضاءة زر إقفال اللف (Scroll Lock) عند التغيير، سننفذ:
setxkbmap gb,ar -option "grp:alt_shift_toggle,grp_led:scroll"
لتحديد خريطتين معا كالفرنسية و العربية بتوليفة alt+shift لتغيير الخريطة مع إضاءة زر إقفال الأحرف الكبيرة (Scroll Lock) عند التغيير، سننفذ:
setxkbmap fr,ar -option "grp:alt_shift_toggle,grp_led:caps"
هاتين الطريقتين: تغيير دقة الشاشة و تغيير خريطة المفاتيح تعمل بطريقة أنية و لا تصمد أمام إعادة تشغيل النظام أو إعادة تشغيل خادم العرض. في حالة رغبتك في إستخدام دقة معينة أو خريطة معينة يفضل أن تستعين بأحد ملفات تخصيص الجلسة مثل:
~/.profile ~/.bash_profile ~/.bash_loginأو أن تنشئ ملف إعدادات ثابت بواسطة خادم العرض نفسه
X -configure cp -iv xorg.conf.new /etc/X11/xorg.conf
و تعدل على ملف /etc/X11/xorg.conf.d/10-evdev.conf بحيث أن جزئية "evdev keyboard catchall" ستصبح
Section "InputClass" Identifier "evdev keyboard catchall" MatchIsKeyboard "on" MatchDevicePath "/dev/input/event*" Driver "evdev" # Keyboard layouts Option "XkbLayout" "gb, ar" #Option "XkbVariant" ", phonetic" Option "XkbOptions" "grp:alt_shift_toggle, grp_led:scroll, terminate:ctrl_alt_bksp" EndSection
لكن عليك أولا إيقاف مدير تسيير الجلسات gdm أو kdm أو غيره حسب التوزيعة أو النظام.
مثال على أبونتو/دبيان بواجهة جينوم:
/etc/init.d/gdm stop أو /etc/init.d/gdm3 stopمثال على فيدورا بواجهة كيدي:
service kdm stopمثال على أوبن بي إس دي:
إضغط على ctrl+alt+del, سجل الدخول ثم نفذ
pkill -9 xdm
بعض الإستخدامات و الإعدادات المتقدمة:
لمعرفة دقة/جودة الخطوط (dpi) المستخدمة نفذ:
xdpyinfo | grep -i dots
النتيجة كالتالي :
resolution: 96x96 dots per inch
دقة 96x96 مناسبة. كلما زادت كلما تضخمت الحروف و العكس صحيح.
عموما الإصدارات الحديثة لأغلب التوزيعات تقدم خطوطا بجودة عالية من دون تدخل المستخدم، خصوصا على توزيعة أبونتو بخطها المميز و المتوفر للجميع. لكن في بعض الإستثناءات أضطر إلى تحديد كل شيء يدويا على الملفين ~/.fonts.conf و ~/.Xdefaults
محتوى ~/.fonts.conf الذي أستخدمه
<fontconfig> <match target="font" > <edit mode="assign" name="rgba" > <const>none</const> <!-- <const>rgb</const> --> <!-- <const>vrgb</const> --> <!-- <const>bgr</const> --> <!-- <const>vbgr</const> --> </edit> </match> <match target="font" > <edit mode="assign" name="hinting" > <bool>true</bool> </edit> </match> <match target="font" > <edit mode="assign" name="hintstyle" > <!-- <const>none</const> --> <const>hintslight</const> <!-- best with autohint true --> <!-- <const>hintmedium</const> --> <!-- <const>hintfull</const> --> <!-- best with autohint false --> </edit> </match> <match target="font" > <edit mode="assign" name="antialias" > <bool>true</bool> </edit> </match> <match target="font"> <edit mode="assign" name="lcdfilter"> <const>lcddefault</const> <!-- <const>lcdlight</const> --> <!-- <const>lcdlegacy</const> --> <!-- <const>lcdnone</const> --> </edit> </match> <match target="pattern" > <edit mode="assign" name="autohint" > <bool>false</bool> <!-- <bool>true</bool> --> </edit> </match> </fontconfig>
محتوى ~/.Xdefaults الذي أستخدمه
Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintslight Xft.hinting: 1 Xft.antialias: 1 Xft.dpi: 96 #Xft.rgba: rgb
بالنسبة لمعرفة حالة تسريع العتاد فيمكن تنفيذ أحد هذه الأوامر:
cat /var/log/Xorg.0.log | grep DRIالمخرجات:
(II) Loading extension XFree86-DRI
(II) Loading extension DRI2
(II) intel(0): [DRI2] Setup complete
(II) intel(0): [DRI2] DRI driver: i965
(II) intel(0): direct rendering: DRI2 Enabled
(II) GLX: Initialized DRI2 GL provider for screen 0
أو تنفيذ:
cat /var/log/Xorg.0.log | grep -i glxالمخرجات:
(II) LoadModule: "glx" (II) Loading /usr/lib/xorg/modules/extensions/libglx.so (II) Module glx: vendor="X.Org Foundation" (==) AIGLX enabled (II) Loading extension GLX (II) AIGLX: enabled GLX_MESA_copy_sub_buffer (II) AIGLX: enabled GLX_INTEL_swap_event (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control (II) AIGLX: enabled GLX_SGI_make_current_read (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects (II) AIGLX: Loaded and initialized /usr/lib/dri/i965_dri.so (II) GLX: Initialized DRI2 GL provider for screen 0
أو الإستعانة بأداة glxinfo إن كانت مثبتة:
glxinfo | grep -i renderالمخرجات:
direct rendering: Yes OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset \ GEM 20100330 DEVELOPMENT x86/MMX/SSE2
بالنسبة لمعرفة التعريف المستخدم مع بطاقة العرض فيمكن تنفيذ أحد هذه الأوامر:
cat /var/log/Xorg.0.log | grep -i matched | grep -i "driver 0"المخرجات:
(==) Matched intel as autoconfigured driver 0
أو تنفيذ:
cat /var/log/Xorg.0.log | grep -i loading | grep -i driver أو cat /var/log/Xorg.0.log | grep -i loading
المخرجات:
(II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so (II) Unloading /usr/lib/xorg/modules/drivers/vesa_drv.so (II) Unloading /usr/lib/xorg/modules/drivers/fbdev_drv.so
مصادر و مراجع:
* X Window System Version 11 Current Release * Documentation for the X Window System Version 11 Release 7.6 (X11R7.6) * Ubuntu Wiki - X / Config / Resolution * Fluxbox Wiki - Change resolution
ليست هناك تعليقات:
إرسال تعليق