العثور على التطبيق المفضل لتمديد ملف معين عبر أوامر UNIX SHELL
-
21-09-2019 - |
سؤال
قد لا يكون هذا بشكل صارم حول البرمجة ، ولكن إذا لم أجد حلًا جاهزًا ، فقد يصبح مهمة برمجة: في UNIX ، ما هي طريقة سطر الأوامر لتحديد التطبيق المسبق للمستخدم لنموذج fileType معين؟
إن الحل المثالي هنا سيكون أمرًا يمنعني من القيام بما يلي:
okular foo.pdf
وسمح لي أن أفعل شيئًا كهذا ، والعمل مع تطبيقاتي المفضلة:
launch foo.pdf
لم أجد أي إجابة عن طريق البحث ، ولن يعمل نهج DIY ، بينما كنت أستخدم Linux لفترة من الوقت ، ليس لدي أدنى فكرة عن الأجزاء الداخلية التي تدير تطبيقاتي المفضلة.
المحلول
على يونيكس في حد ذاته سيكون هذا هو الشخص الذي استخدمه المستخدم لفتحه ، لأنه لا يوجد أي مستوى لنظام التشغيل للتطبيق المفضل.
ومع ذلك ، تحدد بيئة سطح المكتب الرئيسية مثل هذه الفكرة ، ثم عليك استخدام مرافقها:
gnome-open
في جنوم (duh)exo-open
في XFCE [انظر التعليقات في رابط جنومxdg-open
قد تعمل في العديد من البيئات (تعمل بشكل سمعة في KDE) [انظر التعليقات في رابط جنوم- خطه فقط
kfmclient exec
(أوkfmclient4 exec
) في KDE (لم أتمكن من العثور على إشارة إلىkde-open
مثل روب H يقترح, ، وليس لديك نظام KDE في متناول اليد لتجربته)
الآن MAC OS X يوفر open
الأمر الذي يعمل مثل النقر على الملف في الباحث (وهو ما يعنيه ، يسأل نظام التشغيل ...)
عدة تصحيحات بفضل الزوال في التعليقات. لن أناقش mailcap
, ، لأنني لم أفهمها أبدًا ونسيها موجودة ...
نصائح أخرى
تختلف الإجابة اعتمادًا على بيئة سطح المكتب التي تستخدمها. منذ أن ذكرت Okular ، سأفترض أنك تستخدم KDE. لذا حاول:
kde-open <file>
بالنسبة إلى جنوم ، هناك ما يعادل:
gnome-open <file>
للإجابة على هذا بنفسي ، لقد حددت وظيفة بسيطة (باش) تعمل بالطريقة التي أتوقعها:
function show {
xdg-open $1 &> NUL
}
كان XDG-Open تقريبًا ما أردته تمامًا ، لكنه يتيح للتحذيرات القبيحة للبرنامج الانزلاق إلى القشرة ، والتي يبدو أن ما سبق يصلحه.
شكرا لكم جميعا.