Как запустить браузер из командной строки

Обновлено: 21.11.2024

Вот как открывать файлы или URL-адреса из командной строки на множестве различных платформ (Windows, MacOS, Linux/Unix и Cygwin).

Вам нужна команда start; при запуске командной строки (cmd.exe) или пакетного файла используйте:

Это встроенная функция cmd, поэтому другие программы не могут вызывать ее как "старт", но другие программы могут вызывать ее следующим образом:

Обратите внимание, что если это локальное имя файла и он является исполняемым, start выполнит эту программу, а не откроет ее средство просмотра. Я не нашел команду Windows, которая бы легко открывала файлы, но никогда их не выполняла, к сожалению. Это делает startexplorer) потенциальной проблемой безопасности, в зависимости от того, как он используется, но я не нашел безопасных встроенных средств (кроме самостоятельной реализации команды ).

Многие интернет-источники рекомендуют вместо этого использовать explorer, но есть веские причины этого не делать. Если вы вызовете explorer напрямую, он будет игнорировать выбранный пользователем интернет-браузер и вместо него всегда будет использовать Internet Explorer. Пользователи, по-видимому, сделали свой выбор не просто так, поэтому вы должны уважать его. (Действительно, Internet Explorer имеет ужасную историю уязвимостей, поэтому принудительное его использование кажется плохой идеей.) Один незначительный положительный момент при использовании explorer заключается в том, что если исполняемый файл поступает из Интернет, то вам будет предоставлен диалог о том, следует ли выполнять файл. Но в реальной жизни это не очень помогает, потому что пользователи обычно игнорируют такие диалоги. Пользователи обычно не понимают и не заботятся о том, что говорят эти диалоги, и они видят так много таких диалогов, что их приучили отвечать на них «хорошо». Таким образом, эти диалоги по безопасности в основном бессмысленны.

Строго говоря, перенаправление на другие программы для открытия файлов работает только из cmd, когда включены «расширения команд», но в Windows XP они включены по умолчанию. Как обычно, запустите «help start», чтобы узнать больше о его параметрах. Связанные команды Windows assoc и ftype полезны для установки типа файла (для данного расширения файла) и команды открытия (для данного типа файла).

Вам нужна команда open, то есть:

(Вы можете использовать «-a», чтобы принудительно запустить другое приложение.)

Вам нужна команда xdg-open, то есть:

Он не всегда устанавливается, поэтому убедитесь, что установлен пакет xdg-utils (название пакета xdg-utils по крайней мере в Fedora, Debian и Ubuntu; в некоторых других дистрибутивах он может иметь другое имя). ).

К сожалению, xdg-open не входит в стандартную комплектацию Solaris. Во многих случаях лучшим решением является загрузка и установка xdg-utils, которая, как сообщается, отлично работает в Solaris. Но если необходимо, можно напрямую вызвать /usr/dt/bin/sdtwebclient в Solaris.

Если вы наверняка знаете, что пользователь использует определенный пользовательский интерфейс, вы можете вызвать эту программу (например, gnome-open) напрямую. Но такая уверенность встречается редко. Например, вы можете написать программу GNOME, но пользователь может использовать KDE для ее вызова; в этом случае gnome-open не подходит для использования. В конце концов, если пользователь использует KDE, то следует использовать именно настройки KDE. В общем, используйте xdg-open; вы сохраните свое здравомыслие и уважаете предпочтения вашего пользователя.

Простым подходом является команда cygstart, то есть:

Обратите внимание, что если это локальное имя файла и он является исполняемым, открытие файла запустит эту программу. Это та же проблема, что и в Windows, по тем же причинам (Cygwin работает поверх Windows и, таким образом, наследует многие дефекты Windows, включая этот).

Не не используйте explorer $(cygpath "path" -w), потому что, хотя это может быть быстрее, часто будет выбрано неправильное приложение (в частности, не использовать предпочтительный браузер пользователя).

Обратите внимание, что start не работает напрямую с командной строкой Cygwin mintty, а explorer работает. (Если вы используете Cygwin, немедленно установите mintty; это замечательно.) Вместо этого вы можете использовать cmd /c start., но не делайте этого; на Cygwin вместо этого вы хотите использовать cygstart. Когда вы запускаете mintty, вы можете нажать левую кнопку управления или нажать правую кнопку и выбрать «открыть».

Я надеюсь, что когда-нибудь распространяемая версия Cygwin будет поддерживать xdg-open, но по состоянию на 01.07.2010 это не так. Я знаю, что есть патч для xdg-open, чтобы он вызывал cygstart, если ничего не помогает. Cygwin включает немного похожий пакет с именем python-xdg, но по состоянию на 18 марта 2012 г. пакет python-xdg не включает xdg-open, так что это не помогает.

