Mycroft-core: تبسيط أوامر CLI لإيقاف خدمات Mycroft وبدء تشغيلها

تم إنشاؤها على ١٥ سبتمبر ٢٠١٧  ·  8تعليقات  ·  مصدر: MycroftAI/mycroft-core

_Origin: يتم طرح هذه المشكلة بناءً على محادثة مع kathyreid و penrods وتهدف إلى جعل إيقاف خدمات Mycroft وبدء تشغيلها أكثر سهولة.

قصص المستخدم

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

بصفتي مشرفًا أساسيًا على Mycroft ، أريد أن تكون عملية إيقاف خدمات Mycroft وبدء تشغيلها بديهية بحيث يتم تقليل حجم أسئلة "البدء" ، مما يسمح لي بتركيز وقتي على توسيع الوظائف وتصحيح المشكلات المتقدمة

بصفتي مطورًا أو مستخدم CLI أو مشرفًا

معايير القبول

  • بدء تشغيل خدمات Mycroft وإيقافها وإعادة تشغيلها يتبع بناء جملة قياسيًا بديهيًا. على سبيل المثال ، يمكن أن يعكس هذا الصيغة المستخدمة بواسطة systemctl على Ubuntu - على غرار:
$ mycroft [action] [subservice] [parameter]

على سبيل المثال

$ mycroft start all
$ mycroft stop all
$ mycroft restart all

$ mycroft start voice
$ mycroft start all --quiet
  • يجب أن يكون هذا النهج اجتماعيًا مع مجتمع مطوري Mycroft والسعي للحصول على مدخلات منه
  • يجب توثيق بناء الجملة بوضوح في كل من README.md لـ mycroft-core repo ، وكذلك في docs.mycroft.ai (ستكون هذه وظيفة kathyreid )
medium Enhancement - proposed help wanted

التعليق الأكثر فائدة

أود أن أقترح القيام بذلك باستخدام نصوص يسهل العثور عليها. يسمى:
$ ./mycroft-start.sh
$ ./mycroft-stop.sh

عند تصفح نظام الملفات فقط ، سينتقل هؤلاء إلى مبتدئ - "أوه ، هذه هي الطريقة التي تبدأ بها!"

ثم سأدعم بشكل اختياري أسماء خدمة محددة كمعلمات. على سبيل المثال
mycroft-start.sh [الكل | صوت | مهارات | ...]
mycroft-stop.sh [الكل | صوت | مهارات | ...]

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

ال 8 كومينتر

أود أن أقترح القيام بذلك باستخدام نصوص يسهل العثور عليها. يسمى:
$ ./mycroft-start.sh
$ ./mycroft-stop.sh

عند تصفح نظام الملفات فقط ، سينتقل هؤلاء إلى مبتدئ - "أوه ، هذه هي الطريقة التي تبدأ بها!"

ثم سأدعم بشكل اختياري أسماء خدمة محددة كمعلمات. على سبيل المثال
mycroft-start.sh [الكل | صوت | مهارات | ...]
mycroft-stop.sh [الكل | صوت | مهارات | ...]

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

هذا منطقي للغاية - أعتذر عن اعتذاري الأولي لم يكن هذا صحيحًا تمامًا.

أقترح واجهة مستخدم بسيطة. كنت (أنا) مبرمج Windows .NET ، WPF ، إلخ ، لذا فإن ردي الأولي هو إنشاء واجهة مستخدم. ماذا عن شيء بسيط يُظهر حالة الحالات المختلفة ومن ثم يكون له مكان لإدخال النص ويعرض النص الناتج. يمكنك أيضا البدء ، والتوقف ، أيا كان. لن يعمل هذا على picroft ولكن ما يمكنني فعله هو الحصول على واجهة خلفية يمكن أن تحتوي على معلمات سطر أوامر تقرأها واجهة المستخدم. أعلم أن جميع أنواع Linux تحب سطور الأوامر ولكن بالنسبة للفنانين والمصممين وما إلى ذلك ، فإنهم سيقدرون واجهة المستخدم. تمتلك Python مجموعة من أطر عمل واجهة المستخدم ، وإذا بدأنا للتو على نطاق صغير وقمنا بالأشياء السهلة ، فيمكن أن تتطور وتصبح مجنونة في النهاية .. ماذا عن ذلك؟ هل تريد مني صياغة نموذج أولي؟ لقد كنت أبحث عن شيء لتبدأ به. قد يكون هذا ممتعًا.

