43

I'm working with lxc in Ubuntu 12.04, and it's really great. However, I am unable to disconnect from a lxc-console session after I've connected. I read somewhere that Ctrl-aq will disconnect me from the console but it doesn't seem to work.

Should I be running lxc-console via screen instead?

masegaloeh
  • 18,498
robbyt
  • 1,672

6 Answers6

58

Yes, Ctrl-aq, should work by default, however no, lxc-console does not actually use screen to accomplish its console behavior. In fact, you might be encountering a conflict if you are using screen since it also uses Ctrl-a as a prefix. If you're inside screen but don't realize it then you'll need to type Ctrl-a a q since the default behavior of screen is that you have to type Ctrl-a a to actually send ^a to the shell running inside of it. You can change the prefix for escape by passing the -e or --escape=PREFIX option to lxc-console.

Also, it appears there may be a bug in lxc-start so that if it immediately goes into console mode when you start the container you can't using Ctrl-a q to escape-- in fact, all the control characters seem to be screwed up and print to the screen instead of behaving the way you expect. One workaround is to run it with the -d or --daemon option so that it doesn't immediately start a console, and the connect to it by hand:

lxc-start -d -n container-name
lxc-console -n container-name
aculich
  • 3,700
4

What I did to stop the container

  1. Open a new session.
  2. Login as root.
  3. Check the container status.
  4. lxc-stop -n <name of the container>

This will stop the container.

HBruijn
  • 84,206
  • 24
  • 145
  • 224
0

Doesn't it connect via screen? Ctrl-a d should get you out of it.

The Ubuntu LXC page has more information.

El Yobo
  • 946
  • 1
  • 8
  • 11
0

An alternative way to login is to just do ssh <ip> instaed of using lxc-console. You could use start it as daemon using lxc-start -d -n <name> and then login using console to get the IP for the first time.

Nishant
  • 265
0

I had a similar issue when working with my Trusty LXC in Xenial-host and after starting the container with lxc-start -F -n CN couldn't get out and back to host when logged out from the container. Also the sudo lxc-ls -fin the host hanged and none of the lxc-stopcommands with -k or -W or --no-lock options worked, so I eventually kill -9'd the container process which worked but afterwards starting the container with lxc-start or lxc-attachdo not work properly, but display errors about lxc_cgfsng and not finding the init pid etc.

See more here: https://github.com/lxc/lxc/issues/1195

OpenITeX
  • 101
-6

When you are done working with some application you can usually terminate it witch CTR+C. If that doesn't do the trick, there is always the quit command: CTRL+.

CTRL+D, on the other hand means "END OF FILE", and works usually to stop some program from reading the keyboard. You can log out of regular shell with CTRL+D.