پیش‌نویس:ترموکس

از ویکی‌پدیا، دانشنامهٔ آزاد
ترمکس
نویسنده اصلی فردریک فورنوال
انتشار اولیه 30 مه 2015؛ 8 سال پیش  (2015-05-30  
آزاد شدن ثابت
0.118.0 [۱] (7 ژانویه 2022؛ 2 سال پیش (7 ژانویه 2022)  )  Edit this on Wikidata
مخزن https://github.com/termux/termuch-app
نوشته شده در Java, C++, C
سیستم عامل اندروید
پلتفرم x86-64, ARM64, i686, ARMv7
اندازه 101 مگابایتMB
نوع شبیه ساز ترمینال، رابط خط فرمان
مجوز فقط GPLv3
وب سایت termux.com Edit this on Wikidata

ترموکس (Termux) یک شبیه‌ساز ترمینال رایگان و متن باز برای سیستم عامل اندروید است که به کاربران اجازه می‌دهد یک محیط لینوکس را بر روی دستگاه اندرویدی خود اجرا کنند. ترموکس به طور خودکار یک سیستم پایه حداقلی نصب می‌کند؛ بسته‌های اضافی نیز با استفاده از مدیر بسته‌های خود، که بر پایه سیستم دبیان است، در دسترس می‌باشند.[۲]

بیشتر دستورات موجود در لینوکس در ترموکس قابل دسترسی هستند، همچنین دستورات داخلی Bash نیز در آن موجود هستند. چندین پوسته دیگر نیز مانند زی شل و tcsh در دسترس است.[۳]

نمای کلی[ویرایش]

بسته‌ها با استفاده از اندروید NDK ارتقاء یافته و دارای پچ‌های سازگاری هستند تا بتوانند در اندروید کار کنند. از آنجایی که تمام فایل‌ها در دایرکتوری برنامه نصب می‌شوند، نیازی به روت کردن (Root) نیست.[۴]

اینجا بیش از هزار بسته مختلف در دسترس است و کاربران می‌توانند درخواست‌هایی برای بسته‌های جدید ارسال کنند. به علاوه، بسته‌ها می‌توانند از منابع کدی ترجمه شوند، زیرا ترموکس از ابزارهای ساخت متنوعی از جمله کیک‌پی‌اچ‌پی، مزون، GNU Autotools و همچنین کامپایلرهایی برای زبان‌های برنامه‌نویسی مانند C++، Rust، Go، Swift و زبان‌های دیگر پشتیبانی می‌کند. ترموکس همچنین می‌تواند مفسرهایی برای زبان‌هایی مانند روبی، پایتون و جاوااسکریپت نصب کند.

می‌توان ویرایشگرهای متنی مبتنی بر ترمینال مانند Emacs و Vim را نصب کرد. همچنین امکان اجرای برنامه‌های گرافیکی در ترموکس با استفاده از یک سرور VNC و نصب محیط دسکتاپ (مانند Xfce، LXQt، MATE) یا مدیر پنجره وجود دارد.[۵]

رابط کاربری[ویرایش]

رابط کاربری ترموکس به طور کلی بسیار ساده است و تنها ردیف کلیدهای اضافی و خروجی ترمینال را نمایش می‌دهد. تنظیمات رنگ و قلم می‌توانند از طریق ترموکس: Styling تغییر داده شوند.

ردیف extra-keys نیز قابلیت سفارشی‌سازی دارد. کاربران می‌توانند با ویرایش فایل ~/.termux/termux.properties کلیدهای عملکردی و کنترل‌های بیشتری را اضافه کنند.

ترموکس دارای پشتیبانی از موس/لمس است که می‌توان از آن برای تعامل با برنامه‌هایی مانند htop و دیگر برنامه‌های مبتنی بر ncurses استفاده کرد. امکان اسکرول کردن با استفاده از کشیدن به بالا یا پایین در بفر ترمینال وجود دارد.

پیکربندی[ویرایش]

کاربران ترموکس با ویرایش ~/.termux/termux.properties پیکربندی ترموکس را تنظیم می‌کنند.

افزونه ها[ویرایش]

ترموکس همچنین شامل 7 افزونه است:

  • Termux:API: قابلیت های اندروید را در معرض برنامه های CLI قرار می دهد
  • Termux:یک ظاهر طراحی شده: اجازه می دهد تا تغییر طرح رنگ و فونت ترمینال
  • Termux: بوت: دستورات ترموکس را در بوت اجرا می کند
  • Termux:GUI: اجازه می دهد تا برخی از برنامه های ترموکس با استفاده از منابع پیش فرض اندروید دارای GUI باشند؛ با برنامه های X11/Wayland کار نمی کند
  • ترموکس:ویجت: به کاربران اجازه می دهد اسکریپت ها را در یک ویجت اختصاصی یا یک میانبر در صفحه اصلی اجرا کنند
  • ترموکس: شناور: جلسه ترمینال را در یک پنجره شناور اجرا می کند
  • ترموکس: تاسکر: ادغام می شود کارگزار با ترموکس

افزونه‌ها باید از منبع مشابه به عنوان برنامه نصب شوند تا از همان شناسه کاربری استفاده شود.

تاریخ[ویرایش]

ترموکس ابتدا در سال ۲۰۱۵ منتشر شد. پشتیبانی از درخواست بسته‌ها و ویژگی‌ها از طریق مسائل گیت‌هاب در مخزن این برنامه افزوده شد. افراد همچنین می‌توانند با اضافه کردن ویژگی‌ها و بسته‌های جدید به پروژه، به توسعه آن کمک کنند.

در ژانویه 2020، تیم توسعه ترموکس پشتیبانی از دستگاه‌هایی که از سیستم‌عامل اندروید 5-6 استفاده می‌کردند را متوقف کرد و به این ترتیب اندروید نسخه ۷ به حداقل سیستم‌عامل مورد نیاز تبدیل شد.

ترموکس نسخه 0.101 آخرین نسخه‌ای بود که در فروشگاه گوگل پلی به‌روز شد. از نوامبر 2020 به بعد، گوگل پلی اجازه استفاده از برنامه‌هایی که به API level 29 هدف‌گیری می‌کنند را اجباری کرده است، که باعث شکست اجرای فایل‌های اجرایی در دایرکتوری‌های خصوصی برنامه می‌شود. طبق اعلام گوگل:

برنامه‌های ناامنی که به Android 10 هدف می‌شوند، نمی‌توانند (exec) را بر روی فایل‌ها در دایرکتوری خانگی برنامه صدا بزنند. اجرای فایل‌ها از داخل دایرکتوری خانگی قابل نوشتن برنامه، یک نقض W^X است. برنامه‌ها باید فقط کد دودویی را بارگذاری کنند که درون فایل APK برنامه جاسازی شده است.[۶]

تیم توسعه ترموکس پیشنهاد می‌دهد که برای ادامه دریافت به‌روزرسانی‌ها، به F-Droid منتقل شوید، زیرا F-Droid محدودیت‌های مشابهی اعمال نمی‌کند. همچنین امکان دانلود فایل‌های APK از مخزن GitHub پروژه نیز وجود دارد.

در ماه مه 2021، Bintray که اصلی‌ترین میزبان برای بسته‌های ترموکس بوده است، خدمات خود را تعطیل کرد. ترموکس به Hetzner، یک سرویس میزبانی دیگر، مهاجرت کرد.[۷]

نصب و راه اندازی[ویرایش]

عملیات نصب فرآیندی است که فایل بوت استرپ را از فایل APK استخراج می‌کند، مجوزهای صحیح برای اجرایی قرار می‌دهد و دایرکتوری‌هایی مانند دایرکتوری خانه را تنظیم می‌کند.

مدیریت و توزیع بسته ها[ویرایش]

بسته‌ها در ترموکس از طریق مدیر بسته‌های این برنامه (pkg) نصب می‌شوند و از فرمت .deb استفاده می‌کنند. با این حال، بسته‌های معمول دبیان را نمی‌توان به عنوان ترموکس سازگار با FHS نصب کرد.[۸] کاربران همچنین می‌توانند بسته‌ها را بسازند و ارسال کنند.

در دسترس بودن بسته[ویرایش]

ترموکس دارای بیش از 1000 بسته تا سال 2021 در دسترس است.

مخازن بسته[ویرایش]

ترموکس دارای 3 مخزن (ریپازیتوری) موجود است. مخزن‌هایی که به طور پیش‌فرض در نصب اولیه ترموکس قرار دارند، شامل موارد زیر هستند:

  • اصلی مخزن اصلی شامل تمام ابزارهای CLI و سایر ابزارهای محبوب لینوکس و کامپایلرها/مترجمان زبان است.
  • x11-repo شامل X11 بسته های مبتنی بر و برنامه های گرافیکی.
  • root-repo شامل بسته های مفید برای دستگاه های روت شده. برخی از این بسته ها می توانند بدون روت استفاده شوند ، اما عملکرد ممکن است محدود باشد.

مرجع ها[ویرایش]

  1. "Release 0.118.0". 7 January 2022. Retrieved 24 October 2022.
  2. Seth Kenlon (August 11, 2020). "Use a Linux terminal on your Android phone". opensource.com. Retrieved August 17, 2021.
  3. "ZSH - Termux Wiki". Termux. July 30, 2020. Retrieved August 17, 2021.
  4. "The Termux Wiki". Termux. July 30, 2021. Retrieved August 17, 2021.
  5. "The Termux Wiki". Termux. July 30, 2021. Retrieved August 17, 2021.
  6. "Behavior changes: apps targeting API 29+". Android Developers (به انگلیسی). Retrieved 2021-12-01.
  7. "Termux". Termux (به انگلیسی). Retrieved 1 June 2023.
  8. "Differences from Linux - Termux Wiki". termux.com. 30 July 2021. Retrieved 18 August 2021.

لینک های خارجی[ویرایش]