我使用 BBB (BeagleBone Black) 一段时间了,但使用的是 Arch Linux。既然 Debian 也支持 systemd,我决定尝试一下。所以我跟着本指南并使用 eMMC flasher 映像将新的 debian 分发到 BBB。
成功重新启动后,我想设置我的区域设置,但对 localectl 的所有查询都超时了。systemctl status systemd-localed.service
显示服务进入失败状态。
输出显示:
Failed to read locale data: No such file or directory
但仅此而已。当查看日志时,journalctl -r -u systemd-localed.service
有相同的消息,但不知道丢失了哪个文件。
通过研究man systemd-localed
发现了两个可能的配置文件
/etc/vconsole.conf
和
/etc/locale.conf
这两个文件在图像中都不存在,但即使在 Google 的指导下创建它们(就其内容而言),错误仍然存在。
有人在 BBB 上经历过 Debian 8.1 镜像的类似行为吗?或者还有其他已知的地方可以查看这些丢失的文件吗?
问候
答案1
我遇到了同样的问题:
该systemd-localed
服务启动二进制文件/lib/systemd/systemd-localed
,然后尝试读取/etc/locale.conf
,/etc/vconsole.conf
并且 - 尽管这似乎没有在任何地方记录 - /etc/default/keyboard
:
# strace /lib/systemd/systemd-localed
[…]
open("/etc/locale.conf", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 6
[…]
open("/etc/vconsole.conf", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 6
[…]
open("/etc/default/keyboard", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 6
/etc/default/keyboard
通常由包生成keyboard-configuration
。您可能还想安装kbd
包中的“Linux 控制台字体和键表实用程序”以及包中的键盘映射console-data
:
apt-get install keyboard-configuration kbd console-data
dpkg-reconfigure console-data
dpkg-reconfigure keyboard-configuration
console-data
由于您的系统使用 ARM 架构,因此在配置时您必须从“完整”列表中选择键盘映射。
这将生成/etc/default/keyboard
并允许systemd-localed
启动和localectl
使用,即使它似乎无法识别随console-data
.您可以手动设置类似的内容localectl set-keymap us-latin1
,但我无法检查这是否有任何效果。
另外,虽然localectl
显示了正确的区域设置,但它似乎没有全局设置,因此仍然显示“POSIX”以及类似和locale
等程序,仍将使用 ASCII。 我不确定这是否是一个真正的 Debian 错误,或者只是通过安装系统的结果(就像通常为嵌入式板创建 SD 卡映像一样)而不是运行完整的安装程序(这可能会自动创建一些所需的安装程序)上面的文件)。tmux
htop
debootstrap