asciinema-stream(1) General Commands Manual asciinema-stream(1)

asciinema-stream - استریم زنده نشست‌های ترمینال با asciinema

asciinema stream [-l|--local] [-r|--remote] [-c|--command] [-I|--capture-input] [--capture-env] [-t|--title] [--description] [--visibility] [--audio-url] [--headless] [--window-size] [--return] [--log-file] [--server-url] [-q|--quiet] [-h|--help]

استریم یک نشست ترمینال در زمان واقعی.

یک نشست ترمینال را به صورت زنده از طریق سرور HTTP محلی (برای مشاهده محلی/شبکه LAN) یا یک سرور دوردست asciinema (برای اشتراک‌گذاری عمومی) پخش می‌کند. بینندگان می‌توانند نشست را هنگام وقوع از طریق یک رابط وب مشاهده کنند.

برای پایان دادن به نشست استریم، کلیدهای <ctrl+d> را فشار دهید یا عبارت 'exit' را تایپ کنید. برای توقف موقت یا از سرگیری ضبط نشست، کلیدهای <ctrl+\> را فشار دهید.

در طول نشست، متغیر محیطی ASCIINEMA_SESSION با یک شناسه یکتای نشست مقداردهی می‌شود.

راه‌اندازی سرور HTTP محلی برای استریم نشست در زمان واقعی. یک رابط وب قابل دسترس از طریق مرورگر ایجاد می‌کند که در آن بینندگان می‌توانند نشست ترمینال را به صورت زنده تماشا کنند. به صورت اختیاری می‌توانید نشانی اتصال را به شکل IP:PORT مشخص کنید (مانند 0.0.0.0:8080 برای اجازه به اتصالات خارجی). اگر نشانی مشخص نشود، روی یک پورت موقت که به صورت خودکار در 127.0.0.1 تخصیص داده می‌شود گوش فرا می‌دهد.
استریم نشست به یک سرور دوردست asciinema برای مشاهده عمومی. این ویژگی امکان به اشتراک‌گذاری نشست شما در وب را با هر فردی که نشانی اینترنتی استریم را دارد فراهم می‌کند. می‌توانید شناسه استریم (stream ID) از یک پیکربندی استریم موجود در حساب کاربری سرور asciinema خود یا یک نشانی مستقیم وب‌سوکت (ws:// یا wss://) برای سرورهای سفارشی مشخص کنید. حذف مقدار این گزینه به سرور asciinema اجازه می‌دهد به صورت خودکار یک شناسه استریم جدید اختصاص دهد.
مشخص کردن دستور برای اجرا در نشست استریم. در صورت عدم تعیین، asciinema از پوسته پیش‌فرض شما در متغیر محیطی $SHELL استفاده خواهد کرد. این دستور می‌تواند هر دستوری به همراه آرگومان‌هایش باشد، به عنوان مثال: --command "python script.py" یا --command "bash -l". همچنین از طریق گزینه session.command در پرونده پیکربندی قابل تنظیم است.
فعال‌سازی ضبط ورودی صفحه‌کلید علاوه بر خروجی ترمینال. در صورت فعال بودن، هم آنچه تایپ می‌کنید و هم آنچه روی صفحه ظاهر می‌شود ضبط خواهد شد. توجه داشته باشید که ورودی‌های حساس مانند گذرواژه‌ها نیز در صورت فعال بودن این گزینه ضبط خواهند شد. اگر ضبط استریم روی سرور فعال باشد، ورودی‌های صفحه‌کلید در پرونده ضبط ایجادشده در سمت سرور گنجانده خواهند شد. همچنین از طریق گزینه session.capture_input در پرونده پیکربندی قابل تنظیم است.
مشخص کردن متغیرهای محیطی که باید ضبط شده و در فراداده استریم گنجانده شوند. فهرستی از نام‌های متغیرها را که با کاما از هم جدا شده‌اند ارائه دهید، به عنوان مثال: --rec-env "USER,SHELL,TERM". در صورت عدم تعیین، به‌طور پیش‌فرض تنها متغیر SHELL ضبط می‌شود. اگر ضبط استریم روی سرور فعال باشد، این متغیرهای محیطی در پرونده ضبط ایجادشده در سمت سرور گنجانده خواهند شد. همچنین از طریق گزینه session.capture_env در پرونده پیکربندی قابل تنظیم است.
تنظیم عنوانی توصیفی برای نشست استریم. این عنوان به بینندگان نمایش داده می‌شود (هنگام انجام استریم دوردست با --remote). به عنوان مثال: --title "Building a REST API". اگر ضبط استریم روی سرور فعال باشد، این عنوان در پرونده ضبط ایجادشده در سمت سرور گنجانده خواهد شد.
تنظیم توضیحات برای نشست. این توضیحات در صفحه استریم نمایش داده می‌شود (فقط برای استریم دوردست با --remote کاربرد دارد) و می‌تواند شامل قالب‌بندی، پیوندها و بلوک‌های کد باشد. برای ارائه زمینه، دستورالعمل‌ها یا مستندات به بینندگان کاربرد دارد.
تنظیم سطح قابلیت مشاهده برای استریم (فقط برای استریم دوردست با --remote کاربرد دارد). استریم‌های عمومی (public) در فهرست‌ها و صفحه نمایه شما نمایش داده می‌شوند. استریم‌های ثبت‌نشده در فهرست (unlisted) از طریق یک نشانی اینترنتی مستقیم قابل دسترسی هستند اما در فهرست‌ها ظاهر نمی‌شوند. استریم‌های خصوصی (private) فقط برای مالک قابل دسترسی هستند.

[مقادیر ممکن: public, unlisted, private]

مشخص کردن نشانی اینترنتی یک استریم صوتی زنده (مانند Icecast MP3/OGG) برای همگام‌سازی با استریم ترمینال (فقط برای استریم دوردست با --remote کاربرد دارد). هنگام تنظیم، بینندگان می‌توانند در حین تماشای ترمینال به توضیحات صوتی گوش دهند. نشانی اینترنتی صوتی در فراداده استریم ذخیره شده و توسط پخش‌کننده برای بازپخش همگام استفاده می‌شود. به عنوان مثال: --audio-url https://icecast.example.com/live.mp3
استریم در حالت بدون سر (Headless) بدون استفاده از ترمینال برای ورودی/خروجی. این گزینه برای استریم خودکار یا اسکریپت‌شده که در آن نمی‌خواهید asciinema در نشست فعلی ترمینال تداخل ایجاد کند مفید است. دستور استریم‌شده همچنان به صورت عادی اجرا شده و برای بینندگان قابل مشاهده خواهد بود، اما در ترمینال محلی شما نمایش داده نخواهد شد. حالت Headless هنگام اجرا در محیطی که ترمینال در دسترس نیست به صورت خودکار فعال می‌شود.
بازنویسی و تعیین اندازه پنجره ترمینال مورد استفاده برای نشست استریم. ابعاد را به صورت COLSxROWS مشخص کنید (مانند 80x24 برای ۸۰ ستون در ۲۴ سطر). می‌توانید فقط ستون‌ها (80x) یا فقط سطرها (x24) را برای بازنویسی تنها یک بعد مشخص کنید. این گزینه برای اطمینان از یکدست بودن ابعاد استریم بدون توجه به اندازه فعلی ترمینال شما کاربرد دارد.
باعث می‌شود دستور asciinema با همان کد وضعیت خروجی نشست استریم‌شده خارج شود. به صورت پیش‌فرض، asciinema صرف‌نظر از آنچه در نشست استریم رخ می‌دهد با وضعیت 0 خارج می‌شود. با این گزینه، اگر دستور استریم‌شده با وضعیتی غیر از صفر خارج شود، asciinema نیز با همان کد وضعیت خارج خواهد شد.
فعال‌سازی ثبت رویدادهای داخلی (لاگ) در یک پرونده در مسیر مشخص‌شده. برای اشکال‌زدایی مشکلات استریم (خطاهای اتصال، قطع ارتباط و غیره) کاربرد دارد.
مشخص کردن نشانی اینترنتی سفارشی سرور asciinema برای استریم به سرورهای خودمیزبان (self-hosted). از نشانی پایه سرور استفاده کنید (مانند https://asciinema.example.com). همچنین از طریق متغیر محیطی ASCIINEMA_SERVER_URL یا گزینه server.url در پرونده پیکربندی قابل تنظیم است. اگر هیچ نشانی سروری از طریق این گزینه، متغیر محیطی یا پرونده پیکربندی تنظیم نشده باشد، از شما خواسته می‌شود یکی را انتخاب کنید (با مقدار پیش‌فرض asciinema.org) که به عنوان پیش‌فرض ذخیره خواهد شد.
فرونشاندن پیام‌های تشخیصی و نشانگرهای پیشرفت. فقط پیام‌های خطا نمایش داده خواهند شد.
چاپ راهنما (مشاهده خلاصه با '-h')

مثال‌ها:


asciinema stream --local
استریم یک نشست پوسته از طریق سرور HTTP محلی در حال گوش دادن روی یک پورت موقت در 127.0.0.1


asciinema stream --local 0.0.0.0:8080
استریم از طریق سرور HTTP محلی در حال گوش دادن روی پورت 8080 در تمام رابط‌های شبکه


asciinema stream --remote
استریم از طریق یک سرور asciinema برای مشاهده عمومی


asciinema stream -l -r
استریم همزمان به صورت محلی و دوردست


asciinema stream -r --command "ping asciinema.org"
استریم اجرای دستور ping


asciinema stream -r <ID> -t "Live coding"
استریم از طریق یک سرور دوردست با استفاده مجدد از شناسه استریم موجود و تنظیم عنوان استریم

stream