открыть приложение xdg open
Русские Блоги
Используйте команду xdg-open для эффективного открытия файлов в Ubuntu
Оригинальный текст впервые был опубликован на личном сайте:Спасаться бегством
Публичный номер: [DreamHub]
Как правило, вы можете использовать команды для управления различными текстовыми файлами в терминале. Но если вам нужно манипулировать некоторыми нетекстовыми файлами, такими как pdf , doc И т.д. Обычная практика:
Проблема с этим методом заключается в том, что он громоздок и неэффективен в использовании, особенно когда путь к файлу глубокий и в нескольких папках много файлов. Итак, как я могу повысить свою операционную эффективность?
В этой статье представлены три разных подхода, которые вы можете выбрать в соответствии со своими потребностями:
Метод 1: управление файлами nautilus
После открытия файлового менеджера дважды щелкните мышью, чтобы открыть целевой файл.
Метод 2: откройте команду напрямую
Большинство программ можно вызвать из командной строки для запуска, поэтому непосредственно вызывайте соответствующее приложение, чтобы открыть соответствующий файл. Например
Метод 3: xdg-open
Сравните два вышеуказанных метода:
Итак, вот лучшие xdg-open команда! Вам не нужно использовать два вышеуказанных метода!
установка
использование
xdg-open Использование очень простое. Просто передайте параметры прямо в файл, который нужно открыть, что эквивалентно двойному щелчку мыши для открытия. Система автоматически вызовет соответствующую программу в соответствии с типом файла, например
Если вы укажете путь, используйте файловый менеджер, чтобы открыть
Вы также можете передать URL
Если вы чувствуете, что команда длиннее, чтобы было удобнее, вы можете подумать о добавлении чего-то, что вам подходит. alias :
Используйте xdg-open, чтобы открыть URL с новым процессом
Странно, это работает так из коробки на моем Debian. Попробуйте запустить его в фоновом режиме:
Вы можете превратить это в функцию, добавив следующие строки в ваш
Затем вы можете просто запустить, open http://www.google.com и он будет работать в фоновом режиме.
Можно создать псевдоним для этого. Мне нравится detach более, так nohup как по умолчанию закрывает stdin stdout и stderr, поэтому его вызов будет чище.
xdg-open ждет завершения программы Это по замыслу. Если программа является программой текстового режима, она должна оставаться на переднем плане в терминале. Даже если программа с графическим интерфейсом, это поведение полезно в том случае, если xdg-open используется из сценария, и сценарий хочет выполнить что-то после того, как файл был отредактирован (например, отправить новую версию куда-нибудь или иным образом сделать что-то с новой версией).
Если вы не хотите ждать, бегите xdg-open в фоновом режиме. Вы можете запустить любую команду оболочки в фоновом режиме, поставив в конце амперсанд.
С некоторыми программами xdg-open возвращается сразу. На самом деле происходит то, что xdg-open вызывающая программа немедленно возвращается. Обычно это происходит с программами с графическим интерфейсом, которые открывают все файлы в одном экземпляре: когда вы запускаете их второй раз, они посылают сообщение запущенному экземпляру, чтобы сообщить ему об открытии файла, и немедленно завершают работу.
Как мне установить новую настройку xdg-open?
Я хочу использовать xdg-open для открытия irc:// ссылок, как я могу сделать необходимый параметр?
Gnome использует программу gnome-open, которая использует gconf для хранения всего. Например, на моей машине с Ubuntu 10.10 работает gnome-open irc: // blah открывает xchat, потому что xchat включает в себя патч настройки gconf для добавления обработчика irc: //.
KDE использует kde-open или kfmclient в зависимости от того, что доступно и какая у вас версия KDE.
XFCE использует программу под названием exo-open, у этой программы нет способа сконфигурировать ее или добавить обработчики uri. Просмотр исходного кода показывает, что он использует файлы рабочего стола для указания только трех типов программ. TerminalEmulator, WebBrowser и EmailClient.
В XFCE4 (и, возможно, также в других) можно настроить xdg-open для определения собственного обработчика протокола. В некоторых вы должны создавать / редактировать следующие файлы:
Я опишу это с magnet: типом URI и передачей (т. Е. Битовый поток), но тот же метод можно применить к любой схеме или типу файла.
Узнайте строку типа MIME. Для типов файлов MIME вы можете узнать это с помощью команды file :
Команда фактически означает «список файлов в этом каталоге, которые содержат слово« Transmission »». Некоторые приложения могут быть установлены только для пользователя, в этом случае путь будет
Если у вас есть «странное» приложение, которое может вообще не иметь файла, вы всегда можете создать его (и, возможно, отправить его разработчикам приложения). Легким способом было бы скопировать существующее, переписать поля, которые вы понимаете, и удалить те, которые вы не делаете. Обратитесь к спецификации для деталей.
Сделайте назначение, используя команду xdg-mime :
Обратите внимание, что независимо от того, где файл находится (/ usr / share / Applications,
Примечание 1: Если вы хотите проверить другие типы MIME, вы можете посмотреть /etc/mime.types. Он не содержит все типы в мире; например, обработчики URI, но его можно использовать для «агрессивной» формы обработки ассоциаций. Например:
связал бы все известные видео форматы с VLC.
Открыть приложение xdg open
Войти
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
Торрент-клиент Deluge, веб-браузер Google Chrome, клиент Dropbox и множество других программ открывают файлы и папки посредством xdg-open (/usr/bin/xdg-open). Этот скрипт служит для определения DE, среди которых поддерживаются только Gnome, KDE и XFCE, после чего посылает запрос на открытие файла прилагающемуся к DE обработчику, который, в свою очередь, открывает встроенный файловый менеджер. В случае же, если у вас нет DE, а стоит какой-либо WM (Openbox, Fluxbox, Awesome и др.), то он просто открывает файл/папку в браузере по умолчанию.
ознакомиться
1. Открываем xdg-open любым редактором текста (нужны рут права). В моем случае вот так:
$ sudo nano /usr/bin/xdg-open
2. Ищем раздел open_generic(). Должно выглядеть примерно так:
4. Теперь сохраняем. Теперь все должно открываться в pcmanfm
вместо pcmanfm можно использовать и другие ФМ напр. thunar
xdg-mime
Например для установки Thunar в качестве файлового менеджера по умолчанию, запустите:
$ xdg-mime default Thunar.desktop inode/directory
проверить:
$ xdg-mime query default inode/directory
Имеющиеся типы можно узнать так:
mimetype *.mp4
mimetype *.djvu
mimetype *.pdf
настройка других mimetype xdg и тд
открыть с помощью:
$HOME/.local/share/applications/
Как установить новый параметр xdg-open?
Прошло некоторое время с тех пор, как это было опубликовано, но в последнее время у меня были проблемы с переменными «locale», и никакой ответ не дал мне никаких результатов. Может быть, мой собственный опыт может помочь кому-то еще
Моя переменная LANG была пуста, и это дает мне проблемы
[d4 ] Я пробовал некоторые из команд вроде:
Без успеха. Я попытался редактирования LANG и узнать, что это было уже OK :
Я din’t хочу добавить дополнительный материал в профиль или Баш файлы, в основном потому, что, хотя она могла бы решить эту проблему, я Wouldn» я знаю причину, и это меня раздражало.
Наконец-то я подумал, что что-то уже было переопределение «локаль» переменных, и я побежал следующую команду:
2 ответа
Gnome
Gnome использует программу gnome-open, которая использует gconf для хранения всего. Например, на моей машине с Ubuntu 10.10, запускающей gnome-open irc: // blah открывает xchat, потому что xchat содержит патч настройки gconf для добавления обработчика irc: //.
Это показывает, как gnome делает это, с настройками gconf в /desktop/gnome/url-handlers/. См. [F2] в качестве примера.
KDE использует kde-open или kfmclient в зависимости от того, что доступно и какая версия KDE у вас есть.
XFCE использует программу exo-open, эта программа не имеет никакого способа ее настроить или добавить ури-обработчики. Просматривая исходный код показывает, что использует файлы рабочего стола, чтобы указать только три типа программ. TerminalEmulator, WebBrowser и EmailClient.
С помощью XFCE4 (и, возможно, и других) можно настроить xdg-open для определения настраиваемого обработчика протокола. В некоторых случаях вам необходимо создать / отредактировать следующие файлы:
Пример добавления обработчика для протокола ed2k предоставляется на stackexchange.com2.
Я опишу это с помощью типа magnet: URI и передачи (т. е. случай bittorent), но тот же метод может быть применен к любой схеме или типу файла.
Также я проверил это с помощью Debian Jessie, и у меня на самом деле нет машины Ubuntu, но я считаю, что она должна работать одинаково (по крайней мере, для xdg-open, обратите внимание, что файловые менеджеры могут использовать другую логику).
/.local/share/applications. Если у вас есть «странное» приложение, в котором может отсутствовать файл, вы всегда можете его создать (и, возможно, отправить его разработчикам приложений). Простым способом было бы скопировать существующее, переписать поля, которые вы понимаете, и удалить те, которые у вас нет. Подробную информацию см. В спецификации. Сделайте назначение с помощью команды xdg-mime: Обратите внимание, что независимо от того, где находится файл (/ usr / share / applications,
Примечание 1: Если вы хотите проверить другие типы MIME, вы можете посмотреть /etc/mime.types. Он не содержит всех типов в мире; например обработчики URI, но он может использоваться для «агрессивной» формы обработки ассоциаций. Например:
свяжет все известные видеоформаты с VLC.