我使用 lxc 在 archlinux 主机上成功创建了一个 archlinux 容器。但是,每当我通过以下方式启动容器时
lxc-start -n GUESTNAME
键盘布局更改为主机和容器中的默认 us-layout。但我希望它是 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 stoic
,然后通过 tmux 会话分离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
随着-filesystemlxc >= 1.1
的引入,这个问题已在 版本中得到修复。只需安装并设置即可。fuse
lxcfs
lxc
lxcfs