Остерегайтесь распространенных ошибок.

Во-первых, существует основная проблема безопасности с простыми в использовании инструментами в Windows.Обратите внимание, что некоторые из перечисленных выше команд Windows будут выполнять этот файл вместо запуска доверенного средства просмотра файла, если это локальный исполняемый файл. Это справедливо для start Windows и cygstart Cygwin, в частности. (Это также может относиться к xdg-open на Cygwin, если таковой имеется, поскольку он должен зависеть от cygstart). Я еще не нашел простого способа обойти это в Windows (включая Cygwin, который, поскольку он работает в Windows, наследует недостатки Windows). Эта неспособность легко открывать файлы без их выполнения является примером базовой уязвимости системы безопасности в Windows. Это особенно вопиющий недостаток в Windows, потому что это так легко сделать безопасно на всем остальном. Я хотел бы услышать о чем-то лучше; пожалуйста, напишите мне, если вы знаете лучшее решение! Но не задерживайте дыхание; У меня был этот запрос в течение многих лет, и никто мне ни на что не указал.

Во-вторых, убедитесь, что проблемные имена файлов обрабатываются правильно, включая имена файлов с пробелами (включая пробел, табуляцию, новую строку и возврат). В частности, если вы вызываете его из оболочки Bourne (такой как bash), заключите ссылку на переменную в двойные кавычки (как вы должны делать с любым значением, которое может содержать пробелы). Вкратце, сделайте это так: xdg-open "$filename"

В-третьих, убедитесь, что ваш призыв не будет неправильно истолкован. Все эти программы имеют разные (несовместимые) форматы опций; вам нужно убедиться, что имя пути не будет неверно истолковано как опция. Это раздражает в Windows, потому что «/» является ведущим символом для опций и возможного начала абсолютного имени файла (в Unix/Linux/MacOS есть более рациональные подходы; они используют «-», что тривиально с префиксом «./»). Кроме того, часто неясно, является ли аргумент именем файла или URL-адресом.

Как отмечалось выше, если вы преобразуете путь в URL-адрес файла, убедитесь, что вы преобразовали все символы «%» в «%25», иначе они будут неправильно истолкованы.

Наконец, остерегайтесь произвольного открытия файла; открытие /dev/zero (в Unix/Linux) или COM1: (в Windows) может вызвать проблемы. Во многих случаях это не имеет большого значения (если пользователь может просто закрыть зависший процесс), но в некоторых случаях это может вызвать более серьезные проблемы. Лучше не запускать их с привилегиями root/admin, потому что злоумышленник может создать больше проблем, если сможет просмотреть произвольное имя файла.

И вот, теперь у вас есть простой способ открывать файлы, каталоги и URL-адреса.

Если вы не используете Windows или можете доверять файлам, которые вы открываете и/или выполняете, вот простой сценарий оболочки, чтобы выяснить, как вызвать браузер текущего пользователя. Помните: не делайте этого в Windows, если вы не можете доверять файлу. В некоторых системах есть программа под названием "open", которая совершенно отличается, поэтому мы попробуем эту команду только в том случае, если другие не сработают:

Командная строка не может работать как интернет-браузер, и вы не можете открыть веб-сайт из командной строки без запуска браузера, но в ней есть несколько полезных инструментов. Одним из таких инструментов является команда Ping, которая проверяет доступ и скорость связи с онлайн-сервером без влияния надстроек браузера, сценариев или кеша. Если вы уже работаете в командной строке, вы также можете напрямую открыть интернет-сайт в Internet Explorer или Firefox с помощью команды «Пуск».

Онлайн-тестирование CMD с помощью Ping

Используйте инструмент проверки связи, чтобы проверить соединение между вашим компьютером и другим веб-сайтом. Браузер, который вы пытаетесь вызвать с помощью команды «Пуск», должен быть уже установлен в вашей системе, чтобы открыть его из командной строки.

Запустите командную строку Windows

Введите "CMD" в поле поиска на начальном экране Windows 8 и нажмите "Командная строка".

Выполнить команду Ping

Введите "ping example.com", заменив example.com реальным доменным именем, и нажмите "Ввод". Замените домен на тот, который вы хотите протестировать. Вы также можете ввести IP-адрес, например «ping 74.125.224.101». По умолчанию команда Ping отправляет на сервер четыре 32-байтовых пакета данных и проверяет время отклика. Затем результаты усредняются.

Настроить количество пакетов, если необходимо

При необходимости настройте размер пакета

Закройте командную строку

Введите "Выход" и нажмите "Ввод", когда закончите, чтобы выйти из командной строки

Запустите веб-браузер

Вы можете открыть IE из CMD или запустить любой другой веб-браузер.

Запустите командную строку

Нажмите «Win-R», введите «cmd» и нажмите «Enter», чтобы открыть командную строку.

