العثور على التطبيق المفضل لتمديد ملف معين عبر أوامر UNIX SHELL

StackOverflow https://stackoverflow.com/questions/1949531

سؤال

قد لا يكون هذا بشكل صارم حول البرمجة ، ولكن إذا لم أجد حلًا جاهزًا ، فقد يصبح مهمة برمجة: في 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 تقريبًا ما أردته تمامًا ، لكنه يتيح للتحذيرات القبيحة للبرنامج الانزلاق إلى القشرة ، والتي يبدو أن ما سبق يصلحه.

شكرا لكم جميعا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top