我正在使用LXD容器,但无法完全了解隔离发生的情况。这是我的情况:
launch ubuntu:16.04 mycontainer
lxc exec mycontainer /bin/bash
和apt install firefox
adduser myuser
vi /etc/sshd_config
以允许ssh使用密码,然后从主会话使用ssh-copy-id myuser@mycontainer-ip
ssh -X myuser@mycontainer-ip
和firefox
如果我在主会话中没有打开Firefox,则会弹出一个隔离的Firefox:无法访问主会话文件,没有插件等。
但是,如果Firefox已在我的主会话中运行,则从容器中的ssh -X会话启动FF会打开另一个FF窗口,该窗口不是孤立的,并且以我的主要用户身份运行(通过我的插件,对文件的访问等) )。
怎么了 ?
我在lxd的github上打开了一个错误报告,StéphaneGraber给了我答案:这是Firefox的功能,可以通过开关将其--no-remote
关闭。因此,LXD当然没有问题!
引用史蒂芬妮:
我已经很长时间没有使用过firefox了,但是我相信他们拥有通过X属性来查找现有的firefox并与之交互的代码。
由于您传递“ -X”,因此您的容器可以访问X服务器,因此可以查询/设置X属性,列出所有正在运行的窗口,...这很可能是firefox如何检测现有的firefox会话并使其打开新的窗口而不是生成新进程。
我希望有一个命令行选项可以使Firefox不执行此操作。
se https://github.com/lxc/lxd/issues/3049
因此,firefox --no-remote
从容器启动将阻止Firefox在我的主会话中打开新窗口。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句