عشق و حال با ترموکس - بخش ۱

تو انتخاب سیستم‌عامل، برنامه و سرویس‌هایی که استفاده می‌کنم، همیشه قابلیت شخصی‌سازی برای من مهم‌ترین ویژگی به حساب میاد. این قدرت که بتونم ظاهر سیستم‌عامل و برنامه‌هارو اونجوری که باب میلم هست تغییر بدم انگیزه‌ی استفاده از اون سرویس رو برام چندبرابر می‌کنه. بزرگ‌ترین دلیلم برای انتخاب گوشی‌ای که از سیستم‌عامل اندروید استفاده می‌کنه هم همین موضوعه. اما همه این‌ها چه ربطی به ترموکس داره؟! در مطلب قبلی، شما رو با گوشه‌ای از قدرت این اپ آشنا کردم، امروز قراره بیش‌تر با قدرت‌های ترموکس آشنا بشیم و محیط این اپ قدرتمند رو مطابق میل خودمون تغییر بدیم.

همون‌طور که در مطلب قبلی به صورت مختصر اشاره کردم، ترموکس نرم‌افزار شبیه‌ساز ترمینال برای اندروید و اپی برای اجرای محیط لینوکس هست که بدون احتیاج به دسترسی روت در اندروید کار می‌کنه. علاوه بر خود اپ ترموکس، توسعه‌دهنده‌های این اپ پلاگین‌های جانبی زیادی هم برای اون تحت مجوز GPL v3.0 منتشر کردن. این پلاگین‌ها از طریق پلی‌استور به صورت فروشی در دسترس هستند، اما همونطور که اشاره کردم، تمام این پلاگین‌ها و خود اپ ترموکس به صورت آزاد و تحت مجوز GPL v3.0 منتشر میشن، به همین دلیل، از طریق مخازن نرم‌افزاری F-Droid هم به صورت رایگان در دسترس هستند. (خواهش می‌کنم، اگه امکان خرید این پلاگین‌ها رو دارین، برای حمایت از این پروژه‌ی قدرتمند و توسعه‌دهنده‌های اون، از طریق پلی‌استور نسبت به خرید اون‌ها اقدام کنین)

[Termux (PlayStore - F-Droid) | Termux:API (PlayStore - F-Droid) | Termux:Styling (PlayStore - F-Droid)]

به جز علاقه‌ی شخصی، دلیلی وجود نداره که محیط سیاه و سفید اپ ترموکس رو به عنوان ظاهر این نرم‌افزار انتخاب کنیم. وجود پکیج‌های عالی و فرمان‌های بی‌شمار در هنگام استفاده از ترموکس، شخصی‌سازی رو به بهترین نحو ممکن برای ما امکان‌پذیر می‌کنه. قبل از هرچیز، باید خود اپ ترموکس، پلاگینtermux:API و پلاگین Termux:Styling رو دانلود و نصب کنین. توجه داشته باشین که تمامی این‌ها، به دلیل تفاوت امضای بسته‌هاشون در پلی‌استور و F-Droid، باید از یک استور نصب بشن. اگر دلتون می‌خواد که از این پروژه حمایت کنین، می‌تونین ترموکس و پلاگین API‌ اون رو به رایگان از پلی‌استور نصب کنین و سپس از پلی‌استور به خرید پلاگین Termux:Styling اقدام کنین، اما اگه به هر نحوی نخواستین و یا توانایی خرید این پلاگین رو ندارید، تمامی این بسته‌ها رو از طریق مخازن F-Droid به صورت رایگان دریافت و نصب کنین.


بعد از نصب هر ۳ بسته، ترموکس رو باز کنید و سپس با استفاده از دستور زیر، اقدام به نصب api ترموکس کرده و دسترسی‌های لازم برای استفاده از فضای داخلی رو ترموکس می‌دهیم:

pkg update
pkg upgrade
pkg install termux-api
termux-setup-storage


نکته: در ترموکس، کلید کم‌کردن صدا، کار کلید کنترل رو انجام می‌ده. هم‌چنین، می‌تونین با فشردن طولانی صفحه‌ی ترموکس، به گزینه‌های انتخاب کردن، کپی کردن و همچنین چسباندن متن دسترسی پیدا کنید.

بعد از اینکه با موفقیت فرمان‌های بالا رو اجرا کردیم، پیش‌نیازهای مهمی که در طول این آموزش و آموزش‌های بعدی نیاز داریم، یعنی پایتون، گیت، روبی و کرل رو نصب می‌کنیم.

pkg install python git ruby curl


حالا نوبت به انتخاب شل موردنظرمون می‌رسه. در این نوشته، من از fish به دلیل انعطاف‌پذیری بالا و قدرت تصحیح خودکارش استفاده می‌کنم. اما شما می‌تونین از zsh یا هر شل دیگه‌ای که می‌پسندین استفاده کنین. دستور زیر رو برای نصب fish اجرا می‌کنیم:

pkg install fish


بعد از نصب fish، یکی از قدرتمندترین پلاگین‌های اون رو برای تغییر تم و همچنین نصب افزونه‌های fish رو نصب می‌کنم. اسم این افزونه Oh My Fish هست. برای دریافت و نصب OMF از کرل کمک می‌گیریم و اون رو نصب می‌کنیم:

curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | fish