Запустите веб-браузер

Введите "start iexplore" и нажмите "Enter", чтобы открыть Internet Explorer и просмотреть его главный экран по умолчанию. Либо введите "запустить Firefox", "запустить Opera" или "запустить Chrome" и нажмите "Ввод", чтобы открыть один из этих браузеров.

Открыть определенный сайт

Добавьте адрес в команду, чтобы открыть этот конкретный адрес в браузере. Например, "Start iexplore www.google.com" открывает страницу поиска Google в Internet Explorer.

Выйти из командной строки

Нажмите "X" в правом верхнем углу командной строки, чтобы закрыть окно.

Текстовые веб-браузеры

Существует несколько текстовых веб-браузеров, которые можно запускать из командной строки и даже использовать в окне командной строки. Недавно разработанный с некоторой ограниченной поддержкой изображений и видео называется Browsh. К более старым инструментам относятся Lynx и W3M.

Поскольку очень много онлайн-контента предназначено для использования с помощью мыши и с полной графикой и видео, вы часто ограничены в своих возможностях использовать сайты с текстовым браузером.

Вы также можете использовать текстовые инструменты командной строки для загрузки файлов из Интернета. Двумя распространенными такими инструментами являются curl и wget. Их можно использовать непосредственно из командной строки или как часть автоматизированного процесса для регулярного получения данных из Интернета.

  • Браузер, который вы пытаетесь вызвать с помощью команды «Пуск», должен быть уже установлен в вашей системе, чтобы открывать его из командной строки.

С. Тейлор начал профессиональную писательскую карьеру в 2009 году и часто пишет о технологиях, науке, бизнесе, финансах, боевых искусствах и природе. Он пишет как для онлайн-изданий, так и для офлайн-изданий, включая Journal of Asian Martial Arts, Samsung, Radio Shack, Motley Fool, Chron, Synonym и другие. Он получил степень магистра биологии дикой природы в Университете Клемсона и степень бакалавра искусств в области биологических наук в Колледже Чарльстона. У него также есть несовершеннолетние по статистике, физике и изобразительному искусству.

Мне интересно, какая команда терминала открывает веб-браузер по умолчанию.

7 ответов 7

команда sensible-browser — это та команда, которую вы ищете.

Как насчет различий между пакетом sensible-utils и системой альтернатив, найденной в /etc/alternatives и модифицированной update-alternatives?

то, что сказал @Incrop, по-прежнему верно для Ubuntu 16.04, это открывает Firefox вместо моего браузера по умолчанию Chromium.

Выполняя поиск в Google, я нашел ответ.

xdg-open является частью пакета xdg-utils и уже установлен в Ubuntu 10.10.

Если пользователь когда-то настроил открытие html-файлов в текстовом редакторе по умолчанию, это не сработает. OP запрашивает способ открытия веб-браузера, а не приложения по умолчанию для html-файлов (хотя по умолчанию это одно и то же)

Это будет работать в любом дистрибутиве gnu/linux с оконным менеджером x-server (это почти все из них, например, debian, *buntu, fedora, manjaro, Arch и т. д.)

Вы также можете использовать:

И он откроет URL-адрес в браузере по умолчанию.

для меня в Ubuntu 16.04 открывается Firefox, несмотря на то, что Chromium установлен в качестве браузера по умолчанию в настройках "Приложения по умолчанию".

Только для того, чтобы вы могли найти это полезным. Запасной подход и один вкладыш.

<цитата>

; => запускать во всех случаях,

|| => запустить, если предыдущая команда не удалась (или)

&& => запустить, только если предыдущая команда выполнена успешно

var=someval -> установить переменную

$var -> вызвать переменную

Подумайте о том, чтобы объяснить, что делает эта команда, чтобы другие, увидев это, узнали больше о вашем ответе. Ссылки — это хорошо, но вам нужно убедиться, что ключевое содержание ссылки находится в вашем ответе, если это часть вашего ответа (на случай, если ссылка исчезнет в будущем).

При установке Ubuntu по умолчанию на ум приходит только команда gnome-open.

Преимущество заключается в том, что вы можете использовать gnome-open практически для всех типов файлов, URI и каталогов. Это одна команда, которую нужно выучить, вместо того, чтобы пытаться запомнить непонятные команды, такие как sensible-browser

@Stefan Lasiewski: xdg-open должен делать то же самое — на самом деле он будет вызывать gnome-open , kde-open или что-то еще, в зависимости от среды вашего рабочего стола. Таким образом, он более портативный.

