Список типов файлов и приложений Ubuntu по умолчанию для открытия с
Я пишу скромный файловый менеджер и ищу список файлов различных типов и какие приложения по умолчанию использует Ubuntu для их открытия.
До сих пор я только понял, "текст" открыть с gedit
, "изображение" открыть с eog
(око гнома) и "аудио" открываются ogg123
, Я не уверен, если ogg123
хотя это приложение по умолчанию
Буду признателен за небольшую помощь в расширении списка в коде ниже:
function OpenFileWithMagic () {
local FileType
FileType=$(file -i "$DfName/$2" | grep -oP '(?<=: ).*?(?=/)')
logger "bafman - OpenFileWithMagic - FileType: $FileType DfName: - $DfName parm 1: $1 2: $2 3: $3 4: $4"
case $FileType in
text)
# TODO: expand list of file types and associated applications to open them with
if [[ $4 == root ]]; then
gsu gedit $DfName/$2
else
gedit $DfName/$2
fi ;;
image)
eog $DfName/$2 ;;
audio)
ogg123 $DfName/$2 ;;
esac
} ### OpenFileWithMagic ()
export -f OpenFileWithMagic
Заметки: export
требуется только потому, что файл открывается при двойном щелчке по yad
диалоговое окно. Мне также нужна помощь в выяснении "магических" чисел и как их можно интерпретировать. Возможно, обучающая ссылка?
Редактировать Это не дубликат Как открыть файл с приложением по умолчанию из командной строки? так как:
- Вопрос в том, как открыть файл из командной строки. Этот вопрос заключается в том, как сделать это из сценария Bash в
case
состав. - Ответ там приведет к
rhythembox
используется для звуковых файлов, которые не нужны.ogg123
больше подходит для воспроизведения звуков без открытия и закрытия нового окна с сообщениями об ошибках Python. Ответ там будет использовать
xdg-open /bin/mv
в результате чего:gvfs-open: /bin/mv: error opening location: No application is registered as handling this file
С помощью приведенного выше скрипта bash
file -i /bin/mv
команда приводит к:/bin/mv: application/x-executable; charset=binary
После фильтрации обработки для всех желаемых типов файлов в скрипте bash, оставшиеся кадры могут быть переданы xdg-open
который используется в дубликате кандидата.
Ответ на комментарии Как указал DK Bose, основные типы файлов можно найти в /usr/share/mime/types
, Здесь есть дополнительные типы, которые следует учитывать, такие как Video
(необходимо найти подходящий видеоплеер Ubuntu по умолчанию), Application
(вместо того, чтобы запустить его, необходимо отобразить информацию о приложении) и Message
(Понятия не имею, как это отобразить). Дополнительные типы пантомимы, требующие дальнейшего исследования inode
, model
, multipart
а также x-content
,
Rinzwind указал ogg123
не является проигрывателем звуковых файлов по умолчанию в Ubuntu. Подходящее установленное по умолчанию приложение Ubuntu для воспроизведения звуковых файлов canberra-gtk-play
как ответил wjandrea 5 октября 2016 г. в этом wjandrea Вопросы и ответы": можно ли добавлять символы рисования линий (или цвета) в меню списка файлов Bash?,
1 ответ
Большинство современных настольных программ не используют file
но общая база данных MIME-info для типов файлов и спецификация ассоциаций приложений MIME для приложений по умолчанию.
В Bash вы можете использовать xdg-mime, чтобы угадать MIME-тип файла и получить приложение по умолчанию для данного MIME-типа:
$ xdg-mime query filetype bla.sh
application/x-shellscript
$ xdg-mime query default application/x-shellscript
emacs.desktop
С помощью xdg-open вы можете просто открыть файл в приложении по умолчанию, так что вам не нужно заботиться о типах MIME самостоятельно:
$ xdg-open bla.sh