Asciinema: دعم Windows؟

تم إنشاؤها على ٣ مارس ٢٠١٦  ·  31تعليقات  ·  مصدر: asciinema/asciinema

وحدة تحكم Windows هي محطة ANSI (ملتوية) ، مرتبطة خلف واجهة برمجة تطبيقات Windows Console. بافتراض إمكانية عمل مسجل ، يجب أن يكون تنسيق ملف asciicast الحالي قادرًا على تمثيل أي شيء تقريبًا يمكن أن يفعله تطبيق Windows Console. يجب أن يكون التسجيل الناتج قابلاً للتشغيل مثل أي تسجيل آخر.

الحيلة الصعبة هي التسجيل. هل فكر أي شخص أو بذل أي جهد في بناء مثل هذا المسجل لوحدة تحكم Windows؟

هل سيكون منفذ ASCIINEMA لنظام التشغيل Windows ممكنًا؟

feature request packaging

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

لأي شخص مهتم بالتسجيل على Windows ، لدى mattn فرع تجريبي هنا: https://github.com/mattn/asciinema/tree/windows

ال 31 كومينتر

تقوم Asiinema بتسجيل ناتج stdout الخام لعملية فرعية (shell افتراضيًا). لا "تلتقط" محتويات الشاشة بأي شكل من الأشكال. إنه يلتقط ما يتم طباعته (بما في ذلك جميع تسلسلات الهروب / التحكم) ويفعل ذلك باستخدام الطرفية الزائفة (pty).

حتى الآن لم أجد أي محطة طرفية تعمل بنظام Windows تدعم pty ولكنني عثرت مؤخرًا على موقع http://babun.github.io . تقول الصفحة: Mintty is the console used in babun.

صفحة Mintty (https://mintty.github.io) تقول: Similarly to other Cygwin/MSYS terminals based on pseudo terminal ("pty") devices (...) ، ولكن هناك سلسلة نقاش طويلة حول المشكلة ذات الصلة: https://github.com/mintty/mintty/issues/56

إذا وجد شخص ما طريقة لاستخدام pty على Windows (أو شيء ما مزيف pty ولكن يعطينا تيارًا قياسيًا خامًا) ، فيمكننا الاقتراب من asciinema-on-windows.

هل أنت مهتم في دعم cmd الأصلي؟

https://asciinema.org/a/0nsiofsbhypumh6vy5jx6wuog

لكنها تجريبية حاليا.

@ ماتن قف! بالتأكيد ، لدي فضول لمعرفة كيف تم تحقيق ذلك.

لأي شخص مهتم بالتسجيل على Windows ، لدى mattn فرع تجريبي هنا: https://github.com/mattn/asciinema/tree/windows

أهلا! ربما هذا المشروع مفيد؟ https://github.com/adoxa/ansicon

هل يمكنني يا رفاق استخدام هذه الأداة في git bash لنظام التشغيل Windows؟
أي في MinGW . أو في بابون ...

لقد قمت للتو بتثبيت fork من https://github.com/mattn/asciinema/tree/windows ولكنه يعمل cmd.exe .

andkirby سمعت أنه نجح في bash تحت Windows لكنني لم أجرب نفسي.

شائعات ... :) شكرا.)

sickill هل تم إغلاق هذا لأنه تم دمجه أم لأنك لا تخطط لدعمه؟

masaeedu شكرا لاهتمامك.

لا أخطط لدعم Windows للأسباب التالية:

  • معظم الحلول المشابهة لنظام التشغيل Windows هي حلول اختراق
  • أنا لا أستخدم Windows وكمطور رئيسي لـ asciinema لا أرغب في صيانته

في الوقت الحالي أعتقد أن الأمر لا يستحق ذلك.

يتم تثبيت Asiinema ويعمل بشكل جيد مع Win10 (WSL): https://asciinema.org/a/123255

يحتاج تسجيل محطات Windows حقًا إلى اختراق ، AFAIK لا يزالون يدعمون الكتابة إلى المخزن المؤقت لوحدة التحكم مباشرة مع تعليمات MOV. تضمين التغريدة

في الوقت الحالي أعتقد أن الأمر لا يستحق ذلك.

أعتقد أن الأمر يستحق ذلك. أرغب حقًا في الحصول على الجيب لصنع بعض مقاطع الفيديو في Git Bash لنظام التشغيل Windows.

لدي فقط الكثير من الأشياء لأعرضها. :)

أنا أتابع باهتمام موضوع هذا الموضوع. آمل أن يتم التوصل إلى حل في المستقبل لدعم استخدام Asciinema على CMD و PowerShell و Git Bash في Window (بدون WSL).

