Ok, então, pelo que vale a pena, o seguinte foi bem sucedido para mim:
sudo systemd-nspawn -bxD/
Praticamente idêntico ao seu, exceto que não atribuo o nome machine
e obtenho um instantâneo -x
ephemeral btrfs do meu /
para a raiz do contêiner.
Isso trouxe o getty
do contêiner no meu terminal e eu entrei no login
e tudo.
Confesso que fiquei um pouco confuso por um tempo, mas depois de cutucar systemctl
no contêiner com zsh
< tab > conclusão eu vim com (executado a partir do recipiente) :
systemctl stop console-getty.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or other units.
Authenticating as: mikeserv
Password:
==== AUTHENTICATION COMPLETE ===
O que levou a máquina a entregar o controle do terminal. A única coisa é que eu comecei com sudo
- que também recebe sua própria camada de controle de terminal para autenticar em primeiro lugar. Isso me deixou com um terminal em branco, e nenhuma quantia de kill -CONT "$(pgrep ksh)"
estava me fazendo bem algum. E então eu fiquei novamente perplexo por um momento ou dois, mas (em outro terminal) ...
sudo fuser -v /dev/pts/*
USER PID ACCESS COMMAND
/dev/pts/0: mikeserv 8347 F.... zsh
root 18003 F.... sudo
/dev/pts/13: mikeserv 9553 F.... zsh
mikeserv 16838 F.... ksh
root 17657 F.... sudo
root 17658 F.... systemd-nspawn
/dev/pts/14: root 17675 F.... systemd
Deu-me a lista acima, e então pensei - que diabos?
sudo kill -STOP 17657
E - eis que - eu tive ksh
de volta no terminal original. Para finalizar, precisei verificar se ainda posso acessar o machine
, embora, é claro, caso contrário, seria inútil:
machinectl -l
MACHINE CLASS SERVICE
localhost-35ceaa76b1306897 container nspawn
Ok ...
sudo machinectl login localhost-35ceaa76b1306897
Connected to machine localhost-35ceaa76b1306897.
Press ^] three times within 1s to exit session.
Arch Linux 4.0.7-2-ARCH (pts/0)
localhost-35ceaa76b1306897 login:
E eu recebi outro getty
em outro terminal!