اولین نسخه بتا از ابزار Term.Everything منتشر شده است. این ابزار به شما امکان میدهد هر برنامه گرافیکی را درون یک پنجره با یک شبیهساز ترمینال نمایش دهید. از جمله موارد دیگر، این برنامه به شما امکان میدهد هنگام دسترسی به یک سیستم از راه دور از طریق SSH، برنامههای گرافیکی را در ترمینال اجرا کنید. کد پروژه تحت مجوز AGPL 3.0 توزیع شده است، به زبان Typescript نوشته شده و با استفاده از پلتفرم Bun اجرا میشود. مجموعههای نهایی در قالب AppImage تولید میشوند.
از نظر فنی، Term.Everything یک سرور ترکیبی مبتنی بر پروتکل Wayland است که خروجی را نه به صفحه نمایش، بلکه به پنجره ترمینال سازماندهی میکند. کتابخانه chafa برای تبدیل تصاویر به کاراکترهای یونیکد مناسب با توالیهای escape ANSI که گرافیک را در ترمینال شبیهسازی میکنند، استفاده میشود. رویدادهای ضربه کلید و حرکت ماوس در ترمینال به رویدادهای ورودی Wayland ترجمه میشوند.
در ترمینالهایی که از افزونهی خروجی گرافیک رستری پشتیبانی میکنند، مانند kitty، Ghostty، Konsole، wezterm و iTerm2، خروجی تقریباً از باز شدن در یک پنجرهی معمولی غیرقابل تشخیص است.

در ترمینالهای ساده، رندرینگ با خروجی تبدیل شده به شبهگرافیک (گرافیک ACSII) استفاده میشود.


منبع: opennet.ru
