ํฐ ํฐ๋ฏธ๋ ์ฐฝ์์ asciinema๋ฅผ ์์ํ ๋ค์ (๋ นํ ์ค) ์ฐฝ ํฌ๊ธฐ๋ฅผ ๋ ์๊ฒ ์กฐ์ ํ๋ฉด ๋น๋์ค๊ฐ ๋ชจ๋ ์๋ชป ๋์ต๋๋ค.
ํฅ๋ฏธ๋กญ๊ฒ๋ ๊ทธ ๋ฐ๋์ ๋ฐฉ์์ผ๋ก ์ ์ด์๋จ์ต๋๋ค.
์ด ์์์ ๋๋ sl
- ๋ด๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ํ๋ก๊ทธ๋จ -์ ํฐ ํฐ๋ฏธ๋ ์ฐฝ์์ ์คํํ ๋ค์ ์ฐฝ์ ํฌ๊ธฐ๋ฅผ ์์ ์ฐฝ์ผ๋ก ์กฐ์ ํ๊ณ (์ฆ, "์ด์ํ ์ผ์ ์ค์ง" - ์ฐฝ ํฌ๊ธฐ ์กฐ์ ) sl
์คํํฉ๋๋ค sl
. ๋ ๋ฒ์งธ ์คํ์ ๊ด์ฐฎ์ ๋ณด์ด์ง๋ง ์ฒซ ๋ฒ์งธ ์คํ์ ์๋ง์
๋๋ค.
https://asciinema.org/a/5wvarzb4545pohhfqnj8g9fta
์ค๋ช ์ ์ํด ์ด๊ฒ์ ๋ฐ๋์ ์์ ๋๋ค. ์๊ฒ ์์ํ ๋ค์ ํฌ๊ฒ ์กฐ์ ํฉ๋๋ค. ๋ ์คํ ๋ชจ๋ ์ ์๋ํฉ๋๋ค.
asciinema๋ ํ๋ฉด์ ๊ธฐ๋กํ์ง ์๊ณ stdout ์คํธ๋ฆผ์ ๊ธฐ๋กํฉ๋๋ค. ๋ํ ๊ธฐ๋ก ์ธ์
์ด ๋๋ ๋ ํ์ฌ ํฐ๋ฏธ๋ ์น์ sl
)์ ์ค์ ํฐ๋ฏธ๋ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. ์ฃผ์ด์ง ์์ ์์ ํ์ฌ ํฐ๋ฏธ๋ ๋๋น/๋์ด์ ์ ํฉํ ์ด์ค์ผ์ดํ ์ํ์ค๋ฅผ ์์ฑํฉ๋๋ค. asciinema ํ๋ ์ด์ด๋ ์ค์ ๋ก ๊ธฐ๋ก๋ stdout์ ํด์/์คํํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ด์ค์ผ์ดํ ์ํ์ค๋ ํ์ฌ asciinema ํฐ๋ฏธ๋ ํฌ๊ธฐ์ ๋ํด ์คํ๋ฉ๋๋ค.
๋ค์ ๋งํด, ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด asciinema๋ ํฐ๋ฏธ๋ ํฌ๊ธฐ ์กฐ์ ์ด๋ฒคํธ๋ฅผ ์ ์ฅํ ๋ค์(์ด๋ฅผ ์ํํ ์ ์์) ์ฌ์ํ๋ ๋์ ์์ฒด "ํฐ๋ฏธ๋" ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ํ๋ ์ด์ด ์์ฒด์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ์์ธ์ด ๋๋ฉฐ, ์ด๋ ์ฌ๋ฏธ์์ด ๋ณด์ด๊ณ (asciinema.org์์ ์ฌ์ํ ๋) ๋น์ค์ฉ์ ์ ๋๋ค(์ฌ์ดํธ์ ํฌํจ๋ ๋).
๋๋ ์ด๋ ค์์ ์ดํดํ๊ณ ๋น์ ์ด ๊ทธ๊ฒ์ ๊ณ ์น๊ณ ์ถ์ง ์๋ค๋ฉด ๋น์ ์๊ฒ ์๋ฆฌ๊ณ ์ถ์๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
ํ๋ ์ด์ด๋ฅผ ๋ชจ๋ ๋๋น์ ์ต๋ ๋๋น์ ๋ชจ๋ ๋์ด์ ์ต๋ ๋์ด๋ก ๋ง๋ค์ด ํด๊ฒฐํ ์ ์์ผ๋ฉฐ ํ ์คํธ๋ ์ผ์ชฝ ์๋จ์ ์์ ์ ์์ต๋๋ค. ์์ ํฐ๋ฏธ๋๋ก ์์ํ์ฌ ํฐ ํฐ๋ฏธ๋๋ก ๋๋๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ๋๋ค. . ๊ทธ๋๋ ๊ณ ์น ๊ฐ์น๊ฐ ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค :)
์์ ํ๊ณ ์ถ์ง ์๋ค๋ ๊ฒ์ ์๋์ง๋ง ์ฌ๊ธฐ์๋ ๋ ๋ง์ ๋ฏธ๋ฌํจ์ด ์์ต๋๋ค. ์ด์จ๋ ์ด๊ฒ์ ์ผ์ข ์ ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ์ด๋ฉฐ ๊ณ ์น ๊ฐ์น๊ฐ ์๋์ง ํ์ ํ ์ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ์ด์ด๋๊ณ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ ๋ชจ๋ ์ผ์ ์์ ์ ๊ธฐ๋กํ๊ธฐ ์ํด asciinema๋ฅผ ์ผ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ ๊ธ์งํ์ฌ ํฐ๋ฏธ๋ ์ฐฝ์ ์ ๋ ์ถ์ํ์ง ์๋ ์ง์ฆ๋๋ ์ ํ์ ๋ง๋ญ๋๋ค.
์ฐจ์์ ๋ํ ์ ์ฐ์ฑ์ด ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋๋ ๋น๋์ค๋ฅผ ๋
นํํ๊ณ ( here ) ์ด์ํ ์น์๋ก ๋์์ต๋๋ค. ์ฆ, ํฌํจ ๋ ๋น๋์ค๊ฐ ํ์ด์ง ๋์ด๋ณด๋ค ๋ ๋ง์ด ๊ฑธ๋ ธ์ต๋๋ค. ์ด์ ๋ค์ ๋
น์ํ๋ ๊ฒ ์ธ์๋ ์ ํ์ ์ฌ์ง๊ฐ ์์ต๋๋ค.
๋๋ .json
์์ ๋๋น์ ๋์ด๋ฅผ ๋ณ๊ฒฝํ๋ ค๊ณ ์๋ํ์ง๋ง ๊ฒน์น๊ธฐ ๋๋ฌธ์ ๋ฌผ๋ก ์ ์๋ํ์ง ์์์ต๋๋ค ( this )
์ถ์ ๋น๋ก ์ด๊ฒ์ด ์์ ๋ ผ์์ ์ฃผ์ ์์ ๋ฒ์ด๋ฌ์ง๋ง, ์ด๊ฒ์ด ๋ด๊ฐ ์ด๊ฒ๊ณผ ๊ด๋ จํ์ฌ ์ฐพ์ ์ ์๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฌธ์ ์์ต๋๋ค.
@xloem @mukkachaitanya ์ ๋ ์๋ก์ด ๋ น์ ํ์์ ๋์์ธ ์ค์ ๋๋ค(https://github.com/asciinema/asciinema/pull/196). "ํฐ๋ฏธ๋ ํฌ๊ธฐ ์กฐ์ " ์ด๋ฒคํธ๋ฅผ ์ง์ํ๋๋ก ๋ง๋ค ์๋ ์์ต๋๋ค.
ํฐ๋ฏธ๋ ํ๋์ "๋ฐฑ์ "ํ๋ ค๋ฉด ์ผ๋ถ ์ ํธ๋ฆฌํฐ๊ฐ ํ์ํฉ๋๋ค. ๋ฌผ๋ก ํฐ๋ฏธ๋ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋๋ผ๋ ์ด ์ ํธ๋ฆฌํฐ๋ "๊ทธ๋ฅ ์๋"ํด์ผ ํฉ๋๋ค. ๊ธฐ๋ฅ์ ์ง์ํ๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด ์์ต๋๊น?
ํฐ๋ฏธ๋ ํฌ๊ธฐ ์กฐ์ ์ด๋ฒคํธ๋ฅผ ์บก์ฒํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํด ์ฃผ์๊ฒ ์ต๋๊น? ์ค์๊ฐ asciicast๋ฅผ ์ํด ์์ ์ค์ธ ๋ถ๊ธฐ์์ ์ ๋ง ์ ์ฉํ ๊ฒ์ ๋๋ค(๋ น์ ์ค ํฌ๊ธฐ ์กฐ์ ์ผ์ด์ค๋ ํ์คํฉ๋๋ค).
@jiangts ๋ ๋ ์ฝ๋๊ฐ ํฐ๋ฏธ๋ ํฌ๊ธฐ ์กฐ์ (SIGWINCH ์ ํธ)์ ์ฒ๋ฆฌํ๋ ๊ณณ์ ๋๋ค. https://github.com/asciinema/asciinema/blob/develop/asciinema/pty_recorder.py#L108
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๋ฌธ์ ๋ ๋ชจ๋ ์ผ์ ์์ ์ ๊ธฐ๋กํ๊ธฐ ์ํด asciinema๋ฅผ ์ผ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ ๊ธ์งํ์ฌ ํฐ๋ฏธ๋ ์ฐฝ์ ์ ๋ ์ถ์ํ์ง ์๋ ์ง์ฆ๋๋ ์ ํ์ ๋ง๋ญ๋๋ค.