ให้ xdg-open และส่วนขยายมีวิธีรับแอปพลิเคชันที่ xdg-open ถูกตั้งค่าเป็นส่วนขยายเฉพาะหรือไม่?
ยกตัวอย่างเช่นที่กำหนดxdg-openและผลที่ได้คือ.jpgeog
ให้ xdg-open และส่วนขยายมีวิธีรับแอปพลิเคชันที่ xdg-open ถูกตั้งค่าเป็นส่วนขยายเฉพาะหรือไม่?
ยกตัวอย่างเช่นที่กำหนดxdg-openและผลที่ได้คือ.jpgeog
คำตอบ:
AFAIK ตัวเลือกของการดำเนินการจะขึ้นอยู่กับชนิดของไฟล์แทนส่วนขยาย
อย่างน้อยใน Ubuntu คุณควรจะสามารถใช้การqueryกระทำxdg-mimeเพื่อแสดงแอปพลิเคชั่นเริ่มต้นสำหรับประเภทไฟล์เฉพาะ
$ xdg-mime query default image/jpeg
eog.desktop
คุณสามารถตรวจสอบชนิดแฟ้มสำหรับไฟล์ใดไฟล์หนึ่งโดยใช้xdg-mime query filetypeเช่น
$ xdg-mime query filetype kqDRdnW.jpg
image/jpeg
หรือใช้fileคำสั่งเช่นfile --mime-type <file>
ดูman xdg-mimeข้อมูลการใช้งานเพิ่มเติม
xdg-mime query filetype <file_you_want_the_mimetype_of>
xdg-mime query defaultไม่ได้ถ้าxdg-openเพียงแค่เรียกเครื่องมืออ้างอิง (เช่นpcmanfm); ตัวอย่างที่คุณใช้ในคำตอบไม่มีอะไรในระบบ LXDE ของฉัน
var="xdg-mime query default image/jpeg" && $(${var%.desktop})
ในการค้นหาประเภท mime ที่ใช้โดยไฟล์ที่มีอยู่โดยใช้xdg-utilsจะทำหน้าที่เป็น:
$ xdg-mime query filetype yourfile.xxx
คุณยังสามารถตั้งค่าเริ่มต้นใหม่เช่นเปลี่ยนรายการเดสก์ท็อปที่เกี่ยวข้องโดยการตั้งค่าThunar - ตัวจัดการไฟล์ที่ทันสมัยสำหรับ Xfce Desktop Environment - เป็นเบราว์เซอร์ไฟล์เริ่มต้นที่คุณควรป้อน:
$ xdg-mime default Thunar.desktop inode/directory
หรือตัวอย่างเช่นการตั้งค่าแอปพลิเคชันเริ่มต้นสำหรับhttp(s)://อินเทอร์เน็ตโปรโตคอลคุณสามารถใช้:
$ xdg-mime default midori.desktop x-scheme-handler/http
OR
$ xdg-mime default midori.desktop x-scheme-handler/https
rpmระบบพื้นฐาน มันเป็นส่วนหนึ่งของเดสก์ท็อปมาตรฐานและทำงานบน Debian (ตัวอย่าง) น่าเสียดายที่นี่เป็นวิธีการตั้งค่าเริ่มต้น ไม่ได้บอกวิธีการค้นหาค่าที่ตั้งไว้ และxdg-mime query defaultไม่รายงานเสมอว่าจะทำอย่างไรถ้าxdg-openเรียกโปรแกรมเดสก์ท็อปพื้นฐาน (เช่นpcmanfmบน LXDE)