Я немного поиграл с этим. Есть проблема с gnome-open — он не будет вызывать веб-браузер по умолчанию, если вы не укажете URL-адрес. Это проблема, если вы хотите настроить значок или ярлык, который всегда будет запускать браузер, установленный по умолчанию. В других случаях вам может понадобиться установить его в качестве параметра для некоторых программ, которым требуется ссылка на веб-браузер и которые плохо работают с gnome-open (например, acroread ).Вы можете решить эту проблему, используя системные ссылки x-www-browser или gnome-www-browser, которые вы можете настроить с помощью update-alternatives , но это общесистемные настройки, а не пользовательские (и они не синхронизируются с установленными значениями через gnome-default-applications-properties Все это можно решить, открыв исполняемый файл sensible-browser (который на самом деле является скриптом):

и добавив это в начале:

Это заставит sensible-browser всегда запускать указанный пользователем веб-браузер по умолчанию. (Я обнаружил, что gnome-default-applications-properties изменяет некоторые ключи gconf в соответствии с установленным браузером. Значение браузера по умолчанию можно получить из любого из этих ключей, поэтому я выбрал /desktop/gnome/url-handlers/ http/command и использовал его для заполнения переменной $BROWSER (значение удалено из части "%s").

Я бы не рекомендовал редактировать /usr/bin/sensible-browser, как рекомендует этот ответ. Это изменение будет перезаписано при обновлении системы.

Вместо того, чтобы пытаться установить модифицированный скрипт в пользовательскую систему, более реалистичным решением является использование xdg-open в соответствии с ответом Луки. Если вы укажете html-файл или URL-адрес, он откроет браузер - если вы укажете что-то еще, он откроет соответствующее приложение для этого типа ресурса. Я сомневаюсь, что есть какая-либо веская причина открывать какой-либо файл в браузере, когда он будет лучше обрабатываться каким-либо другим приложением, либо по умолчанию, либо в соответствии с явным выбором пользователя. Если необходимо, вы можете заставить браузер открыть его с помощью x-www-browser (см. ответ Бенджамина)

В Ubuntu у вас может быть установлено несколько веб-браузеров, которые используются в соответствии с вашими предпочтениями просмотра. Хотя у всех нас есть самый любимый веб-браузер, который использует 90% Интернета каждый день. В Linux предпочтительно указать лучший браузер в качестве браузера по умолчанию. Этот браузер по умолчанию также позволит вам открывать ссылки из терминала.

Проверка веб-браузера по умолчанию:

Установить, изменить или просмотреть браузер по умолчанию с помощью терминала или пользовательского интерфейса очень просто.
Запишите приведенную ниже команду, чтобы узнать браузер по умолчанию в вашей системе Linux.

Вы можете просмотреть список других приложений по умолчанию, включая браузер по умолчанию. Для этого есть два метода. В первом методе вы можете использовать приведенную ниже команду, и она перенаправит вас в окна приложения по умолчанию.

Поиск «приложений по умолчанию» в действиях считается вторым методом.

Веб-браузер, выделенный в параметре «Интернет», уже выбран в качестве веб-браузера по умолчанию.

Вы также можете просмотреть список других доступных альтернатив для просмотра веб-страниц в вашей системе.

Вывод заявляет, что «Google Chrome» также существует в качестве веб-браузера в нашей Ubuntu.

Открытие веб-браузера по умолчанию из командной строки:

Теперь мы попробуем открыть экземпляр Google в веб-браузере по умолчанию, в нашем случае это Firefox. Используйте приведенную ниже команду в своем терминале, если хотите.

Здесь вы можете увидеть, как выполнение команды терминала успешно открывает экземпляр Google в нашем веб-браузере по умолчанию.

Изменение веб-браузера по умолчанию:

Чтобы установить любой другой браузер в качестве браузера по умолчанию, вам необходимо выполнить команду настроек «xdg» с именем браузера в конце. В следующем примере мы установим «Google Chrome» в качестве браузера по умолчанию в нашей системе Linux.

Снова откройте любой веб-экземпляр, указав его URL-адрес в команде открытия «xdg». Кроме того, для тестирования мы выбрали Google.

В выводе указано, что нам удалось установить Google Chrome в качестве браузера по умолчанию.

Вывод:

Как пользователи Linux, у всех нас установлены различные веб-браузеры, которые мы используем в соответствии с нашими веб-предпочтениями. Тем не менее, существует вероятность того, что в 90% случаев для просмотра будет использоваться один веб-браузер, который станет нашим веб-браузером по умолчанию. В этой статье мы видели, как открыть браузер по умолчанию для любого веб-экземпляра из командной строки. Кроме того, также предоставляется процедура просмотра и настройки любых других альтернатив вашему браузеру по умолчанию.

Об авторе

Талья Саиф Малик

Талья является участником Linux Hint и стремится приносить пользу и делать полезные вещи для всего мира. Он любит читать, писать и говорить о Linux, данных, компьютерах и технологиях.

Читайте также: