كيفية استخدام Emacs كبيئة سطح مكتب في Linux مع EXWM


Exwm هو مدير نوافذ مبلط خفيف الوزن لنظام Linux يحول Emacs إلى بيئة رسومية كاملة. في هذه المقالة، سأستعرض فوائد استخدام Exwm، وتثبيته على Ubuntu 24.10، وإظهار بعض ما يمكنك فعله باستخدام مدير النوافذ الرائع هذا.

لماذا تستخدم Exwm كمدير للنوافذ لديك؟

واحدة من أكبر نقاط البيع في Exwm هي أنه يمكنه دمج التطبيقات الأخرى في سير عمل Emacs الحالي لديك. يتيح لك هذا استخدام ما تعرفه بالفعل عن مخازن Emacs المؤقتة وتطبيقه على تطبيقاتك الأخرى، مما يجعلك أكثر كفاءة على المدى الطويل.

لقطة شاشة توضح تشغيل Exwm لمتصفح Firefox ومخزن Emacs المؤقت الأساسي.

بالإضافة إلى ذلك، يعمل Exwm أيضًا على تقليل كمية ملفات التكوين الموجودة على إعداد سطح المكتب. باستخدامه، يعمل ملف .emacs الخاص بك كتكوين لمحرر النصوص ومدير النوافذ. وهذا يجعلها جذابة للمستخدمين الذين يرغبون في تقليل الفوضى التي يديرونها على نظامهم.

لقطة شاشة توضح ملف تكوين Emacs الرئيسي لسطح مكتب Exwm.

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

وفي ملاحظة جانبية: هل تبحث عن مدير نوافذ أكثر حداثة؟ راجع دليلنا حول إعداد Hyprland وتشغيله في Linux.

تثبيت Exwm في إيماكس

الخطوة الأولى في تثبيت Exwm في Linux هي التأكد من أن لديك كلاً من Emacs وتبعياته على نظامك. للقيام بذلك، قم بتشغيل الأمر التالي:

sudo apt install emacs dbus gnome-settings-daemon

افتح عميل Emacs الخاص بك، ثم اضغط بديل + X، ثم اكتب “package-install” لإظهار رسالة تثبيت المحرر.

اكتب “exwm” في المطالبة، ثم اضغط يدخل لتثبيت مدير النوافذ داخل Emacs.

لقطة شاشة تسلط الضوء على مطالبة حزمة التثبيت في Emacs.

يضعط كنترول + X، ثم كنترول + ف لإظهار المخزن المؤقت للملفات، اكتب “~/.emacs” في المطالبة، ثم اضغط يدخل.

قم بلصق كتلة التعليمات البرمجية التالية داخل ملف .emacs الجديد. هذه نسخة معدلة من ملف التكوين الافتراضي الذي يوفر الحد الأدنى من مجموعة الميزات لـ Exwm:

(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
(fringe-mode 1)
(setq display-time-default-load-average nil)
(display-time-mode t)
(icomplete-vertical-mode 1)
(exwm-systemtray-mode 1)
 
(require 'exwm)
(setq exwm-workspace-number 5)
(setq exwm-input-global-keys
      `(
        ([?\s-r] . exwm-reset)
 
        ([?\s-w] . exwm-workspace-switch)
 
        ([?\s-&] . (lambda (command)
           (interactive (list (read-shell-command "$ ")))
           (start-process-shell-command command nil command)))
 
        ,@(mapcar (lambda (i)
                    `(,(kbd (format "s-%d" i)) .
                      (lambda ()
                        (interactive)
                        (exwm-workspace-switch-create ,i))))
                  (number-sequence 0 9))))
 
(exwm-enable)

ملحوظة: يمكنك أيضًا دمج هذا الرمز في تكوين Emacs الموجود. فقط تأكد من وضعه (exwm-enable) بعد الإعدادات المتعلقة بـ Exwm.

يضعط كنترول + X، ثم كنترول + س لحفظ ملف .emacs الجديد.

لقطة شاشة تعرض نموذج التكوين في ملف ‎.emacs فعلي.

افتح ملف .xsession الخاص بالمستخدم المحلي، ثم الصق كتلة التعليمات البرمجية التالية بداخله:

