وقتی میخوایم یک فایل خاصی رو با یک اپلیکیشن دیگه ای بجز پیشفرض باز کنیم سراغ منوی Open With میریم. اما اگر برنامه مورد نظر ما در لیست نبود چی؟ بعضی از دسکتاپ ها این امکان رو فراهم کردند که بتونیم browse کنیم و برنامه مورد نظر رو پیدا کنیم. اما بعضی دسکتاپ ها امکان browse در اینجا رو ندارند. حالا اگه هدف ما اجرای اون فایل با یک کامند بخصوص باشه چی؟!
داستانی که برای من پیش اومد در مورد فایلهای chm است. همون طور که میدونید اینها فایلهای help ویندوز هستند. اما برخی کتابهای قدیمی بودند که با این فرمت ساخته شده بودند و تبدیل کردن اونها به مثلا pdf کاری بیهوده بود. برنامه های لینوکسی که بتونن فایلهای chm رو باز کنن هم خیلی ضعیف و قدیمی هستن و اغلب دیگه کار نمیکنن. مثل chmsee یا xchm. اما یک نرم افزار اوپن سورس به نام SumatraPDF با حجمی بسیار کم وجود داره که میتونه انواع فایلهای pdf و chm و epub رو به راحتی و به درستی باز کنه. اما متاسفانه فقط تحت ویندوز نوشته شده. ولی با wine به راحتی قابل اجرا است.
ولی اگر سیستم نفهمید، ما چطور بهش بفهمونیم که فایلهای chm رو با برنامه ای از برنامه های wine باز کنه؟! کار سختی نیست... یک فایل با نام دلخواه و با محتوای مشابه در مسیر زیر ایجاد میکنیم:
~/.local/share/applications/wine-chm-opwth.desktop[Desktop Entry]
Type=Application
Name=SumatraPDF
MimeType=application/vnd.ms-htmlhelp;
Exec=wine '/PATH/TO/SumatraPDF.exe' %f
NoDisplay=true
StartupNotify=true
Icon=/PATH/TO/ICON/SumatraPDF.png
حالا بعد از یک بار خروج و ورود دوباره به دسکتاپ آیتم مورد نظر ما در منوی Open With ظاهر شده.
شما میتونید برای فایل تایپ های مختلف کارهای مشابهی بکنید. برای اینکه mimetype صحیح فایلها رو بدونید، سری به این لینک بزنید
حاصل سر و کله زدن های من با لینوکس