На macOS в Терминальном выполнении по умолчанию bash
, Я могу ввести:
open -a Firefox http://www.wikipedia.org
открыть URL with Firefox или другой браузер. Это также работает для запуска программы, например. open -a maps
, и открыть файл в программе по умолчанию, например. open file.pdf
.
Как я могу сделать то же на Ubuntu в Терминале GNOME по умолчанию, также работающем bash
? Я знаю, что могу открыть файл или URL с xdg-open /path/to/file
, и я могу открыть браузер по умолчанию с sensible-browser
. Ubuntu имеет общекомандное для открытия файлов, приложений или файлов в определенных приложениях?
Я работаю bash
на обеих машинах, 3.2.57(1)-release
на macOS и 4.4.19(1)-release
на Ubuntu.
Можно конкретно использовать название желаемой программы (если оно может использоваться в качестве инструмента командной строки).
, Например, URL:
firefox duckduckgo.com
chromium-browser askubuntu.com
PDF:
evince foo.pdf
okular bar.pdf
Изображения:
gpicview foo.png
feh bar.jpeg
тексты:
gedit foo.txt
mousepad /etc/config
leafpad bar.xml
Видео/Музыка:
mpv foo.mp3
vlc bar.mp4
<час> , Если Вы хотите, чтобы программа была выполнена отсоединенная от терминала затем, это - способ, которым я предпочитаю делать его:
nohup program args &
, Например:
nohup firefox askubuntu.com &
Помнят, что можно всегда перенаправлять выводы, как обычно, например:
nohup firefox duckduckgo.com &> /dev/null &
Как указано в ответе ] на принятый ответ, эквивалентом команды open
из macOS в Linux является xdg-open:
xdg-open открывает файл или URL-адрес в предпочтительном приложении пользователя. Если Предоставляется URL-адрес, URL-адрес будет открыт в предпочтительном веб-сайте пользователя. браузер. Если файл предоставлен, файл будет открыт в предпочтительное приложение для файлов этого типа. xdg-open поддерживает файл, URL-адреса ftp, http и https.
По сравнению с macOS open
основное отличие заключается в том, что здесь нельзя указать конкретное приложение для использования из командной строки. Для этого вы можете обратиться к принятому ответу, так как проблема в Linux не имеет смысла, потому что приложения обычно уже доступны в вашем PATH.