[Users] vzctl console behavior

Dan Bassett dbassett at oreillyschool.com
Tue Oct 22 12:53:02 PDT 2013


First off, we've got two openvz environments running.  Both are on CentOS6, our production environment is on vzctl 4.2.1 and our test is on 4.5.1.  With that stuff out of the way…

If I start a console on a container using vzctl, then detach, then start that same console again, the console remains blank.  This seems to be the default (and possibly intended) behavior, but it seems kind of lame.  If I (or more importantly, a user) has left something like a vi session running and they get disconnected and then come back, the vi session doesn't redraw when the console gets reattached.  In most cases, our users aren't clueful enough to deal with this situation and they just assume that something is broken.

I have found that if I enter the container or attach on some other tty and cause a SIGWINCH to be generated and sent to the foreground process in the tty in question, it happily redraws itself.  This has worked for vi, emacs, less and bash so far (and I expect other to work as well).  My crappy way around this is to use stty inside the container to get the number of columns, then set the number of columns to one less than that value, then set it back to the original value.  Oddly, just using kill to send a SIGWINCH to the foreground process doesn't always work.  Unfortunately, I haven't come up with a good way of causing this action to happen when a user connects with vzctl console...

Anyway, before everybody says "Just use ssh!", I should make it clear that connecting with ssh in our environment isn't always possible.  We're using openvz to teach systems administration, so we start with a container that doesn't have any networking set up or the sshd package installed.  Therefore, the only option is to have students connect on the consoles until they have networking set up.

So finally my question.  Am I missing something here, or is this just the way it is?  I wanted to make sure I wasn't missing something obvious before I emailed the developer list to ask if anything could be done.  Thanks!

Dan


More information about the Users mailing list