Asciinema: рдлрд╝реАрдЪрд░ рдЕрдиреБрд░реЛрдз: рдХрд╛рд░реНрд░рд╡рд╛рдИ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рд░реЛрдХреЗрдВ" рдирд┐рдпрдВрддреНрд░рдг рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рд╕рд┐рддре░ 2018  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: asciinema/asciinema

рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп, рдХрднреА-рдХрднреА рдЖрдк рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдк рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝рд╛рдЗрд▓ _/root/.config/asciinema/config_ рдореЗрдВ рдПрдХ _idle_time_limit_ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рдЖрдкрдХреА рдЯрд░реНрдорд┐рдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╕рдордп рджреЗрд░реА рдХреЗ рд╕рдордп рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдмрдЪрд╛рдПрдЧрд╛, рдкреНрд▓реЗрдмреИрдХ 'рдкреНрд░рддреАрдХреНрд╖рд╛' рд╕рдордп рдХреЛ рдЕрдзрд┐рдХрддрдо 2 рд╕реЗрдХрдВрдб рддрдХ рдХрдо рдХрд░ рджреЗрдЧрд╛ред ) :

[record]
; Limit recorded terminal inactivity to max n seconds, default: off
idle_time_limit = 2

рдбреЙрдХреНрд╕ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рддред рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдПред + рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рдЙрдореНрдореАрдж рд╣реИ рдХреА рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛ред

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдк рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝рд╛рдЗрд▓ _/root/.config/asciinema/config_ рдореЗрдВ рдПрдХ _idle_time_limit_ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рдЖрдкрдХреА рдЯрд░реНрдорд┐рдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╕рдордп рджреЗрд░реА рдХреЗ рд╕рдордп рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдмрдЪрд╛рдПрдЧрд╛, рдкреНрд▓реЗрдмреИрдХ 'рдкреНрд░рддреАрдХреНрд╖рд╛' рд╕рдордп рдХреЛ рдЕрдзрд┐рдХрддрдо 2 рд╕реЗрдХрдВрдб рддрдХ рдХрдо рдХрд░ рджреЗрдЧрд╛ред ) :

[record]
; Limit recorded terminal inactivity to max n seconds, default: off
idle_time_limit = 2

рдбреЙрдХреНрд╕ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рддред рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдПред + рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рдЙрдореНрдореАрдж рд╣реИ рдХреА рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛ред

@just4t рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рддрдм рдирд╣реАрдВ рдЬрдм рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рднрд╛рдЧреЛрдВ рдореЗрдВ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рдореБрджреНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рдмреВрдЯрд┐рдВрдЧ)ред

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИред рд╣рдо рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреЙрдЬрд╝/рдЕрдирдкреЙрдЬрд╝ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: <ctrl-p> рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗред

рд╢рд╛рдпрдж рдХреБрдЫ рд╕рдВрдХреЗрддрдХ/рдкреБрд╖реНрдЯрд┐ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░реЛрдХрд╛/рд░реЛрдХрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдЖрдк рдХрднреА рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕рдХреА рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд░рд┐рдХреЙрд░реНрдбрд░ рдХрд┐рд╕реА рдлрд╛рдЗрд▓ рдореЗрдВ рдкреНрд▓реЗ/рдкреЙрдЬ рд╕реНрдерд┐рддрд┐ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдЯреИрдм рдореЗрдВ watch -n 1 cat that_file.txt рдЬреИрд╕реЗ рдХреБрдЫ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рд▓реЗрдХрд┐рди рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдереЛрдбрд╝реЗ рдмрджрд╕реВрд░рдд рд▓рдЧрддрд╛ рд╣реИ ...

