
ابزار رایگان Atuin راهی برای همگامسازی (Sync) تاریخچه ترمینال (Terminal History) بین چند رایانه فراهم کرده است. این ابزار تاریخچه استاندارد خط فرمان را با یک فایل SQLite جایگزین میکند که با سرور همگام میشود و سپس در دستگاههای دیگر در دسترس قرار میگیرد.
همگامسازی ساده و امن
راهاندازی Atuin برخلاف انتظار ساده است. کافی است اسکریپت نصب ارائهشده در وبسایت اجرا شود تا ابزار نصب و سپس از کاربر خواسته شود وارد حساب شود یا حساب بسازد. همگامسازی از طریق سرور ابری میزبانشده انجام میشود، اما دادهها در این حالت با رمزنگاری سرتاسری (End-to-End Encryption) محافظت میشوند. در صورت تمایل میتوان از سرور خودمیزبان (Self-Hosted) هم استفاده کرد.
پس از تنظیم رایانه اول، میتوان در رایانههای دیگر وارد حساب شد و با کلید (Key) تولیدشده خودکار، دستگاهها را به هم متصل کرد. این کلید با دستور atuin key در رایانه اصلی قابل دریافت است. بهطور پیشفرض همگامسازی هر پنج دقیقه انجام میشود، اما این بازه قابل تغییر است و با دستور atuin sync نیز میتوان همگامسازی دستی انجام داد.
تاریخچه ترمینال بهبودیافته
مزیت Atuin فقط همگامسازی نیست. پس از راهاندازی، با زدن کلید جهت بالا فهرستی از کل تاریخچه در همه دستگاهها نمایش داده میشود. کاربر میتواند در این فهرست حرکت کند یا با تایپ کردن، دستور موردنظر را جستوجو و نتایج را محدودتر کند. هنگام حرکت در فهرست، به نُه دستور پیش از انتخاب فعلی شماره اختصاص داده میشود و با ترکیب Alt + شماره میتوان دستور مربوطه را به خط ویرایش آورد.
میتوان این رفتار را غیرفعال کرد و از میانبر Ctrl+R استفاده کرد. این میانبر علاوه بر نمایش تاریخچه، امکان تغییر حالت فیلتر (Filter) را هم میدهد؛ از جمله نمایش دستورات همه دستگاهها، فقط دستگاه فعلی، نشست فعلی (Current Session) یا پوشه فعلی (Current Directory).
پشتیبانی از چند پوسته و چند پلتفرم
Atuin روی پلتفرمهای اصلی (Major Platforms) و چند پوسته (Shell) مختلف کار میکند، اما سطح پشتیبانی یکسان نیست. پوستههای Zsh، bash و fish در سطح «Tier 1» قرار دارند و همه قابلیتها را پشتیبانی میکنند. پوستههای nushell، xonsh و PowerShell نیز پشتیبانی میشوند، اما برخی قابلیتهای Atuin در آنها وجود ندارد. با این حال، بخش تاریخچه در آنها بهدرستی کار میکند. در PowerShell ممکن است برای اجرای اسکریپت، نیاز به تغییر سیاست اجرا (Execution Policy) باشد.
نکته مهم برای تاریخچه بین پوستهها
در پوستههای پشتیبانیشده، تاریخچه همگامشده در دسترس است، اما یک نکته وجود دارد: بهطور پیشفرض با زدن کلید جهت بالا یا Ctrl+R فقط تاریخچه همان پوسته فعلی نمایش داده میشود. برای دیدن نتایج همه پوستهها باید فایل پیکربندی (Config File) Atuin تغییر کند. در لینوکس این فایل بهطور پیشفرض در مسیر ~/.atuin/config.toml قرار دارد و کافی است در بخش [search] خط shells = "all" اضافه شود. این تنظیم را میتوان بسته به نیاز هر دستگاه تغییر داد.
دسترسی به تاریخچه ترمینال در چند دستگاه، حتی برای کاربرانی که گاهی از خط فرمان استفاده میکنند، مفید است. Atuin امکان بازیابی دستوراتی را که در رایانه دیگری اجرا شدهاند فراهم میکند و چون تاریخچه در قالب متن ساده ذخیره میشود، نگهداری طولانیمدت آن دشواری زیادی ندارد.