LXCコンテナを起動すると、ホストシステムのキーボードレイアウトが変更されます。

LXCコンテナを起動すると、ホストシステムのキーボードレイアウトが変更されます。

lxcを使用してArchlinuxホストにArchlinuxコンテナを正常に作成しました。ただし、次のようにコンテナを起動するたびに

    lxc-start -n GUESTNAME

ホストとコンテナのキーボードレイアウトがデフォルトのus-レイアウトに変わります。しかし、私はそれがde-latin1であることを望みます。驚くべきことに、事実にもかかわらず

    /etc/vconsole.conf

ホストとコンテナでオプションを設定しました。

    KEYMAP=de-latin1

この問題の原因は、vconsoleオプションの設定を担当するsystemdサービスがコンテナ内で実行されていないためです。

            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)

それはある意味で見られる

    /dev/tty0 was not met

しかし、それが私に何を言いたいのか分かりません。 Archlinux Linuxコンテナページ(https://wiki.archlinux.org/index.php/Linux_Containers#Terminal_settings)私には役に立ちませんでした。エラーと解決策を説明できる人はいますか?


修正する:

tmux new -s stoic(1)コンソールから直接コンテナを起動するとき(たとえば、tmuxを起動してから実行してからsudo lxc-start -n stoictmuxセッションを介して切り離すCTRL-a-d)、つまりログインするまでキーボードレイアウトは変更されませんX

これは別の可能な説明を指します。ログインすると、Xキーボードのレイアウトは自分の.xinitrcコンテンツに従って設定されます。

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

sudo lxc-start -n stoicその後、コンテナを実行すると、Xコンソールから起動するのではなくコンソールから起動しますX(これはすべてのシステムを設定した方法です)。だからキーボードのレイアウトをリセットしていると思います。ただし、少なくとも上記の規則に準拠する容器であれば、あまり問題になりません/etc/vconsole.conf

(2) 特権コンテナを使用します。

(3) これは私の現在のconfigファイルです。

    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

答え1

この問題は、-filesystemの導入でlxc >= 1.1バージョン1で修正されました。インストールして設定するだけです。fuselxcfslxclxcfs

関連情報