Arch-Linux
如何使用 systemd 連接 3G 加密狗?
啟動時,
usb-modeswitch
自動將加密狗切換到調製解調器模式,設備顯示為12d1:1506
. 在此之後,應該執行一個腳本,連接到 Internet。我不確定是否要使用/etc/rc.local
,因為 Arch 已經轉移到 puresystemd
。如何用systemd
術語表達這種依賴關係(僅在設備切換後執行腳本)?
udev
規則不能執行長腳本,我的是。
推薦的方法是
udev
啟動一項systemd
服務,該服務本身取決於您的設備。服務文件應類似於以下內容:
my.service
- 放置在/etc/systemd/system
[Unit] Description=<DESCRIPTION HERE> BindsTo=<DEVICE UNIT HERE>.device After=<DEVICE UNIT HERE>.device [Service] ExecStart=<CALL TO SCRIPT HERE>
注意:要獲取可用設備單元的列表,請使用
list-units --all --full | grep ".device"
udev
規則應該如下所示:
90-my.rules
- 放置在/etc/udev/rules.d
KERNEL=="tty*", ATTRS{serial}=="<DEVICE SERIAL HERE>", TAG+="systemd", ENV{SYSTEMD_WANTS}="my.service"
注意:要獲取特定設備的屬性列表,包括其序列號,請使用
udevadm info -a -n /dev/tty*
這個問題雖然完全不同,但也可能很有趣。