أداة مفتوحة المصدر
moveMouse: أداة في شريط القوائم على ماك تساعد على إبقاء اتصال RDP مفتوحًا
يساعد moveMouse على إبقاء اتصال سطح المكتب البعيد (RDP) مفتوحًا. يحرّك المؤشر بفاصل زمني تحدده ويمنع الجهاز من النوم أثناء تشغيله، فيقل احتمال أن تُقطع جلسة هادئة. يعيش في شريط القوائم، وكوده مفتوح بترخيص MIT.
ما هو moveMouse؟
moveMouse تطبيق صغير مفتوح المصدر يعيش في شريط قوائم macOS. يحرّك مؤشر الماوس من تلقاء نفسه بفاصل زمني تحدده، وما دام يعمل يمنع الجهاز من النوم بسبب الخمول. صُنع لمشكلة عملية واحدة: اتصال سطح المكتب البعيد (RDP) الذي ينقطع حين لا تلمس الجهاز. والتلميح الذي يظهر على أيقونة التطبيق في شريط القوائم يقول ذلك بنفسه: «لمنع انقطاع اتصال RDP».
يصفه ملف README وصفًا أعم: تحريك تلقائي للمؤشر وفق جدولك، يفيد في عروض سطح المكتب، أو اختبار تفاعلات الماوس، أو إبقاء الجهاز نشطًا أثناء مهمة ما. كُتب بلغة Swift وإطار AppKit، ويعمل بلا أيقونة في Dock.
لماذا ينقطع اتصال RDP
جلسات سطح المكتب البعيد تنتهي عادةً لأسباب مملة. الجهاز الذي تتصل منه ينام ويأخذ معه اتصال الشبكة، أو يعتبر الطرف البعيد الجلسة التي بلا إدخال جلسةً خاملة فيُنهيها أو يقفلها. يعمل moveMouse من جهاز ماك الخاص بك ويعالج الأمرين: يمنع السكون الناتج عن الخمول ما دام يعمل، ويولّد نشاطًا للمؤشر بالفاصل الذي تضبطه.
وهناك حدّان يجب ذكرهما بصراحة. التطبيق لا يعرف شيئًا عن برنامج RDP عندك: هو يحرّك المؤشر على جهازك، فلا يصل النشاط إلى الجلسة البعيدة إلا ما دامت نافذة RDP تحت المؤشر. عمليًا، أبقِ نافذة سطح المكتب البعيد حيث يتحرك المؤشر، وهو منتصف الشاشة مع النمط الافتراضي. كما أن moveMouse لا يغيّر شيئًا على الجهاز البعيد، فأي حد للجلسة مفروض هناك يبقى كما هو.
ماذا يفعل
- ستة فواصل زمنية: كل 15 أو 30 أو 45 ثانية، أو كل دقيقة أو دقيقتين أو 5 دقائق. الافتراضي عند أول تشغيل هو 30 ثانية.
- نمطان للتحريك: «منتصف الشاشة (يمين ثم يسار)» ينقل المؤشر إلى وسط الشاشة، ثم يمينًا ويسارًا، وينتهي في الوسط. و«الموضع الحالي للماوس (هزة خفيفة)» يحرّكه مسافة قصيرة يمينًا ويسارًا ثم يعيده إلى مكانه.
- نقرة اختيارية بالزر الأيسر بعد كل حركة، مع صوت اختياري. تقع النقرة عند الموضع الأخير للمؤشر وتصيب أي شيء تحته.
- تحكم بسيط من شريط القوائم: تشغيل أو إيقاف مؤقت (Pause)، وتحريك الماوس الآن (Move Now) ويعمل حتى أثناء الإيقاف المؤقت، وخروج. وسطر للحالة يبيّن هل التحريك يعمل ومتى كانت آخر عملية.
- إعدادات محفوظة: الفاصل والنمط والنقرة والصوت تبقى بين مرات التشغيل.
- منع السكون: يُمنع سكون النظام بسبب الخمول ما دام التحريك التلقائي يعمل. والإيقاف المؤقت أو الخروج يحرّره.
يبدأ moveMouse التحريك بمجرد تشغيله، بإعداداتك المحفوظة. وقوائمه بالعربية مع كلمات إنجليزية بين قوسين لعدة عناصر: Pause وMove Now وInterval وLeft Click وClick Sound.
الأذونات
الإدخال المحاكى للماوس يحتاج إذن «إمكانية الوصول» (Accessibility). عند أول تشغيل قد يطلبه macOS: افتح إعدادات النظام، ثم الخصوصية والأمان، ثم «إمكانية الوصول»، وفعّل moveMouse. وعنصر إمكانية الوصول في قائمة التطبيق يفتح لك تلك الصفحة. وبحسب ملف README فالنقر هو الجزء الذي يحتاج الإذن أكثر من غيره. إن توقفت النقرة عن العمل بعد إعادة بناء التطبيق أو نقله، فاحذف سطره من إمكانية الوصول وأضفه من جديد وأعد تشغيله.
التثبيت
يحتاج moveMouse إلى macOS 11 Big Sur أو أحدث. التطبيق المرفق وسكربت البناء يستهدفان أجهزة Apple silicon (معمارية arm64). انسخ المستودع من GitHub ثم شغّل ./build.sh و./run.sh. يحتاج البناء إلى أدوات سطر الأوامر لـ Xcode (Command Line Tools) وتثبّتها xcode-select --install. ويوقّع السكربت التطبيق محليًا بتوقيع مؤقت (ad-hoc).
ولتشغيل moveMouse عند تسجيل الدخول أضف MoveMouse.app إلى عناصر تسجيل الدخول في إعدادات النظام ضمن «عام». وللإيقاف اختر «خروج» من القائمة أو شغّل ./stop.sh من مجلد المشروع.
مفتوح المصدر
صدر moveMouse بترخيص MIT. يعتمد على أطر macOS الأصلية فقط ويُبنى مباشرة بـ swiftc، بلا اعتماديات خارجية وبلا مشروع Xcode. والكود بضعة ملفات Swift: واجهة شريط القوائم، ومؤقت الحركة مع إدخال المؤشر والإعدادات المحفوظة، ومنع السكون.
ينشر عماد الحمو، صاحب هذا الموقع، moveMouse على GitHub. تقارير الأخطاء والأفكار وطلبات الدمج (Pull Requests) مرحّب بها؛ اذكر إصدار macOS وخطوات إعادة المشكلة وما كنت تتوقعه.
الأسئلة الشائعة
ما هو moveMouse؟
moveMouse تطبيق مفتوح المصدر في شريط قوائم macOS يحرّك المؤشر تلقائيًا بفاصل زمني تحدده ويمنع الجهاز من النوم أثناء تشغيله. صُنع للمساعدة على منع انقطاع اتصال RDP.
كيف يساعد moveMouse في اتصال RDP؟
يعمل من جهاز ماك الخاص بك. يمنع السكون الناتج عن الخمول الذي كان سيقطع الاتصال، ويولّد نشاطًا للمؤشر بالفاصل الذي تختاره كي لا تبقى الجلسة ساكنة تمامًا. لا يصل النشاط إلى الجلسة البعيدة إلا ما دامت نافذة RDP تحت المؤشر، ولا يغيّر moveMouse أي إعداد على الجهاز البعيد.
هل قد تصيب النقرة شيئًا لم أقصده؟
نعم، ممكن. النقرة الاختيارية بالزر الأيسر تقع عند الموضع الأخير للمؤشر وتتفاعل مع أي شيء تحته. إن أردت الحركة فقط فأوقف خيار «نقرة بالزر الأيسر بعد الحركة (Left Click)» من القائمة. وهو مفعّل افتراضيًا.
ما الفواصل الزمنية وأنماط التحريك المتاحة؟
الفواصل هي 15 و30 و45 ثانية ودقيقة ودقيقتان و5 دقائق، والافتراضي 30 ثانية. والنمطان هما «منتصف الشاشة» (الوسط ثم يمين ثم يسار ثم العودة إلى الوسط) و«الموضع الحالي للماوس» (هزة خفيفة يمينًا ويسارًا ثم العودة إلى نقطة البداية).
ما الإذن الذي يحتاجه moveMouse؟
إذن «إمكانية الوصول» (Accessibility) للإدخال المحاكى للماوس، خصوصًا النقر. فعّل moveMouse من إعدادات النظام ضمن الخصوصية والأمان ثم «إمكانية الوصول».
ما أجهزة ماك وإصدارات macOS المدعومة؟
macOS 11 Big Sur أو أحدث. التطبيق المرفق وسكربت البناء يستهدفان أجهزة Apple silicon (معمارية arm64).
كيف أوقف moveMouse مؤقتًا أو أغلقه؟
اختر «إيقاف مؤقت (Pause)» من قائمة شريط القوائم لإيقاف التحريك المجدول وتحرير منع السكون، أو «خروج» لإغلاق التطبيق. وخيار «تحريك الماوس الآن (Move Now)» ينفّذ حركة واحدة عند الطلب حتى أثناء الإيقاف المؤقت.
هل moveMouse مفتوح المصدر؟
نعم. صدر بترخيص MIT، والكود المصدري على GitHub.


