Trong một chương trình mà tôi đang viết, tôi muốn cung cấp chức năng để mở thư mục chứa tệp mà tôi hiện đang xử lý và tự động chọn tệp đó (để người dùng không cần tìm kiếm nó).
Tôi biết rằng tôi có thể mở một thư mục trong trình quản lý tệp mặc định bằng cách sử dụng
xdg-open /path/to/directory
Tôi biết rằng tôi có thể mở một thư mục trong nautilus và chọn một tệp bằng cách sử dụng
nautilus /path/to/file.txt
Tôi nghĩ rằng tôi có thể sử dụng
xdg-mime query default inode/directory
để có được trình quản lý tệp mặc định và - nếu đó là nautilus - hãy gọi nó như hiển thị ở trên. Nhưng, mặc dù thực tế rằng nautilus là mặc định trên hệ thống của tôi ( xdg-open
mở nautilus và menu địa điểm trong vỏ gnome) cũng xdg-mime
trả về Thunar.desktop
. (Tôi đã thử find / -name Thunar.desktop -mount 2>/dev/null
nhưng không tìm thấy gì.)
Ngoài ra, tôi không biết làm thế nào để mở một thư mục và chọn một thư mục con trong nautilus (với cách tiếp cận được đề cập ở trên, nó sẽ mở thư mục con).
Làm cách nào tôi có thể mở một thư mục trong trình quản lý tệp mặc định và chọn một tệp trong thư mục đó (nếu chọn một thư mục cũng có thể sẽ rất tuyệt, nhưng đối với ứng dụng này không cần thiết) hoặc ít nhất là tìm ra trình quản lý tệp mặc định để tôi có thể gọi nó trực tiếp?