我一直在尝试screen
在 LXD 管理的容器中连接和分离会话;最初,我甚至无法启动一个会话,但是这个问题已在这里得到解答。
但是,能够启动会话然后将其分离是不够的。要使用screen
会话,必须能够重新连接到某个会话。
我可以发起一个会话
lxc exec my-ubuntu -- sh -c "exec >/dev/tty 2>/dev/tty </dev/tty && /usr/bin/screen -s /bin/bash"
但是当我发出
lxc exec my-ubuntu -- sh -c "exec >/dev/tty 2>/dev/tty </dev/tty && /usr/bin/screen -x"
要么什么都没发生(我只是得到了另一个命令行),要么,如果我多次发出第一个命令,我会There are several suitable screens on:
得到一个会话列表,并建议使用 重新连接到它们"screen [-d] -r [pid.]tty.host"
。然而,这也会默默失败。我也试过发出
lxc exec my-ubuntu -- sh -c "exec >/dev/tty 2>/dev/tty </dev/tty && /bin/bash"
然后screen -x
从结果终端,无济于事。
我能做些什么?
编辑:如果我使用 last 命令在容器内获取终端my-ubuntu
,我screen
只需输入 即可启动会话screen
,然后使用 将其分离CTRL-a
。d
但是,screen -x
然后会像上面所述一样默默失败,如果我尝试在会话中CTRL-a
输入,它会报告n
no other window.
答案1
我建议:-
lxc exec <container> --mode=interactive -- bash