وحدة تحكم Windows هي محطة ANSI (ملتوية) ، مرتبطة خلف واجهة برمجة تطبيقات Windows Console. بافتراض إمكانية عمل مسجل ، يجب أن يكون تنسيق ملف asciicast الحالي قادرًا على تمثيل أي شيء تقريبًا يمكن أن يفعله تطبيق Windows Console. يجب أن يكون التسجيل الناتج قابلاً للتشغيل مثل أي تسجيل آخر.
الحيلة الصعبة هي التسجيل. هل فكر أي شخص أو بذل أي جهد في بناء مثل هذا المسجل لوحدة تحكم Windows؟
هل سيكون منفذ ASCIINEMA لنظام التشغيل Windows ممكنًا؟
تقوم 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.
@ ماتن قف! بالتأكيد ، لدي فضول لمعرفة كيف تم تحقيق ذلك.
لأي شخص مهتم بالتسجيل على 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 للأسباب التالية:
في الوقت الحالي أعتقد أن الأمر لا يستحق ذلك.
يتم تثبيت Asiinema ويعمل بشكل جيد مع Win10 (WSL): https://asciinema.org/a/123255
يحتاج تسجيل محطات Windows حقًا إلى اختراق ، AFAIK لا يزالون يدعمون الكتابة إلى المخزن المؤقت لوحدة التحكم مباشرة مع تعليمات MOV. تضمين التغريدة
في الوقت الحالي أعتقد أن الأمر لا يستحق ذلك.
أعتقد أن الأمر يستحق ذلك. أرغب حقًا في الحصول على الجيب لصنع بعض مقاطع الفيديو في Git Bash لنظام التشغيل Windows.
لدي فقط الكثير من الأشياء لأعرضها. :)
andkirby https://github.com/asciinema/asciinema/issues/150#issuecomment -305995768
أنا أتابع باهتمام موضوع هذا الموضوع. آمل أن يتم التوصل إلى حل في المستقبل لدعم استخدام 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. يتيح لك هذا تفرع العمليات باستخدام واصفات الملفات شبه النهائية. تقوم بإرجاع كائن طرفي يسمح بالقراءة والكتابة.
هذا مفيد لـ:
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 هذا ، ونتطلع إلى الاستماع إليكم جميعًا في الريبو أعلاه ؛)
bitcrazed لقد تقدمت وحاول أن أحدث مشكلة ولكن بالفعل أرسل @ be5invis https://github.com/Microsoft/console/issues/57 ! من المأمول أن يعطي الأشخاص في هذه المشكلة الكثير من لهذه المشكلة ويلتقطوا المزيد من انتباه Microsoft.
إذا كنت لا تريد الحل البديل أو الاختراقات ، فيمكن استخدام go-winpty لهذا الغرض.
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)
شكرا.
آسف ، لقد كان خطأي. يرجى المحاولة مرة أخرى على النحو الوارد أعلاه.
@ ماتن ،
pip install asciinemawindows
.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/
التعليق الأكثر فائدة
لأي شخص مهتم بالتسجيل على Windows ، لدى mattn فرع تجريبي هنا: https://github.com/mattn/asciinema/tree/windows