Làm thế nào để tìm trình quản lý tập tin mặc định?


22

là người dùng Linux, tôi thấy rằng một số ứng dụng có thể yêu cầu mở đường dẫn và điều này khiến trình quản lý tệp được khởi chạy. Tôi muốn làm điều này theo chương trình, nhưng làm thế nào tôi có thể biết trình quản lý tệp mặc định là gì? Có cách nào để tìm thông tin này? Bất kỳ biến môi trường? Theo "trình quản lý tệp", ý tôi là các ứng dụng cho phép bạn quản trị các tệp của mình: tạo, đổi tên, tạo thư mục, v.v., như Nautilus (trong Gnome) hoặc Cá heo (trong KDE).

Cảm ơn trước!

Câu trả lời:


7

Không có thứ gọi là "Trình quản lý tệp mặc định cho Linux". Tất cả phụ thuộc vào cách bạn có thể đang cố mở một cái. Nếu bạn hỏi XDG, thì bạn sẽ phải kiểm tra xem XDG nghĩ trình quản lý tệp này là gì. Thỏa thuận tương tự cho bất kỳ "môi trường" nào khác, chẳng hạn như Gnome hoặc KDE. Nếu bạn đã cài đặt tất cả chúng, thì hoàn toàn có thể (và tốt) để mỗi người trong số họ có một "trình quản lý tệp mặc định" khác nhau.

Trường hợp cho các ứng dụng mặc định dường như chủ yếu đến từ Windows. Ở đó, chúng ta chỉ có một môi trường, một Windows cho chúng ta thấy. Như vậy, khái niệm về một ứng dụng mặc định thực sự là hệ thống rộng. Đây không phải là trường hợp với Linux.

Những gì bạn có thể cảm nhận là các ứng dụng mặc định trong Linux, chẳng hạn như những gì được lưu trữ trong biến môi trường $ EDITOR, không phải là một ứng dụng mặc định "đúng", đơn giản là một quy ước được sử dụng bởi nhiều người viết các công cụ và tập lệnh hệ thống. Vui lòng xác định $ FILEMANAGER, nếu phù hợp với trường hợp sử dụng của bạn.


Tôi đã nghĩ rằng có thể có một biến môi trường cho điều này, và thực sự nghĩ về việc xác định một biến. Câu trả lời tốt đẹp, cảm ơn bạn rất nhiều.
Mauren

Tôi nghĩ bạn có nghĩa là XFCE thay vì XDG?
Gerhard Burger


18

Sử dụng xdg-mimelệnh này. xdg phải là bất khả tri về môi trường máy tính để bàn (ví dụ: xdg-opensẽ chuyển các đối số cho trình mở tệp chính xác). Để có được trình quản lý tệp mặc định, hãy sử dụng:

xdg-mime query default inode/directory

Nguồn


2
Đây phải là câu trả lời chính xác.
crypdick

17

Bạn có thể sử dụng xdg-open <DIR>để khởi chạy trình quản lý tập tin trên một thư mục. Bạn có thể truy vấn một số xdgứng dụng để tìm hiểu trình quản lý tệp nào được sử dụng.


Cảm ơn đã gợi ý. Tôi sẽ cố gắng sử dụng điều này để giải quyết vấn đề của tôi.
Mauren

1

tôi vừa gặp vấn đề tương tự (tôi muốn bình luận nhưng danh tiếng của tôi không đủ cao)

tôi đã thử xdg-openvà nó bắt đầu EasyTag, một trình soạn thảo thẻ id3 (bằng cách nào đó buồn cười) :-)

tôi đã thử câu trả lời của Gerhard Burgers

xdg-mime query default inode/directory

và điều đó trở lại dolphin.desktoptrong trường hợp của tôi.

Vì vậy, trong trường hợp của tôi, giải pháp chính xác là (thay thế ".dektop" bằng ""):

xdg-mime query default inode/directory | sed 's/.desktop//g'

nhưng tôi chỉ kiểm tra cái này trên hệ thống này


1

Wow, không thể tin được rằng không ai đăng câu trả lời chính xác ở đây.

Các ứng dụng mặc định trên Linux được xử lý bởi Freedesktop (XDG cũ) Bắt đầu lại Tiêu chuẩn và một số thông số kỹ thuật khác mà ứng dụng này dựa trên.

Arch Linux Wiki cũng chứa một bài viết dễ hiểu . Những gì bạn đang tìm kiếm là sự liên kết của mimetype inode/directory.


Cảm ơn vì điều đó. Tôi sử dụng Arch & lẽ ra nên kiểm tra wiki, nhưng không được.
Colin Keenan

2
Và câu trả lời của tôi không đúng như thế nào? Tôi đã đăng lệnh chính xác để truy vấn inode/directoryliên kết bằng một xdg-mimetruy vấn ...
Gerhard Burger

0

Có vẻ như mọi người đều đề cập đến loại inode/directoryMIME và xdg-opennên hoạt động trong hầu hết các trường hợp cho nhu cầu của bạn (lập trình mở một thư mục thông qua trình quản lý tệp), nhưng đôi khi ứng dụng sai (không phải là trình quản lý tệp, ví dụ Visual Studio Code) cũng có thể liên kết nó với inode/directoryứng dụng mặc định

Ngoài ra, còn có giao diện quản lý tệp cho D-Bus ( org.freedesktop.FileManager1trong Bus phiên) có thể được sử dụng cho yêu cầu của bạn để bạn cũng có thể sử dụng giao diện này nếu trình quản lý tệp của bạn hỗ trợ giao diện D-Bus này. Vui lòng đảm bảo nếu bạn có thể sử dụng nó vì không phải tất cả trình quản lý tệp đều thực hiện điều này, hiện tại có vẻ như Cá heo (KDE), Nautilus (Gnome) và Trình quản lý tệp Deepin (DDE) đã triển khai giao diện D-Bus này. Và để tìm ra chủ sở hữu quy trình nào giao diện D-Bus này (bạn không cần phải làm điều đó nếu bạn chỉ muốn yêu cầu một đường dẫn được mở thông qua trình quản lý tệp theo chương trình), hãy xem câu trả lời này

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.