В Linux‑сообществе .run‑файлы часто используются как самостоятельные установщики программ.
Но помимо «установки» они могут выполнять любые команды, в т.ч. открывать веб‑страницы в браузере пользователя.
В этой статье мы разберём, как создать такой «рассорка» (иногда называют рассёркa) – скрипт‑установщик, который после запуска открывает нужный сайт.
Содержание
- Что такое .run‑файл?
- Безопасность и права доступа
- Создание .run‑файла, открывающего сайт
- Как запустить .run‑файл
- Продвинутые приёмы (проверка браузера, автозапуск в фоне)
- Часто задаваемые вопросы
Что такое .run‑файл?
Файлы с расширением .run – это обычные скрипты оболочки (чаще всего bash), упакованные в один исполняемый файл.
Они могут содержать:
- Инструкции по распаковке архивов;
- Установку зависимостей;
- Запуск произвольных команд (в т.ч.
xdg-openилиstart).
Если файл помечен как исполняемый (chmod +x file.run), его можно запустить командой ./file.run в терминале.
Безопасность и права доступа
Перед тем как запускать любой .run‑файл, убедитесь, что:
- Файл получен из доверенного источника;
- Вы проверили его содержимое (например,
cat file.runилиless file.run); - У вас нет прав суперпользователя (
sudo), если это не требуется.
Помните, что скрипт может выполнить любые команды от имени текущего пользователя, поэтому проверка кода – обязательный шаг.
Создание .run‑файла, открывающего сайт
Шаг 1. Подготовьте простой Bash‑скрипт
#!/bin/bash
URL="https://example.com"
if command -v xdg-open > /dev/null; then
xdg-open "$URL"
elif command -v gnome-open > /dev/null; then
gnome-open "$URL"
elif command -v open > /dev/null; then # macOS
open "$URL"
else
echo "Не удалось определить способ открытия URL."
exit 1
fi
Шаг 2. Упакуйте скрипт в .run
Самый простой способ – сохранить скрипт в файл, добавить права исполняемости и переименовать его:
chmod +x open-site.sh
mv open-site.sh open-site.run
Теперь open-site.run – полноценный .run‑файл.
Шаг 3. (Опционально) Добавьте интерактивный диалог
Если хотите, чтобы пользователь подтвердил открытие, добавьте запрос:
read -p "Открыть сайт $URL? [y/N] " answer
if [[ "$answer" != "y" && "$answer" != "Y" ]]; then
echo "Отмена."
exit 0
fi
Как запустить .run‑файл
Для большинства дистрибутивов Linux достаточно выполнить:
./open-site.run
Если файл находится в другом каталоге, укажите путь:
/path/to/open-site.run
При запуске в графическом окружении (например, через двойной клик в файловом менеджере) система автоматически выполнит файл, если он помечен как исполняемый.
Продвинутые приёмы
Определение установленного браузера
Можно явно указать, какой браузер использовать (Chrome, Firefox, Chromium):
if command -v google-chrome > /dev/null; then
google-chrome "$URL"
elif command -v firefox > /dev/null; then
firefox "$URL"
else
xdg-open "$URL"
fi
Запуск в фоне (без терминала)
Для скрытого старта добавьте символ & в конец команды:
xdg-open "$URL" &
Логирование действий
Чтобы отследить, что именно было выполнено, запишите данные в файл:
echo "$(date) – Открыт URL: $URL" >> ~/open-site.log
Упаковка нескольких файлов в один .run‑инсталлятор
Если необходимо доставить вместе с .run‑файлом дополнительные ресурсы (картинки, файлы конфигурации), используйте makeself:
sudo apt-get install makeself # Debian/Ubuntu
makeself --gzip --notemp myfolder open-site.run "Открытие сайта" ./open-site.sh
Полученный open-site.run будет распаковывать myfolder во временную директорию и запускать open-site.sh.
Часто задаваемые вопросы
- Можно ли открыть сайт в Windows‑среде? Да. В Windows .run‑файлы не исполняются напрямую, но их можно превратить в
.batили использоватьWSL(Windows Subsystem for Linux) для запуска скрипта. - Что делать, если браузер не открывается? Убедитесь, что в системе установлен
xdg-utils(sudo apt install xdg-utils) и что переменнаяDISPLAYкорректно настроена (особенно в удалённых сессиях). - Можно ли добавить проверку наличия интернета? Да, простая проверка через
ping:
if ping -c 1 -W 2 8.8.8.8 >/dev/null; then
echo "Интернет доступен"
else
echo "Нет соединения с интернетом"
exit 1
fi
Создание .run‑файла, который открывает веб‑страницу, – это быстрый и гибкий способ доставить пользователям ссылку, не требуя от них дополнительных действий.
Главное – помнить о безопасности, проверять код перед запуском и, при необходимости, адаптировать скрипт под конкретное окружение (Linux, macOS, Windows‑WSL).
Если у вас остались вопросы, оставляйте комментарии ниже – будем рады помочь!