همونطور که خودتون هم بعد از اجرای این دستور می‌تونین ببینین، بسته‌های مورد نظر دریافت و نصب شدند و شما وارد محیط fish‌ می‌شین. اما چرا OMF‌ نصب کردیم؟ دلیلش تم‌ها و پلاگین‌های فراوانی هست که برای این پلاگین نوشته شدن. به عنوان مثال، می‌تونین از صفحه‌ی لیست تمامی تم‌های این پلاگین، تم مورد نظر خودتون رو انتخاب و با استفاده از omf اون رو نصب و فعال کنید. اینجا من تم agnoster رو انتخاب و نصب می‌کنم:

omf install agnoster


و سپس اون رو فعال می‌کنم:

omf agnoster


نکته: دلیل اصرارم برای نصب Termux:Styling وجود قابلیت تغییر ظاهر و فونت ترموکس بود. شاید خیلی از شماها بعد از اجرای دستورات با کمبود کاراکترهایی برای نمایش درست متن مواجه بشین که با نصب Termux:Styling و انتخاب فونت‌هایی پچ شده‌ای مانند Roboto و Meslo و... که کاراکتر‌های ویژه رو همراه خودشون دارن، این مشکل رو برطرف کنید.

خب، حالا شل مورد نظرمون رو انتخاب کردیم، اون رو نصب کردیم و ظاهرش رو مطابق میل خودمون تغییر دادیم، برای زیباتر و کارآمدتر کردن ترموکس، دیگه چه کارهایی انجام بدیم؟ قاعدتا اولین کار ایجاد فایل bashrc. برای کاربر حاضر و پرکردن اون با محتویات دلخواهمون هست. با چی پرش کنیم؟ حالا متوجه میشین.

همیشه برای من screenfecth و lolcat به همراه figlet، از بهترین ابزارهای عشق و حال کردن با خط فرمان هستند. خوشبختانه در ترموکس می‌تونیم از همشون استفاده کنیم. برای نصب figlet و screenfetch از مدیربسته‌ی خود ترموکس استفاده می‌کنیم:

pkg install figlet screenfetch


و برای نصب lolcat از روبی کمک می‌گیریم:

gem install lolcat


اگه نمی‌دونین، screenfetch ابزاری هست که اطلاعات نرم‌افزاری و سخت‌افزاری سیستم رو در اختیار کاربر می‌ذاره و figlet مطالب رو دلخواهمون رو به صورت تایپوگرافی در خط‌فرمان به نمایش می‌ذاره. همچنین lolcat ظاهر خروجی‌ها رو به صورت رنگین‌کمانی در خط‌فرمان چاپ می‌کنه.

خب، حالا باید فایل bashrc. رو در پوشه‌ی خانگی ایجاد کنیم، اما قبل از اون، باید ویرایشگر متن مورد علاقه خودتون رو نصب کنین. من نانو رو ترجیح می‌دم.

pkg install nano


حالا فایل مورد نظر رو با استفاده از نانو ایجاد و نسبت به ویرایش اون اقدام می‌کنیم:

nano ~/.bashrc


حالا باید این فایل رو با متحویاتی که می‌خواهیم با هر بار ورود به ترموکس مشاهده کنیم پر کنیم. اجازه بدین اول با دستور clear راهنمای ترموکس رو حذف کنم و بعد از اون خروجی screenfetch رو با استفاده از lolcat فراخوانی کنیم:

clear
screenfetch | lolcat


من عاشق گوشیم هستم، چرا با استفاده از figlet اسم اون رو هم به کمک lolcat فراخوانی نکنم؟

clear
screenfetch | lolcat
figlet + MY SHAMU + | lolcat


خب خب، داره خوب میشه، اما هنوزم یه چیزایی کم داره. نظرتون چیه که وضعیت آب و هوا رو هم با استفاده از سرویس قدرتمند wttr.in بهش اضافه کنیم؟ متاسفانه شهر محل زندگیم رو به صورت پیش‌فرض نمی‌شناسه، اما خب می‌تونم با استفاده از نقشه گوگل، موقیت جغرافیایی خیابونی که توش زندگی می‌کنم رو بهش بدم. در ضمن من وضعیت آب و هوا رو به صورت کلی می‌خوام، دوست هم دارم از رنگ‌های خود سرویس wttr.in استفاده کنیم، پس فقط تا خط ۷ام رو فراخوانی می‌کنم. اما دلیلی نداره که شما هم همین رو بخواین! خروجی این دستور رو هم میشه با استفاده از lolcat چاپ کرد. علاوه بر این، فراخوانی تاریخ هم چیز بدی به نظر نمی‌رسه:

clear
screenfetch | lolcat
figlet + MY SHAMU + | lolcat
curl -s wttr.in/36.46,52.86 | head -7
date | lolcat


و بالاخره، fish رو هم بهش اضافه می‌کنم تا با هر بار باز کردن ترموکس، وارد شل دوست‌داشتنیم بشم.

clear
screenfetch | lolcat
figlet + MY SHAMU + | lolcat
curl -s wttr.in/36.46,52.86 | head -7
date | lolcat
fish


خب به نظرم تا همینجا برای امروز کافی باشه و بهتره که بیش‌تر از این خسته‌تون نکنم. به عنوان اتمام این نوشته، اسکرین‌شاتی از صفحه‌ی ترموکس روی گوشی خودم رو اینجا می‌ذارم:

تو این اسکرین‌شات، از فونت roboto و استایل Dracula به همراه پوسته‌ی agnoster برای fish استفاده کردم.
تو این اسکرین‌شات، از فونت roboto و استایل Dracula به همراه پوسته‌ی agnoster برای fish استفاده کردم.