کار با پراکسموکس حسابی سرگرمم کرده بود و سرانجام تصمیم گرفتم دل به دریا بزنم و رایانهٔ گیمینگ فعلیام را به یک سرور خانگی تبدیل کنم. مسیر پرفرازونشیبی بود، اما هر بار که از آن سوی اتاق به سرور نگاه میکردم، احساس میکردم چیزی کم است.
پاسخ کاملاً روشن بود: یک نمایشگر دیگر! چیزی که میخواستم، داشبوردی زنده برای نمایش آمار بود و در نهایت بهترین گزینه را یک نمایشگر قابلحمل دیدم که به کنار کیس متصل شود. این تغییر واقعاً تجربهام را دگرگون کرد و یک مزیت جانبی هم داشت: اگر اوضاع حسابی بههم میریخت، میتوانستم از آن بهعنوان نمایشگر پشتیبان استفاده کنم.
نمایشگر قابلحمل با برق USB-C در نقش کیوسک
اتصال به بدنه با چسب دوطرفه





به چیزی نیاز داشتم که آنقدر کوچک باشد که کنار کیس جا بگیرد و بتوان آن را به نوعی «کیوسک» تبدیل کرد. نمایشگرهای معمولی اصلاً گزینهٔ مناسبی نبودند؛ نمیشد وسیلهای به آن بزرگی و سنگینی را روی پنل شیشهای کناری نصب کرد. تازه برای کارکردن نیز به پریز برق جداگانهای نیاز داشتند.
بنابراین، توجهم را به نمایشگرهای USB-C معطوف کردم. نمونههای گوناگونی از این نمایشگرها را میتوان در وبسایتهایی مانند آمازون پیدا کرد و من هم ارزانترین مدلی را که یافتم انتخاب کردم. خواستههایم ساده بود: تأمین برق از راه USB-C و برخورداری از درگاه فیزیکی HDMI؛ هر دو ویژگی نیز در این پنل سادهٔ IPS با روشنایی ۲۵۰ نیت و وضوح 1080p وجود داشت.
راستش را بخواهید، چندان هیجانانگیز نیست؛ اما نیازهای اصلی را بهخوبی برآورده میکند، برقش را از USB-C میگیرد و برای کارکردن فقط به ۱۲ وات توان نیاز دارد. با قیمت ۶۳ دلار، واقعاً جایی برای گلایه باقی نمیماند.
فقط نصب نمایشگر و سیمکشی باقی مانده بود. برای برقرسانی، یک کابل استاندارد USB-A به USB-C را به یکی از درگاههای USB ۲.۰ مادربرد وصل کردم و همین کار ساده جواب داد.
برای خروجی تصویر نیز از کابل همراه دستگاه، یعنی mini-HDMI به HDMI، استفاده کردم؛ چون نمایشگر درگاه HDMI تماماندازه ندارد. سر دیگر کابل را هم به خروجی تصویر iGPU مادربرد متصل کردم.
پس از ساماندادن اتصالات، نوبت نصب نمایشگر رسید. بههیچوجه حاضر نبودم برای این کار پنل شیشهای کیس را دستکاری کنم؛ بنابراین به سراغ بهترین راهحل بعدی رفتم: چسب نواری. شاید این انتخاب تعجببرانگیز به نظر برسد، اما اجازه دهید توضیح بدهم.
با مقداری چسب نواری «مناسب سیلیکون»، سه نوار روی پنل شیشهای ایجاد کردم و نمایشگر USB-C را با دقت روی آنها چسباندم. تا اینجا محکم سر جایش مانده و هیچ جابهجایی یا حرکت ناخواستهای نداشته است.
وقتی نمایشگر نصب و آماده شد، زمان راهاندازی سرور فرا رسید. در کمال خوشحالی، همهچیز بینقص کار کرد و در حالی که تصویر بهدرستی نمایش داده میشد، بدون هیچ دردسری وارد کنسول پراکسموکس شدم.
نصب بستههای ضروری در پراکسموکس
بار اصلی بر دوش کانتینرهای LXC گرافانا و پرومتئوس

