Score:3

mimetype ไม่ระบุไฟล์ pdf: mime hell

ธง cl

ฉันไม่เคยมีปัญหากับการเปิดไฟล์ pdf จนกระทั่งเมื่อไม่นานมานี้ จากนั้นฉันต้องการอ่านข้อมูลบนแพ็คเกจ xcolor สำหรับ TeX และป้อนคำสั่งต่อไปนี้:

texdoc xcolor

สิ่งนี้ได้ผลมาโดยตลอด โดยเปิดเอกสารประกอบในโปรแกรมดูไฟล์ PDF ที่ฉันชอบ qpdfview แต่ตอนนี้พยายามเปิดด้วย qpdfview แต่ qpdfview แสดงข้อผิดพลาด:

ไม่สามารถเปิด '/usr/share/texlive/texmf-dist/doc/latex/xcolor/xcolor.pdf'

และที่เทอร์มินัล ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

ประเภท MIME ที่ไม่รู้จัก: ""
"ไม่สามารถจับคู่ประเภทไฟล์ของ '/usr/share/texlive/texmf-dist/doc/latex/xcolor/xcolor.pdf' ได้!"

ฉันใช้ตัวจัดการหน้าต่างเรียงกระเบื้อง i3 ภายใต้ Ubuntu 21.04 และ $XDG_CURRENT_DESKTOP และ $DESKTOP_SESSION ของฉันถูกตั้งค่าเป็น 'i3'

ดังนั้น ในไฟล์ pdf ที่รู้จักกันดี ฉันจึงป้อน:

$mimetype TrigLocal.pdf
TrigLocal.pdf: ข้อความ/ธรรมดา

แม้ว่า,

ไฟล์ $ -- ชนิดใบ้
ใบสมัคร/pdf

ถูกต้อง.

ดังนั้นฉันจึงพยายาม

$ xdg-เปิด TrigLocal.pdf
gio: file:///home/ded/TeXexamples/TrigLocal.pdf: ไม่มีการลงทะเบียนแอปพลิเคชันในการจัดการไฟล์นี้

ตกลง ดังนั้นอาจตั้งค่า gio ไม่ถูกต้อง:

$ gio mime TrigLocal.pdf
ไม่มีแอปพลิเคชันเริ่มต้นสำหรับ âTrigLocal.pdfâ

ฉันลองตั้งค่าตัวจัดการด้วย

$ xdg-mime เริ่มต้น qpdfview.desktop application/pdf

แต่เมื่อฉันสอบถาม:

แอปพลิเคชันเริ่มต้นของแบบสอบถาม $ xdg-mime/pdf
qpdfview-chromium.desktop

นั่นเป็นตัวแปร แต่ฉันไม่ได้ตั้งค่า ไม่ว่าในกรณีใด ๆ จะไม่มีผลกับ xdg-open:

$ xdg-เปิด TrigLocal.pdf
gio: file:///home/ded/TeXexamples/TrigLocal.pdf: ไม่มีการลงทะเบียนแอปพลิเคชันในการจัดการไฟล์นี้

ฉันไม่รู้ว่าเกิดอะไรขึ้น และฉันไม่สามารถหาคำแนะนำที่ชัดเจนได้ทุกที่ อย่างน้อยก็ไม่มีวิธีใดที่ได้ผล

ระบบนิเวศทั้งหมดของการเชื่อมโยงประเภทไฟล์กับตัวจัดการภายใต้ Ubuntu ทำให้ฉันประหลาดใจ ดังนั้นฉันจึงขอขอบคุณบทช่วยสอนภาพรวมที่ดีที่อธิบายความสัมพันธ์ระหว่าง:

ประเภทละครใบ้ xdg-เปิด จิโอ

และสิ่งอื่นๆ ที่เกี่ยวข้องกับการช่วยฉันแก้ไขระบบที่ไม่ใช่ Gnome ไม่ใช่ KDE

อัปเดต

ตามคำแนะนำของ @steeldriver ฉันวิ่ง:

