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

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

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

وأخيرا، Exwm هو هزيل وسريع بشكل لا يصدق. في تجربتي، يستغرق تحميل مدير النوافذ من التشغيل البارد بضع ثوانٍ، وتشغيله ليوم كامل يستهلك فقط ما يزيد عن 500 ميجابايت من ذاكرة الوصول العشوائي.
وفي ملاحظة جانبية: هل تبحث عن مدير نوافذ أكثر حداثة؟ راجع دليلنا حول إعداد Hyprland وتشغيله في Linux.
تثبيت Exwm في إيماكس
الخطوة الأولى في تثبيت Exwm في Linux هي التأكد من أن لديك كلاً من Emacs وتبعياته على نظامك. للقيام بذلك، قم بتشغيل الأمر التالي:
sudo apt install emacs dbus gnome-settings-daemon
افتح عميل Emacs الخاص بك، ثم اضغط بديل + X، ثم اكتب “package-install” لإظهار رسالة تثبيت المحرر.
اكتب “exwm” في المطالبة، ثم اضغط يدخل لتثبيت مدير النوافذ داخل 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 الجديد.

افتح ملف .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

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

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

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

للتنقل بين مساحات العمل المختلفة، اضغط على يفوز متبوعًا بأي رقم في صف الأرقام بلوحة المفاتيح. على سبيل المثال، الضغط يفوز + 3 سيتم التركيز على مساحة العمل Exwm الثالثة.
ملحوظة: يمكنك أيضًا الضغط على بديل + X، ثم اكتب “exwm-workspace-switch” للوصول إلى المحوّل من المخزن المؤقت للأوامر.
تشغيل وإدارة البرامج في Exwm
على عكس مدير النوافذ النموذجي، لا يأتي Exwm مزودًا بمشغل تطبيقات مخصص. بدلاً من ذلك، يستخدم Exwm وظيفة مخصصة تقوم بتنفيذ الإدخال من المخزن المؤقت لأوامر Emacs في جلسة Linux Shell معزولة.
لبدء تشغيل البرنامج، اضغط على يحول + يفوز + 7، ثم أدخل اسم التطبيق الذي تريد تشغيله. على سبيل المثال، كتابة “firefox” ستفتح المتصفح كإطار داخل Exwm.

ملحوظة: سوف “تتولى” شركة Exwm إطار Emacs الموجود بدلاً من إنشاء إطار جديد.
لإغلاق نافذة نشطة حاليًا، اضغط على كنترول + ك. سيؤدي القيام بذلك إلى إنهاء العملية تمامًا ولكنه سيترك أيضًا إطار Emacs القياسي خلفه. يمكنك الضغط كنترول + X، ثم 0 لإزالة الإطار أيضًا.
تكوين وتخصيص Exwm
في حين أن تثبيت Exwm القياسي يكفي لمعظم حالات الاستخدام، فمن الممكن تخصيص سطح المكتب بالكامل وفقًا لاحتياجاتك. في هذا القسم، سنستعرض بعض التعديلات التي يمكنك إجراؤها على Exwm.
أحد أسهل التخصيصات التي يمكنك القيام بها هو تغيير دقة الشاشة الافتراضية لسطح المكتب. للقيام بذلك، افتح نافذة المحطة الطرفية بالضغط يحول + يفوز + 7، ثم اكتب “محطة جنوم”.
قم بتشغيل xrandr على الجهاز الطرفي ولاحظ اسم جهاز شاشتك والدقة المتوفرة له. على سبيل المثال، اسم شاشتي هو “Virtual-1” وأريد ضبط دقة سطح المكتب على 1360×768.

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

ملحوظة: يمكنك جعل هذا التغيير مستمرًا عبر عمليات إعادة التشغيل عن طريق لصق نفس الأمر داخل ملف .xsession الخاص بك.
قم بإعادة تحميل جلسة Exwm الحالية بالضغط بديل + X، ثم اكتب “exwm-restart”.
لعِلمِكَ: تحقق من دليلنا المفيد حول بعض أفضل المكونات الإضافية لـ Hyprland اليوم.
إنشاء اختصارات لوحة المفاتيح الجديدة في Exwm
لا يأتي Exwm مع الكثير من روابط المفاتيح بشكل افتراضي. وذلك لأن مدير النوافذ يعتمد على مفاتيح Emacs المضمنة بالإضافة إلى قيام مستخدميه بإضافة الاختصارات المخصصة الخاصة بهم.
لإضافة روابط المفاتيح الخاصة بك، افتح ملف .emacs الخاص بك، ثم قم بالتمرير إلى القسم الذي يحتوي على “exwm-input-global-keys”.

انتقل إلى الوظيفة والصق السطر التالي من التعليمات البرمجية:
([?\SHORTCUT] . FUNCTION)
استبدل علامة “SHORTCUT” بمجموعة المفاتيح التي تريدها. في حالتي، أريد أن استخدم يفوز + س كاختصار لذلك سأضيف “مربع”.

ملحوظة: يستخدم Exwm c وs وm للتمثيل كنترول, يفوز، و بديل المفاتيح على التوالي.
قم بتغيير تسمية “FUNCTION” بالوظيفة التي تريد ربطها بالاختصار.

يضعط كنترول + X، ثم كنترول + س لحفظ التكوين الخاص بك، ثم أعد تشغيل جلسة Exwm الخاصة بك.
تأكد من أنه يعمل بشكل صحيح عن طريق الضغط على اختصار لوحة المفاتيح المخصص.
إضافة مفاتيح العبور
علاوة على إضافة روابط مفاتيح مخصصة، من الممكن أيضًا تعيين مفاتيح العبور في Exwm. هذه هي الاختصارات التي لا يتم تفسيرها في أي نافذة X11، مما يسمح لك بالوصول إلى Emacs حتى أثناء استخدام برنامج واجهة المستخدم الرسومية العادي.
لإضافة مفاتيح العبور، افتح ملف .emacs الخاص بك، ثم قم بالتمرير لأسفل إلى القسم الخاص بروابط مفاتيح Exwm العامة.
قم بلصق كتلة التعليمات البرمجية التالية قبل الدالة اختصارات Exwm العمومية مباشرةً. سيسمح لك هذا باستخدام المعيار كنترول + X، و بديل + X مفاتيح القائد وكذلك الوصول إلى وظيفة المساعدة:
(setq exwm-input-prefix-keys '(?\C-x ?\C-u ?\C-h ?\M-x ))

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

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