Mycroft-core: Mycroftサービスを停止および開始するためのCLIコマンドを簡素化する

作成日 2017年09月15日  ·  8コメント  ·  ソース: MycroftAI/mycroft-core

_起源:この問題は、 @ kathyreid@penrodsの会話に基づいて提起されており、Mycroftサービスの停止と開始をより直感的にすることを目的としています

ユーザーストーリー

Mycroftの開発者またはコマンドラインユーザーとして、Mycroftサービスを停止および開始するプロセスを直感的にして、基本的な使用法ではなくプラットフォームの拡張に集中できるようにしたいと考えています。

Mycroftのコアメンテナーとして、Mycroftサービスを停止および開始するプロセスを直感的にして、「はじめに」の質問の量を減らし、機能の拡張と高度な問題のデバッグに時間を集中できるようにしたいと考えています。

Mycroftの開発者、CLIユーザー、またはコアメンテナーとして、サービスの開始と停止を直感的でパラメーター化して、将来の開発でサービスの停止、開始、再起動を簡単にトリガーできるようにしたいと考えています。

合否基準

  • Mycroftサービスの開始、停止、および再起動は、標準の直感的な構文に従います。 たとえば、これは、Ubuntuでsystemctlによって使用される構文を反映する可能性があります-次の行に沿って:
$ mycroft [action] [subservice] [parameter]

例えば。

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

$ mycroft start voice
$ mycroft start all --quiet
  • このアプローチは、Mycroft Developerコミュニティと交流し、そこから意見を求める必要があります。
  • 構文は、mycroft-coreリポジトリのREADME.mdとdocs.mycroft.aiの両方に明確に文書化されている必要があります(これは@kathyreidの仕事になります)
medium Enhancement - proposed help wanted

最も参考になるコメント

非常に見つけやすいスクリプトをいくつか使用してこれを行うことを提案したいと思います。 すなわち:
$ ./mycroft-start.sh
$ ./mycroft-stop.sh

ファイルシステムを閲覧するだけで、これらは初心者に飛び出します-「ああ、それがあなたがそれを始める方法です!」

次に、オプションで特定のサービス名をパラメーターとしてサポートします。 例えば
mycroft-start.sh [すべて| 声|スキル| ...]
mycroft-stop.sh [すべて| 声|スキル| ...]

再起動する必要はありません。「start」は、すでに実行されているものをすべて停止する必要があります(重複するサービスの実行を許可することはできません)。 パラメータを持つサービスはないので、それも必要ありません。

全てのコメント8件

非常に見つけやすいスクリプトをいくつか使用してこれを行うことを提案したいと思います。 すなわち:
$ ./mycroft-start.sh
$ ./mycroft-stop.sh

ファイルシステムを閲覧するだけで、これらは初心者に飛び出します-「ああ、それがあなたがそれを始める方法です!」

次に、オプションで特定のサービス名をパラメーターとしてサポートします。 例えば
mycroft-start.sh [すべて| 声|スキル| ...]
mycroft-stop.sh [すべて| 声|スキル| ...]

再起動する必要はありません。「start」は、すでに実行されているものをすべて停止する必要があります(重複するサービスの実行を許可することはできません)。 パラメータを持つサービスはないので、それも必要ありません。

これは非常に理にかなっています-これに対する私の最初の見解が完全に正しくなかったことをお詫びします。

シンプルなUIを提案します。 私は(午前)Windows .NET、WPFなどのプログラマーだったので、最初の応答はUIを作成することです。 さまざまな状態のステータスを表示し、テキストを入力して出力テキストを表示する単純なものはどうでしょうか。 また、開始、停止、何でもできます。 これはpicroftでは機能しませんが、私にできることは、UIが読み取るコマンドラインパラメーターを持つことができるバックエンドを持つことです。 Linuxタイプがコマンドラインを愛していることは知っていますが、アーティストやデザイナーなどにとっては、UIを高く評価しています。 PythonにはたくさんのUIフレームワークがあり、私たちが小さなことから始めて簡単なことをした場合、それは進歩し、最終的にはすべて狂ってしまう可能性があります。 プロトタイプをドラフトしたいですか? 私は最初に何かを探していました。 これは楽しいかもしれません。

mycroftは、開始しようとしているものに一致するサービスを強制的に停止したいですか? これはどのサービスでも問題がありますか?

また、名前を変更してstart.shを削除し(mycroft.shに折りたたんで、すべての詳細なニーズに対応しますか?)、start-mycroft.shとstop-mycroft.shを追加することに投票します。

@ highjinx411先日、Mattermostでこれについて話していたと思います。 GUIは良い考えですが、クロスプラットフォームであり、(したがって)ウィンドウ管理システムなどから可能な限り独立していることを目的としたmycroft-coreの一部にはなりません。 あなたが提案しているようなGUIは、「enclosure-picroft」のようなエンクロージャー、たとえば「enclosure-windows」です。

真にクロスプラットフォームのGUIを思いつくことができれば、私もそれを見たいと思います!

PS私自身はWindowsの老人です。当時、AutoSketch4からAutoSketch10までのGUI開発のほとんどを行っていました。 私は良いユーザーインターフェースが大好きです!

クロスプラットフォームのGUIは可能かもしれませんが、プラットフォームに依存させることで得られるメリットを放棄するため、おそらく制限されます。 そのため、たとえば、アプリがWindows上にある場合にメリットとなる可能性がある、Windows固有の呼び出しが失われる可能性があります。 私はそれが可能な限り豊かであることを確認するためにそれがエンクロージャの一部であるべきであることに同意します。 たとえば、携帯電話用のXamarinを使用して「クロス」プラットフォームアプリを開発する場合でも、プラットフォームに依存する部分があり、最終的にはOSごとに特定の実行可能ファイルを構築します。 すべてのGUIで使用できる必要があるのは、開始、停止、ステータスの取得などを公開するコア内の何かだけです。したがって、コアがインストールされているプラ​​ットフォームに関係なく、すべてのGUIが同じメソッドを呼び出すことができます。 Linuxはbashスクリプトでうまくいくので、今はわかりませんが、Windowsは他の方法でうまくいく可能性があると言っています。 だから問題はです。 GUIは、そのプラットフォームのmycroftコアインスタンスを調べますか? Windows GUIはWindowsコアのみを調べ、Linux GUIはLinuxコアのみを調べますか? または、Windows GUIが入力としてIPを持ち、OSに関係なく、そのIPがインストールされている場所ならどこでもコアにアクセスできるのでしょうか。

PR#1107でうまくいくと思います。 だと思う、

@penrodsに同意し、この問題を解決しました。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

tmajibon picture tmajibon  ·  9コメント

WSLUser picture WSLUser  ·  9コメント

fermulator picture fermulator  ·  6コメント

el-tocino picture el-tocino  ·  4コメント

Ahmed-Benj picture Ahmed-Benj  ·  7コメント