xhost +SI:localuser:$USER
gnome-settings-daemon &
xsetroot -cursor_name left_ptr
xset r rate 200 60
 
exec dbus-launch --exit-with-session emacs

احفظ ملف .xsessions، ثم قم بتشغيل الأمر التالي لإنشاء إدخال سطح مكتب جديد لنظامك:

sudo nano /usr/share/xsessions/emacs.desktop

الصق ما يلي داخل ملف .desktop الجديد:

[Desktop Entry]<br>Name=Exwm<br>Exec=emacs<br>Type=Application
لقطة شاشة تعرض نموذجًا لإدخال سطح المكتب لـ Exwm.

احفظ ملف سطح المكتب الجديد، ثم أعد تشغيل نظامك لتطبيق إعداداتك الجديدة بالكامل.

من الجيد أن تعرف: تحقق من بعض اختياراتنا لأفضل بيئات سطح المكتب لعام 2024.

استخدام Exwm لأول مرة

في هذه المرحلة، لديك الآن تثبيت أساسي لـ Emacs وExwm يعمل على سطح مكتب Ubuntu Linux. لاستخدامه، انقر فوق رمز الترس في مطالبة تسجيل الدخول الخاصة بنظامك، ثم حدد Exwm.

لقطة شاشة توضح إدخال Exwm داخل GDM.

قم بتسجيل الدخول إلى حساب المستخدم الخاص بك، ثم انتظر بضع ثوانٍ حتى يتم تحميل Emacs وExwm في جلستك الحالية.

بمجرد الدخول، أول شيء يمكنك القيام به هو إنشاء نافذة جديدة داخل مساحة العمل الحالية. لذلك اضغط كنترول + X، ثم 3. سيؤدي هذا إلى إنشاء نافذة مقسمة عموديًا، مما يضع النافذة على الجانب الأيمن من الشاشة.

لقطة شاشة توضح انقسام النافذة العمودية في Exwm.

يمكنك أيضًا الضغط على كنترول + X، ثم 2 لإنشاء تقسيم أفقي مع وجود النافذة الجديدة في الجزء السفلي من الشاشة.

لقطة شاشة توضح تقسيم النافذة الأفقية في Exwm.

للتنقل بين مساحات العمل المختلفة، اضغط على يفوز متبوعًا بأي رقم في صف الأرقام بلوحة المفاتيح. على سبيل المثال، الضغط يفوز + 3 سيتم التركيز على مساحة العمل Exwm الثالثة.

ملحوظة: يمكنك أيضًا الضغط على بديل + X، ثم اكتب “exwm-workspace-switch” للوصول إلى المحوّل من المخزن المؤقت للأوامر.

تشغيل وإدارة البرامج في Exwm

على عكس مدير النوافذ النموذجي، لا يأتي Exwm مزودًا بمشغل تطبيقات مخصص. بدلاً من ذلك، يستخدم Exwm وظيفة مخصصة تقوم بتنفيذ الإدخال من المخزن المؤقت لأوامر Emacs في جلسة Linux Shell معزولة.

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

لقطة شاشة توضح تشغيل Firefox داخل Exwm.

ملحوظة: سوف “تتولى” شركة Exwm إطار Emacs الموجود بدلاً من إنشاء إطار جديد.

لإغلاق نافذة نشطة حاليًا، اضغط على كنترول + ك. سيؤدي القيام بذلك إلى إنهاء العملية تمامًا ولكنه سيترك أيضًا إطار Emacs القياسي خلفه. يمكنك الضغط كنترول + X، ثم 0 لإزالة الإطار أيضًا.

تكوين وتخصيص Exwm

في حين أن تثبيت Exwm القياسي يكفي لمعظم حالات الاستخدام، فمن الممكن تخصيص سطح المكتب بالكامل وفقًا لاحتياجاتك. في هذا القسم، سنستعرض بعض التعديلات التي يمكنك إجراؤها على Exwm.

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

قم بتشغيل xrandr على الجهاز الطرفي ولاحظ اسم جهاز شاشتك والدقة المتوفرة له. على سبيل المثال، اسم شاشتي هو “Virtual-1” وأريد ضبط دقة سطح المكتب على 1360×768.

