Answers:
是的,Ctrl-aq默认情况下应该可以工作,但是,否,lxc-console
实际上并没有screen
用于完成其控制台行为。实际上,如果您使用屏幕,则可能会遇到冲突,因为它也Ctrl-a用作前缀。如果您在里面screen
但是不知道它,那么您将需要输入,Ctrl-a a q因为的默认行为screen
是您必须键入Ctrl-a a才能实际发送^a
到在其中运行的shell。您可以通过将-e
或--escape=PREFIX
选项传递给来更改转义前缀lxc-console
。
此外,似乎还存在一个错误,lxc-start
因此,如果在启动容器时立即进入控制台模式,您将无法Ctrl-a q逃脱-实际上,所有控制字符似乎都已拧紧并打印到屏幕上而不是表现出您期望的方式。一种解决方法是使用-d
或--daemon
选项运行它,以便它不会立即启动控制台,并手动连接到它:
lxc-start -d -n container-name
lxc-console -n container-name
它不是通过screen
吗? Ctrl-a d
应该让你摆脱困境。
在Ubuntu的LXC页有更多的信息。
在Xenial-host中与我的Trusty LXC一起使用时,在启动容器后lxc-start -F -n CN
无法退出并从容器注销时返回主机时,我遇到了类似的问题。另外sudo lxc-ls -f
,主机中的挂起了,并且没有任何lxc-stop
带有-k或-W或--no-lock选项的命令,所以我最终杀死了-9'正常工作的容器进程,但随后启动了带有lxc-start
或lxc-attach
不正确的容器,但显示有关lxc_cgfsng的错误,但未找到init pid等。
在此处查看更多信息:https : //github.com/lxc/lxc/issues/1195
处理完某个应用程序后,通常可以终止它,如CTR + C。如果那不能解决问题,总会有quit命令:CTRL +。
另一方面,CTRL + D表示“文件结束”,通常用于阻止某些程序读取键盘。您可以使用CTRL + D退出常规shell。