من اخیراً بیشتر و بیشتر جریان کاریام را بهطور کامل به ترمینال منتقل کردهام و در اکثر موارد تجربهٔ خوبی داشتهام. یک نکتهٔ بزرگ که مدت زمان طولانی تغییر ندادم، شبیهساز ترمینالم بود.
در اخیراً تمام جریان کاریام را بهصورت کامل بهتدریج به ترمینال منتقل کردهام، و برای بیشتر زمان تجربهای عالی بوده است. یک نکته بزرگ که مدتها تغییر ندادم، شبیهساز ترمینال من بود.
در طول سالها گزینههای بسیاری را امتحان کردهام، از جمله iTerm2 و Alacritty، اما هرگز نتوانستم بهصورت دائم به آنها تغییر کنم. اخیراً ولی Ghostty را امتحان کردم و کاملاً عاشقش شدم و فکر میکنم این بهترین انتخاب برای من است تا چیز بهتر دیگری پیدا شود.

Ghostty یک شبیهساز ترمینال مدرن با شتابگیری GPU است که بر عملکرد روان، تنظیمات پیشفرض معقول و ویژگیهای قدرتمند تمرکز دارد بدون اینکه در کار شما مانع شود.
شتابگیری GPU در ترمینال شما آنقدر که بهنظر میرسد احمقانه نیست
نه، این برای بازی Doom نیست
در نگاه اول، این ایده بهنظر میرسد کاملاً غیرضروری باشد. یک پنجره ترمینال فقط متن را نمایش میدهد؛ ویدئوها را پخش نمیکند و صحنههای سهبعدی را رندر نمیکند. پس چرا نیاز به شتابگیری GPU دارد؟
مشکل این است که استفاده مدرن از ترمینال دیگر شبیه به جریان کاری قدیمی «دستوری تایپ کن، یک خط خروجی بگیر» نیست.
بهمثال کاری رایج مانند نصب یک برنامه بزرگ یا مشاهده پیشرفت ساخت در حین انتظار فکر کنید. ترمینال ناگهان با خطوطی که سریعتر از توان خواندن شما میگذرند پر میشود. اگر سعی کنید به عقب اسکرول کنید، اندازه پنجره را تغییر دهید یا تمرکز را در میانهٔ دستور عوض کنید، معمولاً احساس خواهید کرد که کمی آهسته یا لرزش میکند. این همیشه اتفاق نمیافتد، اما میتواند حتماً رخ دهد اگر از ترمینال بهعنوان یک IDE کامل استفاده کنید.
در همانجایی است که شتابگیری سختافزاری به اهمیت میرسد. بهجای اینکه پردازندهٔ مرکزی هم کار واقعی را انجام دهد و هم رندر هزاران کاراکتر را، GPU بهطور کامل مسئول رسم میشود. پردازنده میتواند بر اجرای دستورات شما تمرکز کند، در حالی که GPU همه چیز دیگر را مدیریت میکند.
همچنین در نمایش تصاویر و سایر رسانهها مستقیماً داخل ترمینال بهصورت چشمگیری کمک میکند، بدون آنکه نیاز به هکهای ترمینالهای قدیمی مبتنی بر CPU داشته باشد.
قبل از ادامه، شایسته است یک تصور غلط رایج که در ردیت میبینم را روشن کنیم. یک ترمینال شتابدار با GPU سرعت اجرای دستورات شما را افزایش نمیدهد. کارهایی مانند کامپایل کد همانقدر زمان میبرد. تنها بهبودهای عملکردی که احساس میکنید، در خود رابط کاربری ترمینال است.

نه لینوکس، نه ویندوز. چیزی بهتر.
Ghostty باید ترمینال پیشفرض جدید شما باشد
نام ترسناک است، اما برنامه نه

