وقتی یه برنامۀ ترمینالی رو از فایل منیجر یا لانچر باز میکنین، سیستم باید خودش یه ترمینال انتخاب کنه. اما مشکل اینجاست که هیچ استاندارد واحدی برای این انتخاب وجود نداره.
هر دسکتاپی خودش به طریقهای این رو حل کرده بود. GNOME از gnome-terminal استفاده میکرد، KDE از konsole و XFCE از xfce4-terminal. ویندو منیجرهای مینیمال مثل Hyprland و i3 و sway هم اصلاً هیچ استانداردی نداشتن.
به عبارت دیگه، اگه شما از یه window manager استفاده میکنین و مثلا ترمینال kitty رو نصب کردین، وقتی یه برنامۀ ترمینالی رو از لانچر اجرا میکنین، سیستم نمیتونه ترمینال مناسب رو برای اجرا پیدا کنه و شاید جای kitty بخواد با xterm باز کنه که روی سیستم شما نباشه.
چند سال پیش، کامیونیتی لینوکس تصمیم گرفت استانداردی برای این ایجاد کنه: xdg-terminal-exec
با استفاده از این ابزار، سیستم به سادگی از یه فایل کانفیگ ترمینالهای مورد نظر شما رو میخونه و میدونه شما کدوم ترمینال رو ترجیح میدین.
در نتیجه اگه xdg-terminal-exec نصب باشه و درست تنظیم شده باشه، تمام برنامههای ترمینالی بدون توجه به محیطی که استفاده میکنین، از ترمینال مورد نظر شما استفاده میکنن.
xdg-terminal-exec به عنوان یه specification هنوز تو مرحلۀ proposal هست. اگرچه GLib نسخۀ 2.76+ ازش پشتیبانی میکنه، ولی خیلی از سیستمها هنوز به این نسخه بهروز نشدن بنابراین اگه از نسخههای قدیمیتر استفاده میکنین این روش برای شما جواب نمیده
🔘 @linux_exp | #linux #wm #xdg