Список типов файлов и приложений 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
Другие вопросы по тегам