故障排除 Linux 触控驱动程序:“在系统启动时无法启动调用 Elo 服务”
受众: 公共 / 系统管理员,开发人员和集成商
文章类型: 故障排除与配置指南
错误“在系统启动时无法启动调用 Elo 服务”通常发生在 Elo 多点触控驱动程序服务未在 Linux 初始化管理器中注册或启用时(systemd 或传统 SysVinit/Upstart)。
在安装期间,可能需要手动配置,这取决于您的 Linux 发行版和初始化系统架构。有关完整细节,请参考官方Elo Linux MT USB 驱动程序安装说明。
方法 1:使用 systemd 的现代 Linux 发行版
大多数现代发行版(Ubuntu 16.04+、RHEL/CentOS 7+、Debian 8+、Fedora、SUSE)利用 systemd。
1. 验证活动初始化系统
# ps -eaf | grep [s]ystemd # ps -eaf | grep init # ls -l /sbin/init
2. 启用并启动 Elo 服务
如果 systemd 是活动的,请复制并启用提供的服务单元:
# cp /etc/opt/elo-mt-usb/elo.service /etc/systemd/system/ # systemctl daemon-reload # systemctl enable elo.service # systemctl start elo.service # systemctl status elo.service
VMware 虚拟机注意事项: 从 MTUSB v4.2 开始,在 VMware 虚拟机中运行时,需要 --vm 标志。编辑 /etc/opt/elo-mt-usb/loadEloMultiTouchUSB.sh 并添加 --vm:
/etc/opt/elo-mt-usb/elomtusbd --mtdigitizer --vm
方法 2:遗留初始化系统(SysVinit、Upstart、非 systemd)
A. 红帽、CentOS、Fedora、Mint、Debian 和 Ubuntu
在您的 /etc/rc.local(或 /etc/rc.d/rc.local)文件末尾添加调用脚本:
/etc/opt/elo-mt-usb/loadEloMultiTouchUSB.sh
在 Ubuntu 18.04 LTS 或更高版本上创建 /etc/rc.local:
如果 /etc/rc.local 不存在,请以可执行权限创建它:
#!/bin/sh -e /etc/opt/elo-mt-usb/loadEloMultiTouchUSB.sh exit 0
设置执行权限:
# chmod 755 /etc/rc.local
SELinux 配置(红帽家族):
如果 SELinux 在启动时阻止驱动程序执行,请在 /etc/selinux/config 中将 SELinux 设置为禁用或宽容:
SELINUX=disabled SELINUXTYPE=targeted
B. SUSE Linux 发行版
将启动行附加到 /etc/init.d/boot.local:
/etc/opt/elo-mt-usb/loadEloMultiTouchUSB.sh
Please report any broken links by emailing elo.support@zebra.com and include a link to the knowledge article