рд╢рд╛рдпрдж рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкреЛрд╕реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

  • рд╡рд┐рд╢реЗрд╖ "рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ" рдореЛрдб рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЪрд▓рд╛рдПрдВ
  • рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХрд╛ рдкрд╣рд▓рд╛ рдЕрдХреНрд╖рд░ рд░рд╛рдЬреНрдп (рдирд╛рдЯрдХ/рдард╣рд░рд╛рд╡) рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛, рд╢рд╛рдпрдж рдХреБрдЫ рд░рдВрдЧ рдХреЗ рд╕рд╛рде
  • рдкрд░рджрдмрд╛рдПрдВ рд╣рдо рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд░реЛрдХ рджреЗрдВрдЧреЗ рдФрд░ рдЗрд╕ рд╡рд┐рд░рд╛рдо рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдХреЛ рдмрджрд▓ рджреЗрдВрдЧреЗ
  • рджреВрд╕рд░реЗ рдкрд░рджрдмрд╛рдПрдВ рд╣рдо рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ рдФрд░ рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрджрд▓ рджреЗрдВрдЧреЗ
  • рдЬрдм рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ рддреЛ рд╣рдо рдЙрди рдЦрдВрдбреЛрдВ рдХреЛ рдХрд╛рдЯ рджреЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд┐рд░рд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдЪрд┐рддреНрд░рдг:

+ echo recording...
+ echo still playing...
- echo this pause, it will not be present in final recording file
- echo this line too
+ echo and this line we will keep
- exit

рдЖрдк рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝рд╛рдЗрд▓ /root/.config/asciinema/config . рдореЗрдВ рдПрдХ Idle_time_limit рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдХреНрдпрд╛ рдЗрд╕реЗ рдХреГрдкрдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдПрдХ рдФрд░ рдХрд╛рдордХрд╛рдЬ рд╣реЛрдЧрд╛:

1) asciinema rec my.cast . рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░реЗрдВ
2) рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдЬрд╣рд╛рдВ рдЖрдк рд░реБрдХрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CTRL+D рджрдмрд╛рдПрдВ
3) рдЬрдм рдЖрдк рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВ рддреЛ asciinema rec --append my.cast рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рд╡реИрдХрд▓реНрдкрд┐рдХ: рдЖрдк рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП my.cast рдХреЛ рдмрд╛рдж рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ-рдПрдбрд┐рдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдХреБрдЫ рдмрд┐рдЯреНрд╕ рдФрд░ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ

asciinema play my.cast рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рджреЗрдЦрдирд╛ рдЖрдкрдХреЛ рдПрдХ рд╕рд╣рдЬ рд╡реАрдбрд┐рдпреЛ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдХрд┐ рдЖрдк рд░реЛрдХреЗрдВ/рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдирд┐рд░рдВрддрд░ рдЧрддрд┐ рд╕реЗ рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд░рддрд╛ ;-)

рдЖрдк рдореМрдЬреВрджрд╛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╕рдордп рдХреЛ рдирдИ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдЕрдВрджрд░ рдЪрд▓рд╛рдХрд░ "рдмрд░реНрди" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдирдИ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рд╣реЗрдбрд░ рд▓рд╛рдЗрди рдореЗрдВ рдирд┐рд╖реНрдХреНрд░рд┐рдп-рд╕рдордп-рд╕реАрдорд╛ рдХреЛ рдмрдЪрд╛рдПрдЧрд╛:

asciinema rec -i 2 -c "asciinema play existing.cast" new.cast

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд┐рдВрдЯ рдИрд╡реЗрдВрдЯ рдХреЗ рд╕рдордп рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реЗрдЧрд╛:

asciinema rec -c "asciinema play -i 2 existing.cast" new.cast

рдореИрдВрдиреЗ рдкреЙрдЬрд╝ рдлреАрдЪрд░ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PR #340 рдЦреЛрд▓рд╛ рд╣реИред рдХреГрдкрдпрд╛ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреЛрд▓рддреЗ рд╕рдордп @yuvalif рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдпрд╣реА рдерд╛ред

рдпрд╣ рдкреЙрдЬ рдлреАрдЪрд░ рдЕрдЧрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП рддреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдХрднреА-рдХрднреА рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рдореИрдВ рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдЬреИрд╕реЗ рдХреБрдЫ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝рдирд╛), рдореБрдЭреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд░реБрдХрдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рд╣рдЬ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

redaxmedia picture redaxmedia  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nictuku picture nictuku  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

SR-Lut3t1um picture SR-Lut3t1um  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

deeplook picture deeplook  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dlintw picture dlintw  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