Asciinema: ์œˆ๋„์šฐ ์ง€์›?

์— ๋งŒ๋“  2016๋…„ 03์›” 03์ผ  ยท  31์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: asciinema/asciinema

Windows ์ฝ˜์†”์€ Windows ์ฝ˜์†” API ๋’ค์— ๋ฌถ์ธ (๊ธฐ๋ฐœํ•œ) ANSI ํ„ฐ๋ฏธ๋„์ž…๋‹ˆ๋‹ค. ๋ ˆ์ฝ”๋”๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ๊ธฐ์กด์˜ asciicast ํŒŒ์ผ ํ˜•์‹์€ Windows ์ฝ˜์†” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ๋…น์Œ์€ ๋‹ค๋ฅธ ๋…น์Œ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์žฌ์ƒํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์–ด๋ ค์šด ํŠธ๋ฆญ์€ ๋…น์Œ์ž…๋‹ˆ๋‹ค. Windows ์ฝ˜์†”์šฉ์œผ๋กœ ๊ทธ๋Ÿฌํ•œ ๋ ˆ์ฝ”๋”๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๊ฐ์ด๋‚˜ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์ธ ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

asciinema๋ฅผ Windows๋กœ ์ด์‹ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๊นŒ?

feature request packaging

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

Windows์—์„œ ๋…น์Œํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด @mattn ์— ์‹คํ—˜ ๋ถ„๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/mattn/asciinema/tree/windows

๋ชจ๋“  31 ๋Œ“๊ธ€

asciinema๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค(๊ธฐ๋ณธ์ ์œผ๋กœ ์…ธ)์˜ ์›์‹œ stdout ์ถœ๋ ฅ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์‹์œผ๋กœ๋“  ํ™”๋ฉด ๋‚ด์šฉ์„ "์บก์ฒ˜"ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ธ์‡„๋˜๋Š” ๋‚ด์šฉ(๋ชจ๋“  ์ด์Šค์ผ€์ดํ”„/์ œ์–ด ์‹œํ€€์Šค ํฌํ•จ)์„ ์บก์ฒ˜ํ•˜๊ณ  ์˜์‚ฌ ํ„ฐ๋ฏธ๋„(pty)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ pty๋ฅผ ์ง€์›ํ•˜๋Š” Windows ํ„ฐ๋ฏธ๋„์„ ์ฐพ์ง€ ๋ชปํ–ˆ์ง€๋งŒ ์ตœ๊ทผ์— 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

๋ˆ„๊ตฐ๊ฐ€ Windows์—์„œ pty๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ๋ฉด(๋˜๋Š” pty๋ฅผ ๊ฐ€์žฅํ•˜์ง€๋งŒ ์›์‹œ stdout ์ŠคํŠธ๋ฆผ์„ ์ œ๊ณตํ•˜๋Š”) asciinema-on-windows์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ cmd ์ง€์›์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

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

๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ ์‹คํ—˜์ ์ž…๋‹ˆ๋‹ค.

@mattn ์™€ ! ๋ฌผ๋ก  ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ๋‹ฌ์„ฑ๋˜์—ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

Windows์—์„œ ๋…น์Œํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด @mattn ์— ์‹คํ—˜ ๋ถ„๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/mattn/asciinema/tree/windows

์•ˆ๋…•! ์•„๋งˆ๋„ ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ์œ ์šฉํ• ๊นŒ์š”? https://github.com/adoxa/ansicon

์—ฌ๋Ÿฌ๋ถ„, Windows์šฉ git bash์—์„œ ์ด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์ฆ‰ MinGW . ์•„๋‹ˆ๋ฉด ๋ฐ”๋ถ„์—์„œ...

๋ฐฉ๊ธˆ https://github.com/mattn/asciinema/tree/windows ์—์„œ ํฌํฌ๋ฅผ ์„ค์น˜ํ–ˆ์ง€๋งŒ cmd.exe ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

@andkirby Windows์˜ bash์—์„œ ์ž‘๋™ํ•œ๋‹ค๊ณ  ๋“ค์—ˆ์ง€๋งŒ ์ง์ ‘ ์‹œ๋„ํ•˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์†Œ๋ฌธ์ด... :) ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.)