هل تريد mycroft إيقاف أي خدمة بالقوة تجدها مطابقة مهما كانت تحاول بدء تشغيلها؟ هل سيكون هذا مشكلة مع أي من الخدمات؟

سأصوت أيضًا لتغييرات الاسم لإسقاط start.sh (طيها في mycroft.sh ، لجميع احتياجاتك الحبيبية؟) ، وإضافة start-mycroft.sh ، و stop-mycroft.sh.

@ highjinx411 أظن أنك كنت تتحدث معي عن هذا الأمر في اليوم الآخر. تعد واجهة المستخدم الرسومية فكرة جيدة ، ولكنها لن تكون جزءًا من mycroft-core ، والذي يُقصد به أن يكون عبر الأنظمة الأساسية (وبالتالي) مستقلًا عن أشياء مثل أنظمة إدارة النوافذ قدر الإمكان. واجهة المستخدم الرسومية التي تقترحها ستكون حاوية ، تشبه إلى حد كبير "الضميمة-بيكروفت" ، على سبيل المثال "النوافذ المغلقة".

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

ملاحظة: أنا شخص قديم يعمل بنظام Windows - لقد قمت بمعظم تطوير واجهة المستخدم الرسومية لـ AutoSketch 4 إلى AutoSketch 10 مرة أخرى في اليوم. أنا أحب واجهة المستخدم الجيدة!

يمكن أن تكون واجهة المستخدم الرسومية متعددة المنصات ممكنة ، لكنها من المحتمل أن تكون محدودة لأنها ستتخلى عن أي فوائد قد تحصل عليها من جعلها تعتمد على النظام الأساسي. لذلك قد تفقد مكالمات خاصة بـ Windows على سبيل المثال قد تكون مفيدة إذا كان التطبيق يعمل على Windows. أوافق على أنه يجب أن يكون جزءًا من العلبة للتأكد من أنها غنية قدر الإمكان. حتى تطوير تطبيقات النظام الأساسي "المتقاطعة" باستخدام Xamarin للهواتف المحمولة على سبيل المثال يحتوي على أجزاء فيه تعتمد على النظام الأساسي وفي النهاية إنشاء ملف تنفيذي محدد لكل نظام تشغيل على أي حال. الشيء الوحيد الذي يجب أن يكون متاحًا لجميع واجهات المستخدم الرسومية هو شيء في الجوهر يفضح البدء والتوقف والحصول على الحالة وما إلى ذلك .. لذلك يمكن لجميع واجهات المستخدم الرسومية استدعاء نفس الأساليب بغض النظر عن النظام الأساسي الذي تم تثبيت النواة عليه .. في الواقع حتى فقط أقول إنني الآن لست متأكدًا من أن Linux يعمل بشكل جيد مع البرامج النصية bash ولكن يمكن أن يعمل Windows بشكل جيد عبر بعض الطرق الأخرى. لذا فإن السؤال هو. هل ستنظر واجهة المستخدم الرسومية في مثيل mycroft الأساسي لمنصته؟ تبدو واجهة المستخدم الرسومية لـ windows فقط في windows core بينما تنظر واجهة المستخدم الرسومية Linux فقط في Linux core؟ أو هل يمكن أن يكون واجهة المستخدم الرسومية لـ Windows تحتوي على IP كمدخلات وتصل إلى النواة أينما تم تثبيت IP بغض النظر عن نظام التشغيل؟

أعتقد أن PR # 1107 يجب أن يفعل الحيلة. Whatcha اعتقد ،

موافقpenrods ، إغلاق هذه المشكلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

ChanceNCounter picture ChanceNCounter  ·  8تعليقات

ryanleesipes picture ryanleesipes  ·  4تعليقات

el-tocino picture el-tocino  ·  4تعليقات

tmajibon picture tmajibon  ·  9تعليقات

damorosodaragona picture damorosodaragona  ·  5تعليقات