Я работаю с lxc в Ubuntu 12.04, и это действительно здорово. Однако я не могу отключиться от lxc-console
сеанса после подключения. Я где-то читал, что Ctrl-aqотключит меня от консоли, но, похоже, это не работает.
Должен ли я работать lxc-console
через screen
?
lxc-stop
из другой оболочкиОтветы:
Да, Ctrl-aqдолжен работать по умолчанию, однако нет, на
lxc-console
самом деле не используетсяscreen
для выполнения консоли. На самом деле, вы можете столкнуться с конфликтом, если используете экран, поскольку он также использует Ctrl-aпрефикс. Если вы внутри,screen
но не понимаете этого, вам нужно будет печатать, Ctrl-a a qтак как по умолчаниюscreen
вы должны печатать, Ctrl-a aчтобы фактически отправить^a
в оболочку, работающую внутри него. Вы можете изменить префикс escape, передав опцию-e
или .--escape=PREFIX
lxc-console
Кроме того, кажется, что в нем может быть ошибка,
lxc-start
так что если он сразу переходит в режим консоли, когда вы запускаете контейнер, который вы не можете использовать Ctrl-a qдля выхода - фактически все управляющие символы, похоже, облажались и выводятся на экран. вместо того, чтобы вести себя так, как вы ожидаете. Один из обходных путей - запустить его с параметром-d
или,--daemon
чтобы он не запускал консоль сразу, а подключился к ней вручную:источник
Что я сделал, чтобы остановить контейнер
lxc-stop -n <name of the container>
Это остановит контейнер.
источник
Разве это не соединяется через
screen
?Ctrl-a d
должен вытащить тебя из этого.Страница Ubuntu LXC содержит больше информации.
источник
lxc-console
самом деле не используетscreen
, просто имеет похожее поведение и по умолчанию использует ключ, который конфликтует с ключами,screen
как описано здесь .Альтернативный способ входа в систему - просто
ssh <ip>
использовать егоlxc-console
. Вы можете запустить его как демон,lxc-start -d -n <name>
а затем войти в систему с консоли, чтобы получить IP в первый раз.источник
У меня была похожая проблема при работе с моим Trusty LXC в Xenial-host, и после запуска контейнера
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. Если это не помогает, всегда есть команда выхода: CTRL +.
CTRL + D, с другой стороны, означает «КОНЕЦ ФАЙЛА» и работает, как правило, для того, чтобы некая программа могла читать с клавиатуры. Вы можете выйти из обычной оболочки с помощью CTRL + D.
источник