LXC и Google Chrome не может открыть дисплей
Я пытаюсь запустить Google Chrome из контейнера LXC, но он не удается, несмотря на мои неоднократные попытки и различные изменения.
ERROR:browser_main_loop.cc(271)] Gtk: cannot open display: :0.0
Вот мой сценарий
#!/bin/sh
CONTAINER=xenial-gui
CMD_LINE="google-chrome --disable-setuid-sandbox --user-data-dir $*"
STARTED=false
if ! lxc-wait -n $CONTAINER -s RUNNING -t 0; then
lxc-start -n $CONTAINER -d
lxc-wait -n $CONTAINER -s RUNNING
STARTED=true
fi
PULSE_SOCKET=/home/ubuntu/.pulse_socket
lxc-attach --clear-env -n $CONTAINER -- sudo -u ubuntu -i \
env DISPLAY=$DISPLAY PULSE_SERVER=$PULSE_SOCKET $CMD_LINE
if [ "$STARTED" = "true" ]; then
lxc-stop -n $CONTAINER -t 10
fi
1 ответ
Для меня это работает, когда делаю xhost local:*
как корень или с sudo
, Эта команда разрешает доступ к экрану для локальных пользователей. Мне нужно выдать это, потому что я использую непривилегированные контейнеры от имени другого пользователя при входе на рабочий стол.
Если вы работаете с непривилегированным контейнером, вы можете еще больше ограничить это xhost local:username
, Смотрите также man xhost
,
Когда я начал экспериментировать, я случайно включил эту функцию и удивился после перезагрузки машины.