O layout do teclado do sistema host é alterado ao iniciar o contêiner LXC

5

Eu criei com sucesso um contêiner archlinux em um host do archlinux com lxc. No entanto, sempre que eu inicio um contêiner via

    lxc-start -n GUESTNAME

o layout do teclado muda para o layout padrão dos usuários no host e no contêiner. Mas eu quero que seja de-latin1. O que é surpreendente é que isso continua acontecendo apesar do fato de que em

    /etc/vconsole.conf

no host e no container eu configurei as opções

    KEYMAP=de-latin1

A causa deste problema parece ser que o serviço systemd responsável por definir as opções do vconsole não está sendo executado dentro do container:

            systemctl status systemd-vconsole-setup
     ● systemd-vconsole-setup.service - Setup Virtual Console
       Loaded: loaded (/usr/lib/systemd/system/systemd-vconsole-setup.service; static)
       Active: inactive (dead)
               start condition failed at Mon 2014-06-02 20:53:10 UTC; 27s ago
               ConditionPathExists=/dev/tty0 was not met
         Docs: man:systemd-vconsole-setup.service(8)
               man:vconsole.conf(5)

De alguma forma, afirma que

    /dev/tty0 was not met

mas não tenho certeza do que está tentando me dizer. A página de containers linux do archlinux ( link ) não está me ajudando. Alguém pode explicar o erro e como resolvê-lo?

ATUALIZAÇÃO:

(1) O layout do teclado não muda quando inicio o contêiner diretamente do console (por exemplo, iniciando tmux tmux new -s stoic e executando sudo lxc-start -n stoic e, em seguida, desanexando da sessão tmux via CTRL-a-d ), ou seja, antes de efetuar login X .

Isso aponta para outra possível explicação: Quando eu faço login em X , o layout do teclado é definido pelo meu .xinitrc , que tem o conteúdo:

    setxkbmap -model pc105 -layout de -variant ,qwertz -option lv3:caps_switch
    if [ -s ~/.Xmodmap ]; then
        xmodmap ~/.Xmodmap
    fi
    [[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources

Se eu executar um contêiner por meio de sudo lxc-start -n stoic em X , ele também será inicializado no console e não em X (é assim que configuro todos os meus sistemas). Por isso, redefine o layout do teclado, eu acho. Mas isso não seria um grande problema se o contêiner respeitasse pelo menos o co-dde% acima mencionado.

(2) Eu uso um contêiner privilegiado.

(3) Aqui está o meu atual /etc/vconsole.conf -file:

    lxc.utsname=stoic
    lxc.autodev=1
    lxc.tty=1
    lxc.pts=1024
    lxc.mount=/var/lib/lxc/stoic/fstab
    lxc.cap.drop=sys_module mac_admin mac_override sys_time
    lxc.kmsg=0
    lxc.stopsignal=SIGRTMIN+4
    #networking
    lxc.network.type=veth
    lxc.network.link=br0
    lxc.network.flags=up
    lxc.network.name=eth0 
    lxc.network.mtu=1500
    #cgroups
    lxc.cgroup.devices.deny = a
    lxc.cgroup.devices.allow = c *:* m
    lxc.cgroup.devices.allow = b *:* m
    lxc.cgroup.devices.allow = c 1:3 rwm
    lxc.cgroup.devices.allow = c 1:5 rwm
    lxc.cgroup.devices.allow = c 1:7 rwm
    lxc.cgroup.devices.allow = c 1:8 rwm
    lxc.cgroup.devices.allow = c 1:9 rwm
    lxc.cgroup.devices.allow = c 4:1 rwm
    lxc.cgroup.devices.allow = c 5:0 rwm
    lxc.cgroup.devices.allow = c 5:1 rwm
    lxc.cgroup.devices.allow = c 5:2 rwm
    lxc.cgroup.devices.allow = c 136:* rwm
    lxc.rootfs = /var/lib/lxc/stoic/rootfs
    lxc.pts = 1024
    
por lord.garbage 05.06.2014 / 15:09

1 resposta

0

Isso foi corrigido em liberações de lxc >= 1.1 com a introdução do fuse -filesystem lxcfs . Basta instalar e configurar lxc com lxcfs .

    
por 20.04.2015 / 20:38