نمایشگر در وضعیت فعلی تقریباً بیفایده بود؛ فقط خروجی tty را نشان میداد و بس. البته همیشه میتوانستم وارد سامانه شوم و ابزاری مانند bpytop را اجرا کنم، اما این روش به همان اندازه راحت نبود و هدف اصلی راهاندازی خودکار را هم بیمعنا میکرد.
به یک محیط گرافیکی یا دستکم پنجرهٔ مرورگری تمامصفحه برای نمایش شاخصها نیاز داشتم. راه دوم را برگزیدم، چون نصب یک نشست کامل دسکتاپ روی سرور پراکسموکس را بیهوده میدانستم.
برای این کار از Cage، یک ترکیبکنندهٔ ویلند، و Chromium، مرورگری که انگار همهجا حضور دارد، کمک گرفتم. این ترکیب در عمل یک نشست توکار و تمامصفحه از Chromium باز میکند که بهطور خودکار نشانی URL مربوط به پرومتئوس را باز میکند.
پرومتئوس سامانهای برای پایش پراکسموکس است و به کاربران امکان میدهد دادههای زندهٔ سامانه را گردآوری کنند. سپس میتوان این دادهها را به ابزاری مانند گرافانا فرستاد تا در قالب یک «داشبورد» سفارشی نمایش داده شوند.
نصب پرومتئوس و گرافانا با استفاده از مجموعهاسکریپتهای پراکسموکس VE که جامعهٔ کاربران فراهم کرده است، فوقالعاده آسان بود. تنها دو فرمان در ترمینال اجرا کردم و بعد سراغ پیکربندی سرویسهای کانتینر LXC رفتم تا واقعاً با یکدیگر کار کنند؛ کاری که بسیار بیش از حد انتظار زمان برد.
اسکریپتنویسی برای نمایش آمار در پراکسموکس
ورود خودکار، کانتینرهای بیشتر و چند ریزتنظیم دیگر

نخستین کار، پیکربندی گرافانا بود. پس از تنظیم مجوزهای لازم، باید پرومتئوس را به پیشخوان متصل میکردم و یکی از پوستههای پرشمار ساختهشده بهدست جامعهٔ کاربران را برای پیشخوان نمایشی کیوسک برمیگزیدم.
در این مرحله کافی بود وارد گرافانا شوم تا فهرست آمار گردآوریشده با کمک پرومتئوس را نمایش دهد. بااینحال، این سازوکار هنوز با کاربری روان و بیدردسر فاصله داشت و باید دو مشکل دیگر را هم برطرف میکردم.
مشکل نخست، ورود خودکار بود. نمایشگر باید پس از راهاندازی، بیدرنگ رابط وب گرافانا را باز میکرد و صفحهٔ آمار را نشان میداد. این کار با ساخت یک فایل سفارشی .profile در پوشهٔ خانگی شدنی بود.
همانطور که خواهید دید، این فایل در اصل پوششی برای نشست Cage است که Chromium را اجرا میکند و طوری تنظیم شده تا تنها یک نشانی IP مشخص را باز کند. این نشانی باید همان URL پیشخوان باشد؛ بنابراین پیوند را بهسادگی در اینجا رونویسی کردم. مشکل دوم بسیار آزاردهندهتر بود: مجوزها. گرافانا بهطور پیشفرض برای ورود به سرور گذرواژه میخواهد. این مانع بزرگی بود که کل فرایند خودکارسازی را مختل میکرد.
خوشبختانه، این مشکل هم راهحل داشت: کافی بود ورود را غیرفعال و دسترسی مدیر را بهطور پیشفرض فعال کنم. شاید این کار کمی ناامن به نظر برسد، اما مطمئن شدم مجوزهای محفظهٔ گرافانا فقط به حالت خواندنی محدود باشند. سرانجام نوبت ویرایش سرویس tty1 و هدایت آن به نمایهٔ کیوسک، همراه با فعالسازی ورود خودکار، رسید. با این کار، سرور همیشه مستقیماً وارد نشست تودرتوی Chromium و Cage میشد و بهطور خودکار پیشخوان گرافانا را باز میکرد.
پس از یک بررسی سریع برای اطمینان از درستی تنظیمات و یک راهاندازی دوباره، سرانجام همهچیز سر جای خود قرار گرفت. اکنون همهچیز درست کار میکند و بهعنوان یک مزیت اضافه، میتوانم پوستهٔ گرافانا را نیز مطابق سلیقهام تغییر دهم.
کارآمد بهعنوان نمایشگر پشتیبان
هنگامی که ناخواسته سامانه را از کار انداختم، اتفاقی به کاربرد دیگری هم پی بردم. نمایشگر قابلحمل، نمایشگری پشتیبان و بسیار کارآمد است و اگر سرور پاسخگو نباشد، راهی سریع برای بررسی مشکل در اختیار میگذارد.
خوشبختانه تاکنون با خرابی فاجعهباری روبهرو نشدهام که ناچارم کند به نمایشگر قابلحمل روی بیاورم؛ بااینحال، میتوانم تصور کنم که در مواقع اضطراری بسیار به کار بیاید.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Dipan Saha است. مشاهده مقاله اصلی