Puede usar la ventana acoplable que utiliza contenedores de Linux.
Aquí es cómo se podría hacer esto:
Descargue e instale la ventana acoplable desde aquí
Crea un archivo llamado "Dockerfile" que contiene comandos para crear una imagen de docker. El siguiente archivo crea una imagen basada en Ubuntu donde se instalarán Firefox y el servidor OpenSSH. Se creará un usuario "nadie" (reemplace [su clave pública] con su clave pública) que se usará más adelante para iniciar Firefox.
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get -y install openssh-server firefox
RUN mkdir /var/run/sshd
RUN useradd -m -U --shell=/bin/bash noone
RUN sed -ri 's/noone:!/noone:*/g' /etc/shadow
RUN sed -ri 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
RUN mkdir /home/noone/.ssh
RUN chown noone:noone /home/noone/.ssh
RUN echo 'ssh-rsa [your public key] xxx' > /home/noone/.ssh/authorized_keys
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
Inicia el demonio docker con docker -d
.
Vaya al directorio donde se encuentra su Dockerfile y ejecute docker build -t sandboxfirefox
. Esto creará la imagen sanboxfirefox.
Inicie un contenedor de ventana acoplable desde la imagen creada anteriormente con docker run -d -p 127.0.0.1:5001:22 sandboxfirefox
(el puerto 22 del contenedor se exporta al puerto 5001 al host)
Ahora puede iniciar Firefox a través de SSH usando el reenvío X con el usuario "nadie" de la siguiente manera:
ssh -o "UserKnownHostsFile /dev/null" -t -X -p 5001 noone@localhost firefox
Los cambios en el sistema de archivos solo afectarán al contenedor y no a la imagen. Si detienes el contenedor todos los cambios se perderán.