في غضون ذلك ، أسقط بعض الروابط إلى الموارد التي وجدتها قد تساعد في هذا الاتجاه:

يفوز

winpty عبارة عن حزمة برامج Windows توفر واجهة مشابهة لـ Unix pty-master للتواصل مع برامج وحدة تحكم Windows. تتكون الحزمة من مكتبة (libwinpty) وأداة لـ Cygwin و MSYS لتشغيل برامج وحدة تحكم Windows في Cygwin / MSYS pty.

ملاحظة : يتم استخدام winpty بواسطة مكتبة node-pty أدناه.

عقدة-بي تي واي

ارتباطات forkpty(3) لـ node.js. يتيح لك هذا تفرع العمليات باستخدام واصفات الملفات شبه النهائية. تقوم بإرجاع كائن طرفي يسمح بالقراءة والكتابة.

هذا مفيد لـ:

  • كتابة محاكي طرفي (على سبيل المثال عبر xterm.js).
  • جعل برامج معينة تعتقد أنك محطة طرفية ، مثل عندما تحتاج إلى برنامج لإرسال تسلسلات التحكم إليك.

node-pty يدعم Linux و macOS و Windows. دعم Windows ممكن من خلال استخدام مكتبة winpty .

tajmone شكرا لملخص الخيارات الممكنة. لا أعتقد أننا سنكون قادرين على استخدام node-pty ، حيث أن asciinema مكتوب بلغة Python.

لست على دراية كبيرة بـ WSL - هل هذا جزء من Win10 ، أم أنه يجب تثبيته بشكل منفصل؟

لست على دراية كبيرة بـ WSL - هل هذا جزء من Win10 ، أم أنه يجب تثبيته بشكل منفصل؟

أنا أيضًا ... ولكن مما قرأته ، يمكن تثبيت WSL اختياريًا في Win 10 ، وسيقوم بعد ذلك بتثبيت أجزاء من توزيعة Ubuntu فعلية. نظرًا لأن لدي بالفعل Git Bash لنظام التشغيل Windows ، والذي يقدم لي كل ما أحتاجه الآن ، فأنا أفضل عدم تثبيته حتى أعرف المزيد عنه - WSL تقدم بالتأكيد أدوات أكثر من مجرد Git Bash ، ولها نطاق أوسع ؛ لكن أعتقد أنه يشغل مساحة أكبر أيضًا.

tajmoneandkirby متأخر قليلًا ، ولكن يمكنك تعيين قذائف مختلفة باستخدام شوكة مات باستخدام COMSPEC=cmd ، COMSPEC=bash أو COMSPEC=powershell . IMHO ، سيكون COMSPEC هو متغير windows المناسب لتعيين هذا النوع من الوظائف. نواتج المثال أدناه:

كمد:
https://asciinema.org/a/r0UNULw8K5r0HV35kTLOatAbX

WSL Bash (تم إطلاقه من داخل المحطة القياسية):
https://asciinema.org/a/XtLu8rh65uFekim1VbWamNcmh

بوويرشيل:
https://asciinema.org/a/HttJNKCwM9Tb1NlVP5PFy6Ftx

أنا شخصياً أعتقد أنه يعمل بشكل جيد ...

شكرا جزيلا fquinner ! قرأت هنا وهناك عن شوكة مات ولكن لم أدرك أنها وصلت إلى مثل هذه الحالة التشغيلية. الروابط التي قدمتها أوضحت الموقف.

سوف ننظر في ذلك بالتأكيد!

So asciinema ، لم يعمل على Windows cmd ، أليس كذلك؟

أحد الخيارات الأخرى هو فتح المشكلة في https://github.com/Microsoft/console لإضافة واجهة برمجة تطبيقات متوافقة مع pty إلى cmd. فريق هندسة Microsoft Windows Console مثل bitcrazed موجود على Github للاستماع إليك.

ماذا قال joelhandwell :) شكرًا لاقتراح Joe هذا ، ونتطلع إلى الاستماع إليكم جميعًا في الريبو أعلاه ؛)

giphy

bitcrazed لقد تقدمت وحاول أن أحدث مشكلة ولكن بالفعل أرسل @ be5invis https://github.com/Microsoft/console/issues/57 ! من المأمول أن يعطي الأشخاص في هذه المشكلة الكثير من لهذه المشكلة ويلتقطوا المزيد من انتباه Microsoft.

إذا كنت لا تريد الحل البديل أو الاختراقات ، فيمكن استخدام go-winpty لهذا الغرض.

https://github.com/iamacarpet/go-winpty

https://asciinema.org/a/r0UNULw8K5r0HV35kTLOatAbX

https://asciinema.org/a/HttJNKCwM9Tb1NlVP5PFy6Ftx