$ mimetype --debug TrigLocal.pdf
> ข้อมูล dirs คือ: /home/ded/.local/share, /var/lib/flatpak/exports/share /home/ded/.local/share /flatpak/exports/share
> การตรวจสอบประเภทไอโหนด
> การตรวจสอบ globs สำหรับชื่อฐาน 'TrigLocal.pdf'
> ตรวจสอบนามสกุล '.pdf'
> การตรวจสอบ globs สำหรับชื่อฐาน 'triglocal.pdf'
> ตรวจสอบนามสกุล '.pdf'
> มีไฟล์อยู่ ลองใช้วิธีเริ่มต้น
TrigLocal.pdf: ข้อความ/ธรรมดา

ฉันไม่เห็นอะไรน่าสนใจใน ~/.local/share แต่ฉันเห็นสิ่งนี้:

$ cat ~/.local/share/applications/mimeapps.list 
[แอปพลิเคชันเริ่มต้น]
แอปพลิเคชัน/pdf=qpdfview.desktop
แอปพลิเคชัน/html=google-chrome.desktop
ข้อความ/html=google-chrome.desktop
x-scheme-handler/http=google-chrome.desktop
x-scheme-handler/https=google-chrome.desktop
x-scheme-handler/about=google-chrome.desktop
x-scheme-handler/unknown=google-chrome.desktop

[เพิ่มสมาคม]
application/pdf=evince.desktop;zathura-pdf-poppler.desktop;
hr flag
`mimetype --debug TrigLocal.pdf` ให้ผลลัพธ์ที่เป็นประโยชน์หรือไม่
Daniel Doherty avatar
cl flag
@steeldriver บางที ฉันได้รับผลลัพธ์ต่อไปนี้: > ข้อมูล dirs คือ: /home/ded/.local/share, /var/lib/flatpak/exports/share /home/ded/.local/share/flatpak/exports/share > การตรวจสอบประเภทไอโหนด > การตรวจสอบ globs สำหรับชื่อฐาน 'TrigLocal.pdf' > ตรวจสอบนามสกุล '.pdf' > การตรวจสอบ globs สำหรับชื่อฐาน 'triglocal.pdf' > ตรวจสอบนามสกุล '.pdf' > มีไฟล์อยู่ ลองใช้วิธีเริ่มต้น TrigLocal.pdf: ข้อความ/ธรรมดา
Score:0
ธง cl

ฉันพบปัญหา การรัน mimetype --debug ให้คำใบ้ แต่ฉันไม่เห็น (ขอบคุณ @steeldriver) ฉันลองใช้คำสั่งเดียวกันกับรูทในไฟล์เดียวกัน และมันก็ให้คำตอบที่ถูกต้อง

ปรากฎว่า ด้วยเหตุผลบางอย่าง การตั้งค่าสำหรับตัวแปรสภาพแวดล้อม XDG_DATA_DIRS เข้าไปในไฟล์กำหนดค่าเชลล์ของฉัน และไม่รวมไดเร็กทอรีเริ่มต้น

ตาม ข้อมูลจำเพาะ XDGมันถูกตั้งค่าเป็น "/usr/local/share:/usr/share" โดยค่าเริ่มต้น และการตั้งค่าของฉันแทนที่สิ่งเหล่านี้ ดังนั้นฐานข้อมูล mime เริ่มต้นที่ /usr/share/mime/freedesktop.org.xml จึงไม่ได้รับการอ่าน เข้าสู่ระบบตรวจจับละครใบ้

เนื่องจากการตั้งค่าที่ผิดพลาดได้เพิ่มไดเร็กทอรีที่เกี่ยวข้องกับ flatpak ฉันจึงต้องเพิ่มการตั้งค่าที่เกี่ยวข้องกับการลองใช้ flatpaks แต่ฉันจำไม่ได้ว่าทำสิ่งนั้น ดังนั้นการตั้งค่าอาจถูกเพิ่มลงในไฟล์ config.fish ของฉันที่อยู่ด้านหลังของฉัน .

อย่างไรก็ตาม ฉันหวังว่านี่จะช่วยใครบางคนในอนาคต

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา