Arch-Linux

如何使用 systemd 連接 3G 加密狗?

  • May 24, 2016

啟動時,usb-modeswitch自動將加密狗切換到調製解調器模式,設備顯示為12d1:1506. 在此之後,應該執行一個腳本,連接到 Internet。我不確定是否要使用/etc/rc.local,因為 Arch 已經轉移到 pure systemd。如何用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*

這個問題雖然完全不同,但也可能很有趣。

引用自:https://unix.stackexchange.com/questions/89691