目前,我正在使用以下配置来确保我的显示管理器等到 DRM 驱动程序加载后才启动(否则 X.org 无法启动):
udev 规则:
ACTION=="add", SUBSYSTEM=="drm", KERNEL=="card0", TAG+="systemd"
systemd 服务覆盖:
[Unit]
Requires=sys-devices-pci0000:00-0000:00:01.0-0000:01:00.0-drm-card0.device
After=sys-devices-pci0000:00-0000:00:01.0-0000:01:00.0-drm-card0.device
这虽然完成了工作,但是却显得很脆弱。
是否可以缩短Requires=
和After=
行以泛泛地引用 DRM 设备,而不使用完整的 PCI 路径?
我正在使用 Ubuntu 19.04。
编辑以满足重复警察的要求:
建议的重复问题询问在设备插入时自动启动 systemd 服务。这个问题是关于等待启动服务已自动启动直到初始化给定设备为止。两个不同的问题。请阅读它们。
答案1
是的,如果标记的设备在 /dev 中有一个关联节点,则可以直接使用它:
Requires=dev-dri-card0.device
After=dev-dri-card0.device