xdg-open mở một ứng dụng khác với ứng dụng được chỉ định bởi truy vấn xdg-mime


7

Tôi chạy Debian Jessie mà không có môi trường máy tính để bàn (tôi sử dụng trình quản lý cửa sổ ốp lát i3) và muốn sử dụng xdg-openđể mở nhanh các tệp bằng ứng dụng ưa thích. Tôi có một vấn đề đang diễn ra khi cài đặt ứng dụng ưa thích cho các tệp PDF. Đây là vấn đề của tôi một cách ngắn gọn:

$ xdg-mime query filetype ~/Downloads/document.pdf
application/pdf

$ xdg-mime query default application/pdf
/usr/share/applications/qpdfview.desktop

$ xdg-open ~/Downloads/document.pdf
[opens gimp!]

Bất kỳ ý tưởng nào cũng sẽ được đánh giá cao - điều này đã làm tôi khó chịu trong khoảng một năm. Cách duy nhất tôi từng quản lý (tạm thời) khắc phục nó là bằng cách trực tiếp chỉnh sửa mimeinfo.cachevà xóa tham chiếu gimpkhỏi application/pdfbản ghi.

Và có, /usr/share/applications/qpdfview.desktoptồn tại và chứa vị trí chính xác của qpdfviewnhị phân. (Thật vậy, tệp .desktop này được sử dụng khi tôi chỉnh sửa bằng tay mimeinfo.cache.)

Câu trả lời:


8

Bạn có thể cố gắng tự cài đặt nó thông qua dòng lệnh bằng cách sử dụng mimeopen.

Thí dụ

$ mimeopen -d ~/test.pdf

Please choose a default application for files of type application/pdf

    1) E-book Viewer  (calibre-ebook-viewer)
    2) Document Viewer  (evince)
    3) Xournal  (xournal)
    4) GNU Image Manipulation Program  (gimp)
    5) Xpdf PDF Viewer  (xpdf)
    6) Print Preview  (evince-previewer)
    7) Inkscape  (inkscape)
    8) calibre  (calibre-gui)
    9) Other...

use application #2
Opening "/home/saml/Downloads/test.pdf" with Document Viewer  (application/pdf)

Kết quả trong tệp PDF của tôi, test.pdfmở ra trong Evince. Từ thời điểm này, Evince là mặc định khi tôi sử dụng xdg-open.

Người giới thiệu


2
Cảm ơn! Tôi vẫn không biết tại sao vấn đề tồn tại ở nơi đầu tiên, nhưng ít nhất mặc định bây giờ dường như vẫn tồn tại ngoài việc nâng cấp apt-get dist.
Tim

@Tim - rất vui vì điều này đã giải quyết vấn đề của bạn.
slm

3
Tại sao điều này hoạt động, nhưng cài đặt ứng dụng mặc định bằng cách sử dụng xdg-mimekhông hoạt động? Đây là loại công cụ khiến tôi phát điên! Để giải thích, tôi đã thử xdg-mime default /usr/share/applications/evince.desktop application/pdfxdg-mime query filetype /some/file.pdfxác nhận rằng ứng dụng mặc định đã được đặt, nhưng xdg-openhoàn toàn bỏ qua tùy chọn của tôi và mở Print Preview thay thế.
Hubro

3
@Hubro xdg-openlà một trình bao bọc kịch bản lệnh shell cho các lệnh mở của môi trường máy tính để bàn khác nhau. Tôi đoán bạn có thể thử chạy sh -x $(which xdg-open) /some/file.pdf, tìm ra lệnh mở thực tế nào được gọi, sau đó hy vọng tìm ra nơi để tìm kiếm tiếp theo ...
Naitree
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.