محطة تسلط الضوء على اسم الشاشة وقائمة الدقة المتوفرة للشاشة.

الصق الأمر التالي، ثم استبدل الملصق “MONITOR” باسم شاشتك و”RESOLUTION” بدقة الشاشة المستهدفة.

xrandr --output MONITOR --mode RESOLUTION
محطة تعرض أمر Xrandr المعدل.

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

قم بإعادة تحميل جلسة Exwm الحالية بالضغط بديل + X، ثم اكتب “exwm-restart”.

لعِلمِكَ: تحقق من دليلنا المفيد حول بعض أفضل المكونات الإضافية لـ Hyprland اليوم.

إنشاء اختصارات لوحة المفاتيح الجديدة في Exwm

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

لإضافة روابط المفاتيح الخاصة بك، افتح ملف .emacs الخاص بك، ثم قم بالتمرير إلى القسم الذي يحتوي على “exwm-input-global-keys”.

لقطة شاشة توضح وظيفة تكوين رابط المفتاح العام.

انتقل إلى الوظيفة والصق السطر التالي من التعليمات البرمجية:

([?\SHORTCUT] . FUNCTION)

استبدل علامة “SHORTCUT” بمجموعة المفاتيح التي تريدها. في حالتي، أريد أن استخدم يفوز + س كاختصار لذلك سأضيف “مربع”.

لقطة شاشة توضح رابط المفاتيح المخصص باستخدام اختصار لوحة المفاتيح.

ملحوظة: يستخدم Exwm c وs وm للتمثيل كنترول, يفوز، و بديل المفاتيح على التوالي.

قم بتغيير تسمية “FUNCTION” بالوظيفة التي تريد ربطها بالاختصار.

قم بتثبيت Emacs Exwm Desktop 14 لتوفير نموذج وظيفة جديد

يضعط كنترول + X، ثم كنترول + س لحفظ التكوين الخاص بك، ثم أعد تشغيل جلسة Exwm الخاصة بك.

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

إضافة مفاتيح العبور

علاوة على إضافة روابط مفاتيح مخصصة، من الممكن أيضًا تعيين مفاتيح العبور في Exwm. هذه هي الاختصارات التي لا يتم تفسيرها في أي نافذة X11، مما يسمح لك بالوصول إلى Emacs حتى أثناء استخدام برنامج واجهة المستخدم الرسومية العادي.

لإضافة مفاتيح العبور، افتح ملف .emacs الخاص بك، ثم قم بالتمرير لأسفل إلى القسم الخاص بروابط مفاتيح Exwm العامة.

قم بلصق كتلة التعليمات البرمجية التالية قبل الدالة اختصارات Exwm العمومية مباشرةً. سيسمح لك هذا باستخدام المعيار كنترول + X، و بديل + X مفاتيح القائد وكذلك الوصول إلى وظيفة المساعدة:

(setq exwm-input-prefix-keys
 '(?\C-x
   ?\C-u
   ?\C-h
   ?\M-x ))
لقطة شاشة تسلط الضوء على مفاتيح العبور في Exwm.

احفظ ملف تكوين Emacs، ثم أعد تشغيل سطح المكتب لتطبيق إعداداتك الجديدة.

لقطة شاشة توضح عمل مفاتيح المرور Exwm.

يعد تحويل عميل Emacs الخاص بك إلى مدير نوافذ حقيقي باستخدام Exwm مجرد لمحة عما يمكنك فعله باستخدام محرر النصوص المرن للغاية هذا. حريصة على تعلم المزيد؟ اكتشف لماذا أصبح Emacs تطبيقي المفضل للعمل والإنتاجية اليوم.

حقوق الصورة: ميا بيكر عبر Unsplash. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.

اشترك في النشرة الإخبارية لدينا!

يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك

رمسيس الأحمر

رمسيس كاتب في مجال التكنولوجيا عاش مع أجهزة الكمبيوتر طوال حياته. قارئ غزير الإنتاج وطالب في الأنثروبولوجيا، وهو شخصية غريبة الأطوار تكتب مقالات عن Linux وأي شيء لا شيء.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى