Asciinema: Dukungan Windows?

Dibuat pada 3 Mar 2016  ·  31Komentar  ·  Sumber: asciinema/asciinema

Konsol Windows adalah terminal ANSI (aneh), terikat di belakang Windows Console API. Dengan asumsi perekam dapat dibuat, format file asciicast yang ada harus mampu mewakili hampir semua hal yang dapat dilakukan oleh aplikasi Konsol Windows. Rekaman yang dihasilkan harus dapat diputar seperti yang lainnya.

Trik yang sulit adalah rekamannya. Adakah yang pernah berpikir atau berusaha membuat perekam seperti itu untuk konsol Windows?

Apakah port asciinema ke Windows dimungkinkan?

feature request packaging

Komentar yang paling membantu

Bagi siapa pun yang tertarik merekam di Windows, @mattn memiliki cabang eksperimental di sini: https://github.com/mattn/asciinema/tree/windows

Semua 31 komentar

asciinema mencatat output stdout mentah dari proses anak (Shell secara default). Itu tidak "menangkap" konten layar dengan cara apa pun. Ini menangkap apa yang dicetak (termasuk semua urutan escape/control) dan melakukannya menggunakan terminal-semu (pty).

Sejauh ini saya tidak menemukan terminal Windows yang mendukung pty tetapi baru-baru ini saya menemukan http://babun.github.io . Halaman tersebut mengatakan: Mintty is the console used in babun.

Halaman Mintty ( https://mintty.github.io ) mengatakan: Similarly to other Cygwin/MSYS terminals based on pseudo terminal ("pty") devices (...) , namun ada utas diskusi panjang tentang masalah terkait: https://github.com/mintty/mintty/issues/56

Jika seseorang menemukan cara untuk menggunakan pty di Windows (atau sesuatu yang memalsukan pty tetapi memberi kami aliran stdout mentah) maka kami dapat mendekati asciinema-on-windows.

Apakah Anda tertarik dengan dukungan cmd asli?

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

Tapi saat ini eksperimental.

@mattn wah! Tentu, saya ingin tahu bagaimana ini dicapai.

Bagi siapa pun yang tertarik merekam di Windows, @mattn memiliki cabang eksperimental di sini: https://github.com/mattn/asciinema/tree/windows

Hai! Mungkin proyek ini berguna? https://github.com/adoxa/ansicon

Teman-teman, bisakah saya menggunakan alat ini di git bash untuk Windows?
Yaitu di MinGW . Atau di Babun...

Saya baru saja menginstal garpu dari https://github.com/mattn/asciinema/tree/windows tetapi menjalankan cmd.exe .

@andkirby Saya mendengarnya bekerja di bash di bawah Windows tetapi belum mencobanya sendiri.

Rumor... :) Terima kasih.)

@sickill Apakah ini ditutup karena digabungkan atau karena Anda tidak berencana untuk mendukungnya?

@masaeedu Terima kasih atas minat Anda.

Saya tidak berencana untuk mendukung Windows karena:

  • solusi paling mirip pty untuk Windows adalah peretasan
  • Saya tidak menggunakan Windows dan sebagai pengembang asciinema utama saya tidak ingin mempertahankannya

Saat ini saya percaya itu tidak layak.

asciinema menginstal dan berfungsi dengan baik di bawah Win10 (WSL): https://asciinema.org/a/123255

Merekam terminal Windows benar-benar membutuhkan peretasan, AFAIK mereka masih mendukung untuk menulis ke buffer konsol secara langsung dengan instruksi MOV. @miniksa

Saat ini saya percaya itu tidak layak.

Saya kira, itu layak. Saya sangat ingin memilikinya saku untuk membuat beberapa video di Git Bash untuk Windows.

Saya hanya punya banyak hal untuk ditunjukkan. :)

Saya mengikuti dengan minat utas tentang Masalah ini. Saya berharap bahwa di masa mendatang solusi dapat muncul untuk mendukung penggunaan Asciinema pada CMD Window, PowerShell dan Git Bash (tanpa WSL).

Sementara itu saya menjatuhkan beberapa tautan ke sumber daya yang saya temukan yang mungkin membantu ke arah itu:

winpty

winpty adalah paket perangkat lunak Windows yang menyediakan antarmuka yang mirip dengan pty-master Unix untuk berkomunikasi dengan program konsol Windows. Paket ini terdiri dari perpustakaan (libwinpty) dan alat untuk Cygwin dan MSYS untuk menjalankan program konsol Windows di pty Cygwin/MSYS.

CATATAN : winpty digunakan oleh perpustakaan node-pty di bawah ini.

simpul-pty

forkpty(3) binding untuk node.js. Ini memungkinkan Anda untuk melakukan fork proses dengan deskriptor file pseudoterminal. Ini mengembalikan objek terminal yang memungkinkan membaca dan menulis.

