برای برنامههای لینوکس که بهطور پیشفرض دارای ورودی دسکتاپ نیستند، میتوانید به صورت دستی ورودیهای نوار وظیفه و منو را ایجاد کنید تا به نتایج مشابهی برسید.
گاهی اوقات برنامه های لینوکس از مخازن توزیع و فروشگاه های نرم افزاری شما یا به صورت بسته های DEB یا RPM قابل دانلود در دسترس نیستند. اغلب اوقات برنامه ها فقط به عنوان AppImages یا تاربال های قدیمی در دسترس هستند. این فایل های اجرایی مستقل در واقع نصب نمی شوند، فقط اجرا می شوند.
مشکل این است که بدون نصب، نوار وظیفه یا ورودی های منو برای این برنامه ها ندارید. در حالی که ابزارهایی برای آسان کردن ایجاد این ورودی ها وجود دارد، خوب است بدانید که چگونه خودتان آنها را به صورت دستی ایجاد کنید.
خوشبختانه، اکثر محیطهای اصلی دسکتاپ لینوکس به مجموعهای از مشخصات مشترک ارائه شده توسط freedesktop.org متکی هستند. بنابراین فرآیند ایجاد میانبرهای برنامه در توزیع های مختلف لینوکس یکسان عمل می کند.
مرحله 1: نمایش فایل ها و پوشه های مخفی
ورودی های منوی سفارشی از فایل های دسکتاپ واقع در یک پوشه مخفی در فهرست اصلی شما ایجاد می شوند:
/home/username/.local/share/applications
اولین کاری که باید انجام دهید این است که مدیر فایل خود را برای مشاهده فایل ها و پوشه های مخفی پیکربندی کنید. مدیر فایل خود را باز کنید، روی نماد منو (سه نوار افقی) کلیک کنید و کادر کنار نمایش فایل های مخفی را علامت بزنید.
تعداد انگشت شماری از فایلها و پوشههای جدید که با نقطه شروع میشوند، از جمله .local، اکنون باید در فهرست اصلی شما ظاهر شوند. .
به پوشه .local > share > applications بروید. اگر این یک نصب کاملاً جدید لینوکس است، ممکن است مجبور شوید پوشه برنامه ها را خودتان ایجاد کنید. اینجا جایی است که فایل های دسکتاپ خود را ذخیره می کنید.
مرحله 2: WMClass برنامه را پیدا کنید
کار بعدی این است که WMClass یا ID پنجره برنامه خود را شناسایی کنید. این به ما امکان میدهد یک ورودی نوار وظیفه مدرن ایجاد کنیم که هم راهانداز برنامه و هم پنجرههای باز را در یک نماد واحد ترکیب میکند. اگر این مرحله را رد کنید، فقط یک میانبر برای راه اندازی برنامه ایجاد کرده اید.
برای شناسایی WMClass برنامه خاص خود، AppImage یا tarball خود را با راه اندازی مستقیم فایل اجرایی به روش قدیمی شروع کنید.
پیدا کردن WMClass در X11
اگر از X11 استفاده می کنید، یک ترمینال را باز کنید و وارد کنید:
xprop WM_CLASS
نشانگر ماوس شما باید به یک خط کش تبدیل شود.
در هر نقطه از پنجره برنامه خود کلیک کنید و ترمینال شما باید خروجی را در این فرمت نمایش دهد:
WM_CLASS(STRING) = “appname”, “AppName”
دومین مقدار در نقل قول ها WMClass برنامه شما است. برای قدم بعدی آن را به خاطر بسپار
پیدا کردن WMClass در Wayland
اگر از توزیع جدیدتری استفاده می کنید، ممکن است از سرور نمایشگر X11 سنتی استفاده نکنید، بلکه از جدیدتر و لمسی Wayland استفاده می کنید. متأسفانه، این ترفند فقط با گنوم کار می کند زیرا به ابزار Looking Glass گنوم شل متکی است.
- Alt + F2 را فشار دهید، lg را تایپ کنید و Enter را فشار دهید.
- روی تب Windows کلیک کنید.
همه پنجره های باز شما باید به همراه wmclass مربوطه خود فهرست شوند. به یاد داشته باشید که wmclass برنامه خود را برای مرحله بعدی یادداشت کنید.
مرحله 3: ایجاد یک فایل دسکتاپ
اکنون زمان ایجاد یک فایل دسکتاپ است. یک ویرایشگر متن باز کنید و موارد زیر را در یک فایل جدید قرار دهید:
[Desktop Entry]
Type=Application
Name=ApplicationName
GenericName=ApplicationType
Icon=/home/Username/.local/share/applications/ApplicationIcon.extension
Exec=/home/Username/ApplicationDirectory/ApplicationExecutable.extension
Terminal=false
Categories=ApplicationSubCategory;ApplicationCategory
Keywords=Keyword1;Keyword2;Keyword3
StartupWMClass=ApplicationWMClass
بیایید این خط به خط را مرور کنیم:
- [ورودی دسکتاپ] فایل را به عنوان ورودی منوی دسکتاپ شناسایی میکند و باید همیشه همانطور که هست باقی بماند.
- Type مشخص می کند که میانبر به یک برنامه کاربردی است. گزینه های دیگر عبارتند از Directory و Link.
- نام، نام برنامه شما را مشخص می کند. ApplicationName را تغییر دهید تا نام برنامه شما منعکس شود.
- GenericName نوع برنامه را مشخص می کند. ApplicationType را به یک توضیح عمومی مانند «ویرایشگر متن» یا «مرورگر وب» تغییر دهید.
- نماد نماد مرتبط با برنامه شما را مشخص می کند. شما می توانید هر فایل تصویری را انتخاب کنید، اما PNG و SVG معمولا بهترین کار را دارند. /home/Username/.local/share/applications/ApplicationIcon.extension را تغییر دهید تا مکان نماد برنامه شما منعکس شود.
- Exec فایل اجرایی برنامه را شناسایی می کند. /home/Username/ApplicationDirectory/ApplicationExecutable.extension را تغییر دهید تا مکان و نام فایل اجرایی برنامه شما منعکس شود.
- ترمینال برنامه شما را مشخص می کند که در پنجره ترمینال اجرا می شود یا نه. گزینه های اینجا برای ترمینال درست و برای برنامه های گرافیکی نادرست هستند.
- دستهها مشخص میکند که برنامه شما به چه دستهها و/یا زیرمجموعههایی تعلق دارد. ApplicationSubCategory و ApplicationCategory را با دسته ها و/یا زیر شاخه های مناسب برای برنامه خود جایگزین کنید—شما می توانید لیست کاملی از گزینه ها را در freedesktop.org بیابید. در حالی که می توانید چندین انتخاب از هر کدام را اضافه کنید، انجام این کار ممکن است باعث شود برنامه شما چندین بار در منوهای شما ظاهر شود.
- کلمات کلیدی کلماتی را برای کمک به جستجوی برنامه شما شناسایی می کند. Keyword1، Keyword2 و Keyword3 را به هر تعداد از کلمات کلیدی که می خواهید با برنامه خود مرتبط کنید، تغییر دهید که با نقطه ویرگول (;) از هم جدا شده اند.
- StartupWMClass پنجره های برنامه شما را شناسایی می کند. ApplicationWMClass را با WMClass برنامه خود از بخش قبل جایگزین کنید.
در اینجا یک مثال با استفاده از Bitwarden AppImage و پوشه Downloads به عنوان نماد و دایرکتوری قابل اجرا آورده شده است.
[Desktop Entry]
Type=Application
Name=Bitwarden
GenericName=Password Manager
Icon=/home/adam/Downloads/Bitwarden.png
Exec=/home/adam/Downloads/Bitwarden-22.6.2-x86_64.AppImage
Terminal=false
Categories=Security;System
Keywords=Bitwarden;Crypto;Passwords;Security
StartupWMClass=bitwarden
تغییرات خود را انجام دهید و فایل متنی را به عنوان ApplicationName.desktop در /home/username/.local/share/applications/ ذخیره کنید.
اکنون برنامه شما باید در منوها ظاهر شود:
اکنون می توانید AppImages و tarball های خود را به نوار وظیفه یا داک خود پین کنید، و به طور کلی درست مانند برنامه های نصب شده معمولی عمل می کنند.
استفاده از نقل قول برای مقابله با فضاها
اگر دایرکتوری، نماد یا فایل اجرایی حاوی یک فاصله باشد، بعید است که فایل دسکتاپ شما کار کند:
Exec=/home/Username/Application Directory/Application Executable.extension
باید در ابتدا و انتهای فیلدهای Icon و Exec علامت نقل قول قرار دهید. مثلا:
Exec=”/home/Username/Application Directory/Application Executable.extension”
اکنون ورودی منوی برنامه شما باید به درستی کار کند.
استفاده از ستاره برای مقابله با شماره نسخه
اگر فایل اجرایی برنامه شما حاوی شماره نسخه است، باید هر بار که برنامه به روز می شود، فایل دسکتاپ را به روز کنید:
Exec=/home/Username/ApplicationDirectory/ApplicationExecutable-v2.2.extension
با این حال، کاربران KDE میتوانند از یک ستاره (*) به عنوان علامت عام استفاده کنند تا جایگزین متن در حال تغییر، مانند شماره نسخه، مانند موارد زیر شود:
Exec=/home/Username/ApplicationDirectory/ApplicationExecutable-v*.extension
متأسفانه، گنوم در فایل های دسکتاپ به حروف عامیانه احترام نمی گذارد، اما همیشه می توانید نام فایل اجرایی را تغییر دهید و شماره نسخه را حذف کنید.
ورودی های منوی برنامه خود را در لینوکس ایجاد کنید
اکنون وقتی یک AppImage یا tarball را دانلود میکنید، میتوانید آن را در نوار وظیفه و منوهای خود ادغام کنید، گویی هر برنامه نصب شده دیگری است.
در طول مسیر، همچنین یاد گرفتید که چگونه فایلها و دایرکتوریهای مخفی را در مدیر فایل خود نشان دهید (و همچنین آنها را پنهان کنید)، فایلهای دسکتاپ بسازید، و چند روش برای شناسایی WMClass یک برنامه کاربردی.
معمولاً، با توجه به اینکه نرم افزار خود را از یک منبع قابل اعتماد دریافت می کنید، ورودی منو را به طور پیش فرض برای شما ایجاد می کنید.