@sickill ๋ณ‘ํ•ฉ๋˜์—ˆ๊ฑฐ๋‚˜ ์ง€์›ํ•  ๊ณ„ํš์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‹ซํ˜”์Šต๋‹ˆ๊นŒ?

@masaeedu ๊ด€์‹ฌ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ Windows๋ฅผ ์ง€์›ํ•  ๊ณ„ํš์ด ์—†์Šต๋‹ˆ๋‹ค.

  • ๋Œ€๋ถ€๋ถ„์˜ Windows์šฉ pty ์œ ์‚ฌ ์†”๋ฃจ์…˜์€ ํ•ดํ‚น์ž…๋‹ˆ๋‹ค.
  • Windows๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ฃผ์š” asciinema ๊ฐœ๋ฐœ์ž๋กœ์„œ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ๋กœ์„œ๋Š” ๊ทธ๋Ÿด ๊ฐ€์น˜๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

asciinema๋Š” Win10(WSL)์—์„œ ์™„๋ฒฝํ•˜๊ฒŒ ์„ค์น˜ ๋ฐ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. https://asciinema.org/a/123255

Windows ํ„ฐ๋ฏธ๋„์„ ๋…นํ™”ํ•˜๋ ค๋ฉด ์‹ค์ œ๋กœ ํ•ดํ‚น์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. AFAIK๋Š” MOV ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ˜์†” ๋ฒ„ํผ์— ์ง์ ‘ ์“ฐ๊ธฐ ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. @miniksa

ํ˜„์žฌ๋กœ์„œ๋Š” ๊ทธ๋Ÿด ๊ฐ€์น˜๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Windows์šฉ Git Bash์—์„œ ๋™์˜์ƒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ฃผ๋จธ๋‹ˆ๋ฅผ ๊ฐ–๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋‹ค๋งŒ ๋ณด์—ฌ์ค„ ๊ฒƒ์ด ๋งŽ๋‹ค. :)

์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์Šค๋ ˆ๋“œ๋ฅผ ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ํŒ”๋กœ์šฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ž˜์—๋Š” Windows์˜ CMD, PowerShell ๋ฐ Git Bash(WSL ์ œ์™ธ)์—์„œ Asciinema ์‚ฌ์šฉ์„ ์ง€์›ํ•˜๋Š” ์†”๋ฃจ์…˜์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ทธ ๋™์•ˆ ํ•ด๋‹น ๋ฐฉํ–ฅ์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋งํฌ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

์œˆํ‹ฐ

winpty๋Š” Windows ์ฝ˜์†” ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด Unix pty-master์™€ ์œ ์‚ฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” Windows ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋Š” Cygwin/MSYS pty์—์„œ Windows ์ฝ˜์†” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ Cygwin ๋ฐ MSYS์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(libwinpty)์™€ ๋„๊ตฌ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  : winpty๋Š” ์•„๋ž˜ node-pty ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋…ธ๋“œ pty

node.js์— ๋Œ€ํ•œ forkpty(3) ๋ฐ”์ธ๋”ฉ. ์ด๋ฅผ ํ†ตํ•ด ์˜์‚ฌ ํ„ฐ๋ฏธ๋„ ํŒŒ์ผ ์„ค๋ช…์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ถ„๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ํ„ฐ๋ฏธ๋„ ๊ฐœ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์ž‘์„ฑ(์˜ˆ: xterm.js๋ฅผ ํ†ตํ•ด).
  • ์ œ์–ด ์‹œํ€€์Šค๋ฅผ ๋ณด๋‚ผ ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ํŠน์ • ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ํ„ฐ๋ฏธ๋„์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

node-pty๋Š” Linux, macOS ๋ฐ Windows๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. winpty ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ Windows ์ง€์›์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

