我在Ubuntu 12.04中使用lxc,它真的很棒.但是,在连接后,我无法断开与lxc-console会话的连接.我在某处读到Ctrl-aq会将我与控制台断开连接,但它似乎无法正常工作.
我应该通过屏幕运行lxc-console吗?
解决方法
是的,Ctrl-aq应该默认工作,但是没有,lxc-console实际上并不使用屏幕来完成其控制台行为.事实上,如果您使用屏幕,可能会遇到冲突,因为它也使用Ctrl-a作为前缀.如果你在屏幕内但没有意识到,那么你需要输入Ctrl-a aq,因为屏幕的默认行为是你必须输入Ctrl-a a来实际发送^ a到运行里面的
shell.它.您可以通过将-e或–escape = PREFIX选项传递给lxc-console来更改escape的前缀.
此外,似乎lxc-start中可能存在错误,因此如果它在启动容器时立即进入控制台模式,则无法使用Ctrl-a q来转义 – 事实上,所有控制字符似乎都是拧紧并打印到屏幕而不是按照您期望的方式行事.一种解决方法是使用-d或–daemon选项运行它,以便它不会立即启动控制台,并手动连接到它:
lxc-start -d -n container-name lxc-console -n container-name