
بیشتر کاربران برنامهها را از فروشگاههای اپلیکیشن یا با دانلود مستقیم فایل نصب در مرورگر نصب میکنند. اما اگر با دنیای فناوری آشنا باشید، میدانید که مدیران بسته (Package Manager) میتوانند بسیار راحتتر باشند. مشکل اینجاست که این ابزارها همیشه شهودی نیستند و اغلب به ترمینال و دستورات متفاوت بر اساس پلتفرم نیاز دارند. در لینوکس حتی ممکن است به چند مدیر بسته مختلف نیاز داشته باشید. اینجاست که UniGetUI وارد میشود و تجربه را متحول میکند.
شروع از ویندوز؛ یک مدیر بسته برای همه
UniGetUI ابتدا برای ویندوز ساخته شد و هنوز هم بیشترین کاربرد را در این سیستمعامل دارد. این ابزار مدیران بسته مختلف مانند Winget مایکروسافت، Chocolatey و Scoop را یکجا جمع میکند. این موضوع اهمیت زیادی دارد، زیرا هر یک از این مدیران بسته دلایل وجودی خود را دارند. Chocolatey و Scoop هر دو پیش از Winget عرضه شدهاند و برخی کاربران ترجیح میدهند به جای راهحلی که مایکروسافت کنترل میکند، از آنها استفاده کنند.
با یکپارچهسازی این گزینهها، نه تنها میتوانید روش ترجیحی خود را برای نصب برنامهها انتخاب کنید و از دستورات گیجکننده ترمینال دوری کنید، بلکه میتوانید از ترکیب آنها برای پوشش برنامههایی استفاده کنید که در یک مدیر بسته خاص وجود ندارند. ممکن است Winget برنامههای زیادی داشته باشد، اما برخی بستههای کمیاب تنها در Chocolatey و Scoop در دسترس هستند.
علاوه بر این، UniGetUI مدیران بسته تخصصیتری مانند Npm، Pip، Bun و PowerShell Gallery را نیز پشتیبانی میکند که هر کدام برای کاربران حرفهای و توسعهدهندگان کاربرد خاصی دارند. تقریباً هر مدیر بستهای که روی سیستم خود استفاده میکنید از طریق UniGetUI قابل مدیریت است. این ابزار موتور جستجویی دارد که همزمان در همه مدیران بسته جستجو میکند (با گزینههای فیلتر) و یک رابط بهروزرسانی متمرکز نیز ارائه میدهد.
مزایا در لینوکس؛ آگاه به توزیع
روح UniGetUI در لینوکس نیز زنده است و اگر عملکرد ویندوزی آن را به لینوکس منتقل کنید، دقیقاً همان انتظار را برآورده میکند. مدیران بسته تخصصیتر مانند Npm، Cargo و PowerShell Gallery (برای PowerShell چندسکویی) همچنان حضور دارند و این مدیران بسته عمومی هستند که تفاوت میکنند.
UniGetUI در لینوکس از Flatpak و Snap پشتیبانی میکند؛ دو مدیر بسته «جهانی» اصلی که تقریباً روی همه توزیعهای لینوکس کار میکنند. میتوانید برنامهها را جستجو کنید و بهروزرسانیها را بهطور خودکار از این دو سیستم و همچنین Homebrew (در صورت راهاندازی) دریافت کنید.
اما مدیران بسته بومی چه میشوند؟ UniGetUI به توزیع آگاه است (Distro-aware)، یعنی از مدیر بستهای که توزیع شما استفاده میکند پشتیبانی میکند، اما یک محدودیت بزرگ وجود دارد. در آزمایش روی توزیعهای مبتنی بر اوبونتو و همچنین Arch، مشخص شد که UniGetUI میتواند بستههای جدید را از این مدیران جستجو و نصب کند، اما قادر به جستجوی بهروزرسانیها در آنها نیست. بهطور عجیبی، اگر در ترمینال بهروزرسانیها را جستجو کنید، سپس میتوانید بهروزرسانیهای موجود را در UniGetUI ببینید و از همانجا نصب کنید، اما اگر قرار است ترمینال را باز کنید، مزیت UniGetUI تا حدی از بین میرود. مشخص نیست این یک محدودیت طراحی است یا یک باگ در نسخه فعلی، اما در هر صورت از کاربرد برنامه میکاهد. با این حال، قابلیت جستجو و بهروزرسانی سایر انواع بستهها آن را دوستداشتنی میکند.
مک؛ کمترین امکانات اما همچنان مفید
در نهایت، macOS نیز نسخهای از UniGetUI دارد و همانطور که انتظار میرود، از نظر فنی کمترین قابلیتها را ارائه میدهد. با این حال همچنان مفید است.
دلیل این امر آن است که macOS واقعاً مدیر بستهای ندارد که برای همه انواع برنامهها بهطور گسترده استفاده شود. تنها دو راه برای نصب برنامه در مک وجود دارد: استفاده از App Store یا دانلود فایل نصب از وب. در غیر این صورت سیستم بهروزرسانی متمرکزی وجود ندارد. این یعنی هیچ مدیر بستهای نمیتواند همه برنامههای شما را مدیریت کند.
با این وجود، UniGetUI را روی Mac Mini خود بسیار مفید یافتهام، زیرا از Homebrew پشتیبانی میکند. Homebrew هرچند برای برنامههای کامل طراحی نشده، اما مدیر بسته عالی برای انواع ابزارهایی است که من و بسیاری دیگر به آنها وابستهایم؛ مانند ffmpeg برای تبدیل ویدئو یا yt-dlp برای دانلود ویدئو از یوتیوب. بیشتر اوقات این ابزارها ماهها بدون بهروزرسانی روی رایانه من میمانند، چون هرگز زحمت باز کردن ترمینال و بررسی را به خود نمیدهم. بنابراین UniGetUI این بهروزرسانیها را به اطلاع من میرساند و نصب آنها را بسیار آسانتر میکند.
علاوه بر این، مدیران بسته دیگری مانند Pip و Npm نیز در macOS پشتیبانی میشوند، بنابراین موارد استفاده زیادی برای این پلتفرم وجود دارد.
کنترل و انعطافپذیری
علاوه بر خود مدیریت بسته، UniGetUI چند قابلیت مشترک در هر سه پلتفرم ارائه میدهد. علاوه بر یافتن برنامهها و بررسی بهروزرسانیها، کنترلهای بیشتری نیز فراهم میکند. هنگام نصب یک بسته میتوانید آن را طوری تنظیم کنید که همه بهروزرسانیهای آینده را نادیده بگیرد. یا بعداً میتوانید بهروزرسانیهای یک بسته خاص را موقتاً متوقف کنید، مثلاً اگر از یک مشکل شناختهشده مطلع هستید.
یکی دیگر از قابلیتهای جذاب UniGetUI که آن را دوست دارم، امکان ساخت بستههای ترکیبی (Bundle) از بستهها و نصب یکجای آنهاست. چون چند مدیر بسته در یک ابزار جمع شدهاند، میتوانید بستههای ترکیبی را از میان همه آنها بسازید. مهمتر اینکه برای مدیران بستهای مانند Pip یا Npm که در چند پلتفرم پشتیبانی میشوند، حتی میتوانید بستههای ترکیبی را در لینوکس بسازید و مثلاً در مک استفاده کنید. این راهحل به بیش از یک معنا یکپارچهکننده است.
جمعبندی
UniGetUI مدتهاست برای رایانههای ویندوزی مورد علاقه من بوده است، اما پس از کشف اینکه اکنون یک ابزار چندسکویی است، بیشتر تحسینش میکنم. ای کاش پیادهسازی لینوکس آن کاملتر بود، اما در غیر این صورت روشی عالی برای آوردن بهروزرسانی بستهها زیر یک سقف است تا مطمئن شوم سیستمم همیشه بهروز باقی میماند.