Hi. ROOT v6.26/00
introduced RBrowser
as the default browser
Starting from ROOT version 6.26/00,
RBrowser
is the first web-based component used by default when ROOT is built withroot7
. It is automatically invoked withnew TBrowser
. We recommend to install thechrome/chromium
web browser, but all other web browsers should do the job
This seems pretty nice. However, if I take an existing Docker image that I’ve been able to use TBrowser
with X11 Forwarding, and install chromium
in it
# Dockerfile
FROM atlasamglab/stats-base:root6.26.00 as base
RUN apt-get update && \
apt-get -y install --no-install-recommends \
chromium && \
apt-get -y autoclean && \
apt-get -y autoremove && \
rm -rf /var/lib/apt/lists/*
RUN echo 'WebGui.HttpPort: 8088' > ~/.rootrc
docker build -f Dockerfile -t feickert/rootforum:debug .
, then I run into a problem as chromium
complains that it can’t run if the user is root
unless run with --no-sandbox
.
# run.sh
xhost +
docker run --rm -ti \
-e DISPLAY="${DISPLAY}" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /tmp/"krb5cc_$(id -u ${USER})":/tmp/krb5cc_0 \
-v /tmp/:/tmp/ \
-v "${HOME}":"${HOME}" \
-p 8088:8088 \
feickert/rootforum:debug
$ bash run.sh
root@e1459ebab32c:~/data# root
------------------------------------------------------------------
| Welcome to ROOT 6.26/00 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Mar 10 2022, 18:49:00 |
| From tags/v6-26-00@v6-26-00 |
| With c++ (Debian 10.2.1-6) 10.2.1 20210110 |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------------
root [0] TBrowser b
ROOT comes with a web-based browser, which is now being started.
Revert to TBrowser by setting "Browser.Name: TRootBrowser" in rootrc file or
by starting "root --web=off"
Find more info on https://root.cern/for_developers/root7/#rbrowser
Info in <THttpEngine::Create>: Starting HTTP server on port 8088
[46:46:0315/032710.784859:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
(TBrowser &) Name: Browser Title: ROOT Object Browser
I can still follow the instructions given in the error message to get TBrowser over X11, and I’m able to launch a chromium
session with chromium --no-sandbox
, but as I have pretty limited experience with actually controlling browsers from anything other than Selenium I’m not sure how I would force chromium
to run with --no-sandbox
when it is called by ROOT. Any thoughts?
ROOT Version: v6.26/00
$ root --version
ROOT Version: 6.26/00
Built for linuxx8664gcc on Mar 10 2022, 18:49:00
From tags/v6-26-00@v6-26-00
Platform: Debian
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Compiler: g++
v10.2.1-6
$ root-config --cflags
-pthread -std=c++17 -m64 -D__ROOFIT_NOBANNER -I/usr/local/venv/include
# g++ --version | head -n 1
g++ (Debian 10.2.1-6) 10.2.1 20210110