I’m on ubuntu 18.04 and running a docker container on a remote host.
From my local machine I run the following to get a python GUI running on the container:
ssh -X -t user@remotehost docker exec -it container bash -ci ‘python some_script.py’
This is with the assumption that the container had already been started previously:
`SOCK=/tmp/.X11-unix XAUTH=/tmp/.docker.xauth touch $XAUTH xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge - chmod 777 $XAUTH sudo docker run --name hb_cont --gpus all -it --privileged --network=host -e DISPLAY=$DISPLAY -v $XSOCK:$XSOCK -v $XAUTH:$XAUTH -e XAUTHORITY=$XAUTH cont`
all the xauth stuff allows me to use X11 forwarding over ssh.
Now, when running the python GUI, if I close the terminal window, thus cutting the ssh connection, I find that the python script is still running. The same python code can pick up SIGHUP and kill itself, but SIGHUP isn’t getting passed.Alternatively I’m fine with SSH disconnect just stopping the container, since that kills the python code too.
Is either of those possible? How do I make either happen with my setup?