awk
system ()
возвращает статус завершения выполненной вами команды - 0 в случае успеха и! = 0 в случае неудачи. В качестве простого примера вы можете попробовать запустить:
v = system("date");
v будет 0
, если вы запустите:
v = system("dat");
v может быть 127 или значение, отличное от 0, ошибка возвращается из ОС, если команда dat отсутствует или не найдена.
Идея состоит в том, чтобы уже иметь необходимые программы в контекстном меню «Открыть с помощью» для выбранной папки без необходимости выбирать «Другое приложение».
Редактирование строки inode / directory =
в /usr/share/applications/mimeinfo.cache
бесполезно, потому что, как указано в комментарии don_crissti , проблема снова появляется после обновления или установки программы из-за команды update-desktop-database
.
На самом деле, только некоторые программы возьмут на себя роль файлового менеджера, как указано в вопросе, но те, которые это сделают, в некоторых случаях возьмут на себя непосредственное управление, просто после их установки, и сделают это снова после update-desktop- база данных
.
Как было предложено здесь вышеупомянутым пользователем, вам необходимо отредактировать ~ / .local / share / applications / mimeapps.list
, например:
[Default Applications]
inode/directory==nemo.desktop;audacious.desktop;deadbeef.desktop;vlc.desktop
В другой системе (Cinnamon Manjaro , где нет mimeapps.list
в usr / share / applications
, только mimeinfo.cache
и кажется несовместимым с freedesktop), следует использовать файл ~ / .local / share / applications / mimeinfo.cache
с содержимым вроде
[MIME Cache]
inode/directory==nemo.desktop;audacious.desktop;deadbeef.desktop;vlc.desktop
Важно сначала поставить файловый менеджер, а затем программы, которые нужно добавить в контекстное меню «открыть с помощью».
Например, приведенное выше даст