همانطور که پیشتر گفتم، Ghostty یک ترمینال شتابدار با GPU است، مشابه Alacritty، به این معنی که تمام اسکرول روان و پاسخگویی کلی که با واگذاری رندر به GPU بهدست میآید، برای شما فراهم میشود.
اما Ghostty فقط بهدلیل شتابگیری GPU خوب نیست؛ ویژگیهای شگفتانگیز دیگری نیز دارد. از سمت کاربر، همه ویژگیهای شگفتانگیزی که در شبیهسازهای ترمینال عالی دیگر مانند iTerm2 مییابید، در دسترس است. برای مثال، میتوانید پنجره را تقسیم کنید تا چندین فرآیند را بر روی یک صفحه نمایش دهید. باید بگویم که این بهقدر قابلیت tmux ندارد، اما برای جریانهای کاری سریع، بهخوبی کافی است و نیاز به تنظیمات اضافی ندارد.
این پشتیبانی صحیحی از قلمهای مدرن و لیگاتورها دارد، بهطوری که متن واقعی تمیز و نه کمی نامنظم ظاهر میشود. رندر یونیکد و ایموجی بهطرز کامل عمل میکند، که این بعد پس از مدتی که شروع به پردازش Pull Requestهای کد میکنید، اهمیت فراوانی پیدا میکند.
در پشت صحنه، Ghostty همچنین از قابلیتهای مدرن ترمینال مانند پروتکل گرافیک Kitty پشتیبانی میکند که به برنامهها اجازه میدهد تصاویر و سایر رسانهها را مستقیماً داخل ترمینال رندر کنند. اگر این بهنظر معامله کوچکی میآید، فقط تفاوت بین ترمینال پیشفرض macOS (در سمت راست) و Ghostty (در سمت چپ) را ببینید.
من قصد ندارم ادعا کنم که Ghostty بهترین شبیهساز ترمینال موجود است. گزینههای بسیار خوبی وجود دارد و برخی از آنها در کارهای خاص بهتر هستند. برای من، Ghostty تعادل عالیای دارد.
تمهای Ghostty مرا جذب کرد
اما یک نکتهٔ مهم وجود دارد

Ghostty بیش از یک صد تم داخلی دارد و بهدست آوردهام که حتماً چیزی را در این لیست پیدا خواهید کرد که خوشتان بیاید. برای مرور همهٔ آنها میتوانید دستور زیر را مستقیماً داخل Ghostty اجرا کنید:
ghostty +list-themes
این یک پیشنمایش تعاملی باز میکند که میتوانید یکبهیک تمها را مرور کنید و ببینید چگونه در زمان واقعی ظاهر میشوند. این بسیار مفید است، زیرا نشان میدهد هر جریان کاری چگونه در آن تم بهنظر میرسد. وقتی تم موردنظر را پیدا کردید، نام آن را جایی کپی کنید، چون اعمال آن متأسفانه به سادگی از طریق یک رابط گرافیکی امکانپذیر نیست.
برای تنظیم تم، باید فایل پیکربندی Ghostty را بهصورت دستی ویرایش کنید. میتوانید آن را در لینوکس با اجرای این دستور باز کنید:
nano ~/.config/ghostty/config
اگر در macOS هستید، بهجای آن باید این دستور را تایپ کنید:
برای دریافت خبرنامه و انتخابهای هوشمندانهتر ترمینال، مشترک شوید
nano $HOME/Library/Application Support/com.mitchellh.ghostty/config
درون فایل، خطی شبیه به این اضافه کنید، بهجای نام تم با تم موردنظر خود جایگزین کنید:
theme = "theme-name"
در همین حین، گزینههایی برای تغییر قلم و تنظیم چند گزینهٔ دیگر را نیز مشاهده خواهید کرد. اگر میدانید چه میکنید، میتوانید همه چیز را از طریق این فایل پیکربندی سفارشی کنید.
فایل را ذخیره کنید و Ghostty را دوباره اجرا کنید، و تم اعمال خواهد شد. این یک فرآیند دستی است که مطمئناً یکی از نکات انتقادی من نسبت به Ghostty است.

تخصص واقعی این است که ابزاری را انتخاب کنید که اصطکاک را کاهش دهد.
یک بهبود اساسی است
تغییر شبیهساز ترمینال به ندرت هیجانانگیز است، واضح است. اما همچنان، گاهی ارزش دارد. بسیاری از بهبودهای زیرساختی وجود دارد که بهظاهر نمیبینید، اما تفاوت عظیمی ایجاد میکنند.
اگر به هر دلیلی هنوز فکر میکنید Ghostty برای شما مناسب نیست، پیشنهاد میکنم نگاهی به چیزهایی مثل Kitty یا Alacritty بیندازید، که هر دو نیز شتابگیری GPU دارند.