ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux – 启动LXC容器时主机系统键盘布局发生变化

2019-08-12 13:51:28  阅读:282  来源: 互联网

标签:linux lxc keyboard-layout


我使用lxc在archlinux主机上成功创建了一个archlinux容器.但是,每当我启动容器时

    lxc-start -n GUESTNAME

键盘布局更改为主机和容器中的默认us-layout.但是我希望它能够成为delatin1.令人惊讶的是,尽管事实如此,这种情况仍在继续发生

    /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)对我没有帮助.有人可以解释错误以及如何解决它?

更新:

(1)当我直接从控制台启动容器时,键盘布局不会改变(例如,通过启动tmux tmux new -s stoic然后运行sudo lxc-start -n stoic然后通过CTRL-ad从tmux会话分离)即在登录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)这是我当前的配置文件:

    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

解决方法:

这已经在lxc> = 1.1的版本中得到修复,引入了fuse-filesystem lxcfs.只需使用lxcfs安装和设置lxc即可.

标签:linux,lxc,keyboard-layout
来源: https://codeday.me/bug/20190812/1642890.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有