fquinner ، أنا آسف ، هل يمكنك الكتابة بالتفصيل ، كيف تسجل مقاطع الفيديو هذه؟

أحاول تثبيت وتشغيل mattn fork على Windows ، لكنني لا أفهم كيف يمكنني إصلاح خطأ No module named 'termios' .

شكرا.

حاول البناء كما يلي:

mkdir \path\to\your\gopath\src\github.com\mattn
cd \path\to\your\gopath\src\github.com\mattn
git clone https://github.com/mattn/asciinema
cd asciinema
git checkout windows
go build

@ ماتن ،

D:\>go version
go version go1.10 windows/amd64

D:\>go get -d github.com/mattn/asciinema
package github.com/asciinema/asciinema/Godeps/_workspace/src/github.com/docopt/docopt-go: cannot find package "github.com/asciinema/asciinema/Godeps/_workspace/src/github.com/docopt/docopt-go" in any of:
        C:\tools\go\src\github.com\asciinema\asciinema\Godeps\_workspace\src\github.com\docopt\docopt-go (from $GOROOT)
        C:\Users\SashaChernykh\go\src\github.com\asciinema\asciinema\Godeps\_workspace\src\github.com\docopt\docopt-go (from $GOPATH)
package github.com/asciinema/asciinema/api: cannot find package "github.com/asciinema/asciinema/api" in any of:
        C:\tools\go\src\github.com\asciinema\asciinema\api (from $GOROOT)
        C:\Users\SashaChernykh\go\src\github.com\asciinema\asciinema\api (from $GOPATH)
package github.com/asciinema/asciinema/commands: cannot find package "github.com/asciinema/asciinema/commands" in any of:
        C:\tools\go\src\github.com\asciinema\asciinema\commands (from $GOROOT)
        C:\Users\SashaChernykh\go\src\github.com\asciinema\asciinema\commands (from $GOPATH)
package github.com/asciinema/asciinema/util: cannot find package "github.com/asciinema/asciinema/util" in any of:
        C:\tools\go\src\github.com\asciinema\asciinema\util (from $GOROOT)
        C:\Users\SashaChernykh\go\src\github.com\asciinema\asciinema\util (from $GOPATH)

شكرا.

آسف ، لقد كان خطأي. يرجى المحاولة مرة أخرى على النحو الوارد أعلاه.

@ ماتن ،

  1. هل يمكنك جعل تثبيت الإصدار الخاص بك أكثر بساطة؟ على سبيل المثال ، pip install asciinemawindows .
  2. ما زلت لا أستطيع تثبيت إصدار Asciinema الخاص بك (نعم ، لقد قمت بتعيين Gopath ):
D:\go\src\github.com\mattn\asciinema>go build
main.go:11:2: cannot find package "github.com/asciinema/asciinema/Godeps/_workspace/src/github.com/docopt/docopt-go" in any of:
        C:\tools\go\src\github.com\asciinema\asciinema\Godeps\_workspace\src\github.com\docopt\docopt-go (from $GOROOT)
        D:\go\src\github.com\asciinema\asciinema\Godeps\_workspace\src\github.com\docopt\docopt-go (from $GOPATH)
main.go:12:2: cannot find package "github.com/asciinema/asciinema/api" in any of:
        C:\tools\go\src\github.com\asciinema\asciinema\api (from $GOROOT)
        D:\go\src\github.com\asciinema\asciinema\api (from $GOPATH)
main.go:13:2: cannot find package "github.com/asciinema/asciinema/commands" in any of:
        C:\tools\go\src\github.com\asciinema\asciinema\commands (from $GOROOT)
        D:\go\src\github.com\asciinema\asciinema\commands (from $GOPATH)
main.go:14:2: cannot find package "github.com/asciinema/asciinema/util" in any of:
        C:\tools\go\src\github.com\asciinema\asciinema\util (from $GOROOT)
        D:\go\src\github.com\asciinema\asciinema\util (from $GOPATH)
main.go:15:2: cannot find package "github.com/mattn/go-colorable" in any of:
        C:\tools\go\src\github.com\mattn\go-colorable (from $GOROOT)
        D:\go\src\github.com\mattn\go-colorable (from $GOPATH)

شكرا.

يرجى نقل المناقشة حول مشكلات تثبيت شوكة mattn إلى repo الخاص بـ mattn. شكرا! ؛)

إذا كنت ترغب في مناقشة دعم Windows بشكل عام ، فيرجى استخدام منتدى مناقشة asciinema: https://discourse.asciinema.org/

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

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

lebinh picture lebinh  ·  3تعليقات

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

laughedelic picture laughedelic  ·  7تعليقات

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

ThomasWaldmann picture ThomasWaldmann  ·  3تعليقات