在 LXD 管理的容器中使用屏幕会话

在 LXD 管理的容器中使用屏幕会话

我一直在尝试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-ad但是,screen -x然后会像上面所述一样默默失败,如果我尝试在会话中CTRL-a输入,它会报告nno other window.

答案1

我建议:-

lxc exec <container> --mode=interactive -- bash

相关内容