#docker #ubuntu
#docker #ubuntu
Вопрос:
У меня Firefox каждую ночь запускается в контейнере. Я ищу решение для настройки его в качестве моего приложения для браузера по умолчанию (ubuntu 18.04). Итак, мой вопрос в том, как настроить контейнер Docker в качестве системного приложения по умолчанию в Ubuntu.
Моя команда docker:
docker run -d --net=host -v ~/:/home/firefox -v /tmp/.X11-unix:/tmp/.X11-unix
-e DISPLAY=unix:0 -v /dev/shm:/dev/shm --device /dev/snd
--group-add 29 -e PULSE_SERVER=unix:/run/user/1000/pulse/native
-v /run/user/1000/pulse/native:/run/user/1000/pulse/native
firefox-nightly
Я полагаю, я должен создать новый mime-файл, но не уверен, как это сделать, чтобы иметь возможность создать контейнер со всеми этими параметрами.
Спасибо
Ответ №1:
Одной из альтернатив является создание нового файла .desktop (например: /usr/share/applications/firefox-docker.рабочий стол). Я просто скопировал существующий firefox.desktop и изменил Exec
разделы командой, использующей docker (*)
Затем с помощью xdg-utils (**) настройте его как приложение браузера по умолчанию: xdg-settings set default-web-browser firefox-docker.desktop
.
*: Чтобы сохранить файл .desktop чистым, вы могли бы создать исполняемый файл в системном пути (например, / usr /bin): docker-firefox:
xhost
docker run --net=host -v ~/:/home/firefox -v /tmp/.X11-unix:/tmp/.X11-unix
-e DISPLAY=unix:0 -v /dev/shm:/dev/shm --device /dev/snd
--group-add 29 -e PULSE_SERVER=unix:/run/user/1000/pulse/native
-v /run/user/1000/pulse/native:/run/user/1000/pulse/native
firefox-nightly $@
Обратите внимание на $@
в конце. И сделайте его исполняемым, чтобы его можно было запускать как обычное приложение.
**: Ссылка взята из документации Arch, но она работает и в Ubuntu.
Комментарии:
1. Вау! Ваше решение работает как шарм. Большое спасибо. У меня всего два вопроса. Какова цель «xhost «? Потому что я удалил его, и он все еще работает. И мой другой вопрос заключается в том, как это возможно, что когда у меня запущен firefox (docker), в моем терминале я выбираю и нажимаю на URL-адрес, и этот URL открывается в моем запущенном Firefox!??? Это просто идеально, лучше, чем ожидалось, но для меня это своего рода волшебство, поскольку я не понимаю, как это возможно. Для меня это должно открыть новый firefox, поскольку это должно создать новый контейнер. Но нет, это повторное использование моего запущенного контейнера Firefox.
2. ‘xhost ‘ отключает управление доступом к X server, которое требуется при выполнении из командной строки. -> linux.die.net/man/1/xhost