منوی سایت
جستجو

جادوی لینوکس: یک پرامپت با سرعت نور

جادوی لینوکس: یک پرامپت با سرعت نور

اگر بیشتر وقت خود را در خط فرمان می‌گذرانید، احتمالاً یا یک پرامپت (خط فرمان) بسیار ساده دارید یا یک پرامپت پیچیده و پر از اطلاعات. اگر جزو دسته اول هستید، یا فقط می‌خواهید ظاهر خط فرمان خود را بهبود دهید، Starship را بررسی کنید. این ابزار در اکثر شل‌های رایج و سیستم‌عامل‌ها کار می‌کند، بنابراین تقریباً در هر جایی که بخواهید می‌توانید از آن استفاده کنید. سرعت بالایی دارد و کاملاً قابل سفارشی‌سازی است.

ظاهر Starship چگونه است؟

توضیح دقیق ظاهر Starship کمی دشوار است، زیرا به‌شدت قابل تنظیم است. همچنین بسته به موقعیت شما تغییر می‌کند. مثلاً اگر در یک دایرکتوری گیت باشید، اطلاعات وضعیت گیت را نمایش می‌دهد (مگر اینکه غیرفعالش کنید). در یک جلسه SSH، اطلاعات متفاوتی نسبت به ورود محلی خواهید دید.

اما برای درک بهتر، وب‌سایت Starship یک انیمیشن کوتاه ارائه داده که دید کلی از آن را نمایش می‌دهد.

نصب Starship

پیش‌نیاز: به یک Nerd Font در ترمینال نیاز دارید. اگر از قبل نصب کرده باشید، نیازی به اقدام خاصی نیست.

مراحل نصب به سیستم‌عامل شما بستگی دارد. برای لینوکس می‌توانید دستور زیر را اجرا کنید:

curl -sS https://starship.rs/install.sh | sh

البته بهتر است ابتدا اسکریپت را دانلود و بررسی کنید تا مطمئن شوید که تغییری ناخواسته در سیستم شما ایجاد نمی‌کند، اما در تست ما مشکلی وجود نداشت.

پس از نصب، باید یک دستور init اجرا کنید. این دستور بسته به شل مورد استفاده شما متفاوت است و Starship برای اکثر شل‌ها راهنما دارد. حتی راهی برای استفاده در cmd.exe ویندوز هم وجود دارد!

سفارشی‌سازی

پرامپت پیش‌فرض بد نیست، اما قطعاً می‌خواهید تغییراتی در آن ایجاد کنید. جالب است بدانید که این سیستم به‌طور پیش‌فرض فایل تنظیمات ایجاد نمی‌کند. اگر فایل تنظیمات وجود نداشته باشد، Starship با تنظیمات پیش‌فرض اجرا می‌شود.

باید فایل زیر را به‌صورت دستی ایجاد کنید:

~/.config/starship.toml

می‌توانید محل این فایل را با استفاده از یک متغیر محیطی تغییر دهید، اما باز هم باید آن را به‌صورت دستی بسازید.

فرمت TOML مانند INI است، اما دقت کنید که تنظیمات عمومی باید قبل از هر بخش قرار بگیرند. مثلاً اگر تنظیمات را در انتهای فایل قرار دهید و کار نکنند، احتمالاً به آخرین بخش اضافه شده‌اند.

مثال: غیرفعال کردن نمایش وضعیت باتری:

[battery]
disabled = true

مدیریت رشته‌ها در تنظیمات

در فایل TOML، می‌توانید از تک‌گیومه یا دون‌گیومه استفاده کنید. همچنین می‌توانید از سه گیومه برای نوشتن متن چندخطی استفاده کنید (اما شکستن خط در مقدار رشته تأثیر ندارد).

  • تک‌گیومه: مقدار را بدون تفسیر خاصی ذخیره می‌کند.
  • دون‌گیومه: باید کاراکترهای خاص را با escape مشخص کنید.

می‌توانید متغیرها را در رشته‌ها قرار دهید، مثلاً:

'[off](fg:red bold)'

یا متغیری را فقط در صورت مقدار داشتن نمایش دهید:

 '(#$id)'

اگر مقدار $id خالی باشد، این متن نمایش داده نمی‌شود. در غیر این صورت، مقدار آن همراه با # چاپ می‌شود.

مدیریت ماژول‌ها و تنظیمات کلی

همه گزینه‌های پیکربندی در مستندات Starship موجود است. مهم‌ترین گزینه متغیر format است که ترتیب نمایش اطلاعات را مشخص می‌کند. به‌طور پیش‌فرض، مقدار آن برابر است با:

format='$username $hostname'

اما اگر بخواهید آن را تغییر دهید، مثلاً:

format='$hostname ! $username $all'

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

ایجاد ماژول‌های سفارشی

اگر ماژولی برای نیاز شما وجود ندارد، می‌توانید خودتان یکی بسازید!

مثلاً برای نمایش دمای واترکولر سیستم:

[custom.temp]
command = 'temp-status | grep temp | cut -d " " -f 7'
when = true
format='$output°'

مقدار خروجی فرمان در متغیر $output ذخیره می‌شود. اینجا مقدار دما نمایش داده شده و با یک علامت درجه (°) همراه است.

جایگزین‌های دیگر

علاوه بر Starship، ابزارهای دیگری مانند Oh My Zsh (مخصوص Zsh) و Oh My Posh (چندمنظوره) وجود دارند. البته شما به این ابزارها وابسته نیستید، زیرا شل‌های مختلف اجازه تنظیم پرامپت را از طریق PS1 و PROMPT_COMMAND می‌دهند. می‌توانید پرامپت خود را از پایه بسازید، همان‌طور که بسیاری از کاربران حرفه‌ای این کار را انجام داده‌اند.

منتشر شده در ستون‌های Hackaday، ترفندهای لینوکس

دیدگاه‌ها

برای ارسال نظر باید وارد حساب کاربری خود شوید.