Назад | Перейти на главную страницу

Как отключиться от lxc-console

Я работаю с lxc в Ubuntu 12.04, и это действительно здорово. Однако я не могу отключиться от lxc-console сеанс после подключения. Я где-то читал это Ctrl-Aq отключит меня от консоли, но похоже, что это не работает.

Я должен бежать lxc-console через screen вместо?

Да, Ctrl-Aq, должен работать по умолчанию, но нет, lxc-console фактически не использует screen для достижения консольного поведения. Фактически, вы можете столкнуться с конфликтом, если используете screen, поскольку он также использует Ctrl-A как префикс. Если ты внутри screen но не осознайте этого, тогда вам нужно будет ввести Ctrl-a a q поскольку поведение по умолчанию screen это вы должны ввести Ctrl-a a на самом деле отправить ^a к оболочке, работающей внутри него. Вы можете изменить префикс для выхода, передав -e или --escape=PREFIX возможность lxc-console.

Кроме того, похоже, что в lxc-start так что если он сразу переходит в режим консоли, когда вы запускаете контейнер, вы не можете использовать Ctrl-a q чтобы сбежать - на самом деле, все управляющие символы, кажется, облажались и выводят на экран вместо того, чтобы вести себя так, как вы ожидаете. Один из способов решения этой проблемы - запустить его с -d или --daemon вариант, чтобы он не запускал консоль сразу, а подключался к ней вручную:

lxc-start -d -n container-name
lxc-console -n container-name

Что я сделал, чтобы остановить контейнер

  1. Откройте новую сессию.
  2. Войдите как root.
  3. Проверить статус контейнера.
  4. lxc-stop -n <name of the container>

Это остановит контейнер.

Разве это не подключается через screen? Ctrl-a d должен вытащить вас из этого.

В Страница Ubuntu LXC есть дополнительная информация.

Альтернативный способ входа в систему - просто сделать 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, не находят идентификатор инициализации и т. д.

Подробнее здесь: https://github.com/lxc/lxc/issues/1195

Когда вы закончили работу с каким-либо приложением, вы обычно можете завершить его с помощью CTR + C. Если это не помогает, всегда есть команда выхода: CTRL +.

CTRL + D, с другой стороны, означает «КОНЕЦ ФАЙЛА» и обычно работает, чтобы остановить чтение клавиатуры какой-либо программой. Вы можете выйти из обычной оболочки с помощью CTRL + D.