@tajmone ๊ฐ€๋Šฅํ•œ ์˜ต์…˜ ์š”์•ฝ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. asciinema๊ฐ€ Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ node-pty๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” WSL์— ์ต์ˆ™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์ด Win10์˜ ์ผ๋ถ€์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ๋ณ„๋„๋กœ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์ €๋Š” WSL์— ์ต์ˆ™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์ด Win10์˜ ์ผ๋ถ€์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ๋ณ„๋„๋กœ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๋‚˜๋„ ...ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ์ฝ์€ ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด WSL์€ Win 10์— ์„ ํƒ์ ์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‹ค์ œ Ubuntu ๋ฐฐํฌํŒ์—์„œ ๋ถ€ํ’ˆ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋‹น์žฅ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ์ œ๊ณตํ•˜๋Š” Windows์šฉ Git Bash๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฏ€๋กœ ์ด์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ์•Œ๊ฒŒ ๋  ๋•Œ๊นŒ์ง€ ์„ค์น˜ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. WSL์€ ํ™•์‹คํžˆ Git Bash๋ณด๋‹ค ๋” ๋งŽ์€ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ๋ฒ”์œ„๊ฐ€ ๋” ๋„“์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋” ๋งŽ์€ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

@tajmone @andkirby ์กฐ๊ธˆ ๋Šฆ์—ˆ์ง€๋งŒ COMSPEC=cmd , COMSPEC=bash ๋˜๋Š” COMSPEC=powershell ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Matt์˜ ํฌํฌ๋กœ ๋‹ค๋ฅธ ์‰˜์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. IMHO, COMSPEC์€ ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์„ค์ •ํ•˜๋Š” ์˜ฌ๋ฐ”๋ฅธ Windows ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ์ถœ๋ ฅ ์˜ˆ์‹œ:

๋ช…๋ น:
https://asciinema.org/a/r0UNULw8K5r0HV35kTLOatAbX

WSL Bash(ํ‘œ์ค€ ํ„ฐ๋ฏธ๋„ ๋‚ด์—์„œ ์‹คํ–‰):
https://asciinema.org/a/XtLu8rh65uFekim1VbWamNcmh

ํŒŒ์›Œ์‰˜:
https://asciinema.org/a/HttJNKCwM9Tb1NlVP5PFy6Ftx

๊ฐœ์ธ์ ์œผ๋กœ ํšจ๊ณผ๊ฐ€ ์งฑ์งฑํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค...

@fquinner ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‚˜๋Š” Matt์˜ ํฌํฌ์— ๋Œ€ํ•ด ์—ฌ๊ธฐ์ €๊ธฐ์„œ ์ฝ์—ˆ์ง€๋งŒ ๊ทธ๊ฒƒ์ด ๊ทธ๋Ÿฌํ•œ ์ž‘๋™ ์ƒํƒœ์— ๋„๋‹ฌํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ท€ํ•˜๊ฐ€ ์ œ๊ณตํ•œ ๋งํฌ๋Š” ์ƒํ™ฉ์„ ๋ช…ํ™•ํžˆ ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ™•์‹คํžˆ ์กฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

๊ทธ๋ž˜์„œ asciinema๋Š” Windows cmd์—์„œ ์‹คํ–‰๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ?

๋‹ค๋ฅธ ์˜ต์…˜์€ https://github.com/Microsoft/console ์—์„œ ๋ฌธ์ œ๋ฅผ ์—ด์–ด pty ํ˜ธํ™˜ API๋ฅผ cmd์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. @bitcrazed ์™€ ๊ฐ™์€ Microsoft Windows ์ฝ˜์†” ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€์ด 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 , ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ด ๋น„๋””์˜ค๋ฅผ ์–ด๋–ป๊ฒŒ ๋…นํ™”ํ•˜๋Š”์ง€ ์ž์„ธํžˆ ์จ ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

Windows์—์„œ @mattn fork๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€๋งŒ 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

@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)

๊ฐ์‚ฌ ํ•ด์š”.

๋ฏธ์•ˆ, ๋‚ด ์‹ค์ˆ˜์˜€์–ด. ์œ„์™€ ๊ฐ™์ด ๋‹ค์‹œ ์‹œ๋„ํ•ด์ฃผ์„ธ์š”.

@mattn ,

  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์˜ ํฌํฌ ์„ค์น˜ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ† ๋ก ์„ mattn์˜ repo๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค. ๊ฐ์‚ฌ ํ•ด์š”! ;)

์ผ๋ฐ˜์ ์ธ Windows ์ง€์›์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๋ ค๋ฉด asciinema์˜ ํ† ๋ก  ํฌ๋Ÿผ์„ ์ด์šฉํ•˜์‹ญ์‹œ์˜ค: https://discourse.asciinema.org/

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