ufo(1)

НАЗВАНИЕ
ufo - инструмент для открытия файлов из командной строки.

ИСПОЛЬЗОВАНИЕ
ufo <файл1> [<файл2> ...] [-t]
ufo --make-config
ufo --version
ufo --help

ОПИСАНИЕ
ufo служит инструментом открытия файлов и URL. Утилита может иметь конфигурацию, задающую сопоставление
форматов файлов библиотеки Amalthea и открывающих программ.
Конфигурация задаётся специально оформлённым файлом
"~/.config/ufo/formatapps.toml"
и/или в "/etc/ufo/formatapps.toml",
а также файлами из директории
"~/.config/ufo/formatapps.toml.d/".
Если конфигурация не задана, или в ней не найдена нужная
программа, открывающие программы определяются традиционным для
Linux способом - через MIME-типы и связанные с ними desktop-файлы. Опция -t предполагает открытие всех файлов
одной программой в текущем терминале с ожиданием.
Конфигурация в формате formatapps.toml обязательно должна быть.
Открывающая программа определяется по первому файлу, причём в
конфигурации она должна иметь свойство "tty = true".
Обычно это нужно для открытия файлов программами вроде vim или hexedit. Опция -b используется для открытия браузером по умолчанию.
Также можно открывать desktop-ярлыки, которые содержат URL.
Они будет открыты в браузере как ссылки.

Конфигурация для форматов Amalthea
Программная библиотека Amalthea предоставляет свой способ определения
форматов файлов. Утилита ufo может этим воспользоваться.
Все форматы перечислены в файле "/etc/amalthea-ldc2/fileformats.json"
(путь может отличаться, если для компиляции использовался компилятор
dmd или gdc вместо ldc2). Конфигурация для ufo представляет собой TOML-файл, в котором
форматы представляют собой массивы таблиц в терминологии TOML:
имя формата задаётся в двойных квадратных скобках, а ниже
следует таблица с полями, задающими программу. Пример:
        [[PDF]]
        app = "zathura"
        [[ODT]]
        app = "libreoffice"
        pre = ["--writer"]
        [[MP3]]
        app = "qmmp"
        [[MP3]]
        app = "smplayer"
Каждая таблица должна иметь поле "app", которым задаётся программа.
Другие возможные поля:
    pre - задаёт массив опций для программы, которые ставятся
          до аргумента с открываемым файлом;
    one - если true, программа может открыть только один файл за раз;
    tty - если true, программа предназначена для работы в терминале
          (например, nvim), но она может быть выбрана только с флагом -t. В примере можно заметить, что [[MP3]] встречается дважды. Утилита ufo
ищет первую существующую программу и применяет её. Приоритетность
определяется порядком упоминания в файле конфигурации: сначала будет
проверено существование qmmp, а потом, если программа не найдена,
будет осуществлена попытка использовать smplayer. Наряду с форматами можно использовать специальное значение "Directory",
чтобы задать программу для открытия директорий.

  Использование групп форматов
Помимо просто форматов файлов можно использовать группы форматов.
Их можно увидеть в том же файле форматов Amalthea:
    $ grep '"group":' /etc/amalthea-ldc2/fileformats.json | sort | uniq
Вероятные группы:
Archives, Audio, Documents, Geometry models, Pictures, Text, Video. В конфигурации группы используются также, как и форматы,
но перед именем дописывается "Group:". Пример:
        [[Group:Video]]
        app = "mpv"
        [[Group:Text]]
        app = "nvim"
        tty = true
        [[Group:Text]]
        app = "kwrite"
Группа используется, если для конкретного формата не были заданы
параметры, но для его группы были.

Смотрите также
mimeopen(1), xdg-open(1)