If you prefer to run linux in a container, you can use below command to build an EAF container.
docker build -t eaf --build-arg=_UID=$UID --build-arg=_USER=$USER .
xhost +local:root # WARN: this comes with security issues
docker run -e DISPLAY -e DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus --rm -it -v /tmp/.X11-unix/:/tmp/.X11-unix -v ${DBUS_SESSION_BUS_ADDRESS#*=}/:/run/user/1000/bus/ -v ~/.Xauthority:/home/eaf/.Xauthority eaf
You can also reuse your own Emacs configuration in the container:
xhost +local:root # WARN: this comes with security issues
# mount the Emacs configuration into the container
docker run -e DISPLAY -e DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus --rm -it -v /tmp/.X11-unix/:/tmp/.X11-unix -v ${DBUS_SESSION_BUS_ADDRESS#*=}/:/run/user/1000/bus/ -v ~/.Xauthority:/home/eaf/.Xauthority -v ~/.emacs.d:/home/eaf/.emacs.d eaf