Bagaimana menemukan pengelola file default?

22

sebagai pengguna Linux, saya melihat bahwa beberapa aplikasi dapat meminta jalur untuk dibuka dan ini menyebabkan manajer file diluncurkan. Saya ingin melakukan ini secara terprogram, tetapi bagaimana saya bisa tahu mana yang merupakan pengelola file default? Apakah ada cara untuk menemukan info ini? Ada variabel lingkungan? Dengan "manajer file", maksud saya aplikasi yang memungkinkan Anda untuk mengelola file Anda: buat, ganti nama, buat folder, dll., Seperti Nautilus (di GNOME) atau Dolphin (di KDE).

Terima kasih sebelumnya!

Mauren
sumber

Jawaban:

7

Tidak ada yang namanya "Default File Manager untuk Linux". Itu semua tergantung bagaimana Anda mungkin mencoba membukanya. Jika Anda bertanya pada XDG, maka Anda harus memeriksa menurut XDG apa yang seharusnya menjadi manajer file ini. Kesepakatan yang sama untuk "lingkungan" lainnya, seperti Gnome, atau KDE. Jika Anda telah menginstal semuanya, sangat mungkin (dan baik-baik saja) bagi masing-masing dari mereka untuk memiliki "manajer file default" yang berbeda.

Kasus untuk aplikasi default tampaknya terutama berasal dari Windows. Di sana, kita hanya memiliki satu lingkungan, yang disediakan Windows untuk kita. Dengan demikian, gagasan tentang aplikasi default memang efektif untuk seluruh sistem. Ini tidak terjadi dengan Linux.

Apa yang mungkin Anda anggap sebagai aplikasi default di Linux, seperti apa yang disimpan dalam variabel lingkungan $ EDITOR, tidak sebanyak aplikasi default "benar", hanya sebagai konvensi yang digunakan oleh banyak orang yang menulis alat sistem dan skrip. Jangan ragu untuk menentukan $ FILEMANAGER, jika itu sesuai dengan kasus penggunaan Anda.

mkaito
sumber
Saya berpikir mungkin ada variabel lingkungan untuk ini, dan benar-benar berpikir untuk mendefinisikan satu. Jawaban yang bagus, terima kasih banyak.
Mauren
Saya pikir maksud Anda XFCE bukan XDG?
Gerhard Burger
18

Gunakan xdg-mimeperintah untuk ini. xdg harus agnostik desktop-environment (mis. xdg-openakan meneruskan argumen ke pembuka file yang benar). Untuk mendapatkan pengelola file default gunakan:

xdg-mime query default inode/directory

Sumber

Burger Gerhard
sumber
2
Ini seharusnya jawaban yang benar.
crypdick
17

Anda dapat menggunakan xdg-open <DIR>untuk meluncurkan manajer file pada direktori. Anda mungkin dapat meminta beberapa xdgaplikasi untuk mengetahui file manager apa yang digunakan.

src
sumber
Terima kasih atas petunjuknya. Saya akan mencoba menggunakan ini untuk menyelesaikan masalah saya.
Mauren
1

Saya baru saja menemukan masalah yang sama. (Saya lebih suka berkomentar tetapi reputasi saya tidak cukup tinggi)

saya mencoba xdg-opendan ia memulai EasyTag yang merupakan id3-tag-editor (entah bagaimana lucu) :-)

Saya mencoba jawaban Gerhard Burgers

xdg-mime query default inode/directory

dan itu kembali dolphin.desktopdalam kasus saya.

jadi dalam kasus saya solusi yang benar adalah (mengganti ".dektop" dengan ""):

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

tetapi saya hanya menguji ini pada sistem ini saya sedang menjalankan

coffeekid
sumber
1

Wow, sulit dipercaya bahwa tidak ada yang memposting jawaban yang benar di sini.

Aplikasi default di Linux ditangani oleh Freedesktop (mantan XDG) Mimeapps Standard dan beberapa spesifikasi lain yang menjadi dasar dari ini.

Arch Linux Wiki juga memuat artikel yang bisa dipahami . Apa yang Anda cari adalah asosiasi mimetype inode/directory.

ManuelSchneid3r
sumber
Terima kasih untuk ini. Saya menggunakan Arch & seharusnya berpikir untuk memeriksa wiki, tetapi tidak.
Colin Keenan
2
Dan bagaimana jawaban saya tidak benar? Saya memposting perintah yang tepat untuk menanyakan inode/directoryasosiasi dengan xdg-mimepermintaan ...
Gerhard Burger
0

Tampaknya semua orang menyebutkan tipe inode/directoryMIME dan xdg-openharus bekerja dalam sebagian besar kasus untuk kebutuhan Anda (secara terprogram membuka direktori melalui file manager), tetapi terkadang aplikasi yang salah (yang bukan file manager, mis. Visual Studio Code) juga dapat dikaitkan dengan inode/directorysebagai aplikasi default.

Selain itu ada juga file-manager-interface untuk D-Bus ( org.freedesktop.FileManager1di Session Bus) yang dapat digunakan untuk kebutuhan Anda sehingga Anda juga dapat menggunakan ini jika file manager Anda mendukung antarmuka D-Bus ini. Pastikan Anda dapat menggunakannya karena tidak semua manajer file menerapkan ini, saat ini tampaknya Dolphin (KDE), Nautilus (GNOME) dan Deepin File Manager (DDE) mengimplementasikan antarmuka D-Bus ini. Dan untuk mengetahui pemilik proses mana antarmuka D-Bus ini (Anda tidak perlu melakukannya jika Anda hanya ingin meminta jalur untuk dibuka melalui file manager secara terprogram), lihat jawaban ini

Gary Wang
sumber