Ini berguna untuk:

  • Menulis emulator terminal (mis. via xterm.js).
  • Membuat program tertentu mengira Anda adalah terminal, seperti saat Anda membutuhkan program untuk mengirimi Anda urutan kontrol.

node-pty mendukung Linux, macOS dan Windows. Dukungan Windows dimungkinkan dengan memanfaatkan perpustakaan winpty .

@tajmone terima kasih atas ringkasan opsi yang memungkinkan. Saya tidak berpikir kita akan dapat menggunakan node-pty, karena asciinema ditulis dengan Python.

Saya tidak begitu akrab dengan WSL - apakah ini bagian dari Win10, atau ini perlu diinstal secara terpisah?

Saya tidak begitu akrab dengan WSL - apakah ini bagian dari Win10, atau ini perlu diinstal secara terpisah?

Saya juga tidak ... tetapi dari apa yang saya baca, WSL dapat diinstal secara opsional di Win 10, dan kemudian akan menginstal bagian-bagian dari distro Ubuntu yang sebenarnya. Karena saya sudah memiliki Git Bash untuk Windows, yang menawarkan semua yang saya butuhkan saat ini, saya lebih suka tidak menginstalnya sampai saya tahu lebih banyak tentangnya — WSL pasti menawarkan lebih banyak alat daripada hanya Git Bash, dan memiliki cakupan yang lebih luas; tapi saya kira itu juga memakan lebih banyak ruang.

@tajmone @andkirby Sedikit terlambat, tetapi Anda dapat mengatur shell yang berbeda dengan garpu Matt menggunakan COMSPEC=cmd , COMSPEC=bash atau COMSPEC=powershell . IMHO, COMSPEC akan menjadi variabel windows yang tepat untuk diatur untuk fungsi semacam ini. Contoh output di bawah ini:

cmd:
https://asciinema.org/a/r0UNULw8K5r0HV35kTLOatAbX

WSL Bash (diluncurkan dari dalam terminal standar):
https://asciinema.org/a/XtLu8rh65uFekim1VbWamNcmh

Powershell:
https://asciinema.org/a/HttJNKCwM9Tb1NlVP5PFy6Ftx

Secara pribadi saya pikir itu bekerja dengan sangat baik ...

Terima kasih banyak @fquinner ! Saya telah membaca di sana-sini tentang garpu Matt tetapi tidak menyadari bahwa itu telah mencapai status operasi seperti itu. Tautan yang Anda berikan memperjelas situasinya.

Saya pasti akan memeriksanya!

Jadi asciinema, tidak berjalan di Windows cmd, kan?

Salah satu opsi lain adalah membuka masalah di https://github.com/Microsoft/console untuk menambahkan API yang kompatibel dengan pty ke cmd. Tim teknik Konsol Microsoft Windows seperti @bitcrazed ada di Github untuk mendengarkan Anda.

Apa yang dikatakan @joelhandwell :) Terima kasih telah menyarankan Joe ini, dan nantikan kabar dari kalian semua tentang repo di atas ;)

giphy

@bitcrazed Saya melanjutkan dan mencoba membuat masalah tetapi @be5invis sudah mengirimkan https://github.com/Microsoft/console/issues/57 ! Orang-orang dalam masalah ini mudah-mudahan memberikan banyak 👍 untuk masalah ini dan menarik lebih banyak perhatian Microsoft.

Jika Anda tidak ingin solusi atau peretasan, go-winpty dapat digunakan untuk ini.

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

https://asciinema.org/a/r0UNULw8K5r0HV35kTLOatAbX

https://asciinema.org/a/HttJNKCwM9Tb1NlVP5PFy6Ftx

@fquinner , maaf, bisakah Anda menulis secara detail, bagaimana Anda merekam video ini?

Saya mencoba menginstal dan menjalankan @mattn fork di Windows, tetapi saya tidak mengerti, bagaimana saya bisa memperbaiki kesalahan No module named 'termios' .

Terima kasih.

Coba buat seperti di bawah ini:

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

@mattn ,

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)

Terima kasih.

Maaf, itu adalah kesalahan saya. Silakan coba lagi seperti di atas.

@mattn ,

  1. Bisakah Anda membuat penginstalan versi Anda lebih sederhana? Misalnya, pip install asciinemawindows .
  2. Saya masih tidak dapat menginstal versi asciinema Anda (ya, saya mengatur 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)

Terima kasih.

Silakan pindahkan diskusi tentang masalah pemasangan garpu mattn ke repo mattn. Terima kasih! ;)

Jika Anda ingin mendiskusikan dukungan Windows secara umum, silakan gunakan forum diskusi asciinema: https://discourse.asciinema.org/

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

karelbilek picture karelbilek  ·  9Komentar

Bux42 picture Bux42  ·  9Komentar

redaxmedia picture redaxmedia  ·  3Komentar

Edo78 picture Edo78  ·  5Komentar

omaraboumrad picture omaraboumrad  ·  10Komentar