Arch Linux를 실행 중이며 장치를 삽입 할 때 서비스를 시작하는 udev 규칙이 있습니다. 이 경우 3G 모뎀이 연결되면 연결에 전화를 겁니다.
KERNEL=="ttyUSB*", SYMLINK=="gsmmodem", TAG+="systemd", ENV{SYSTEMD_WANTS}="netcfg@wvdial.service"
그러나 장치가 제거되면 systemd는 서비스를 중지하지 않으므로 다시 연결하면 이미 실행 중이므로 서비스가 시작되지 않습니다.
필요한 것은 장치를 제거하여 서비스를 중지 할 때 실행되는 일치하는 udev 규칙입니다.
최신 정보
아래 답변을 사용하여 지금 가지고있는 것은 다음 udev 규칙입니다.
KERNEL=="ttyUSB*", SYMLINK=="gsmmodem", TAG+="systemd", ENV{SYSTEMD_WANTS}="vodafone.service"
다음 서비스 파일 (기본적으로 netcfg 서비스 파일에서 복사하여 붙여 넣기)
[Unit]
Description=Netcfg networking service for Vodafone Dongle
Before=network.target
Wants=network.target
BindsTo=dev-gsmmodem.device
After=dev-gsmmodem.device
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/netcfg check-iface wvdial
ExecStop=-/usr/bin/netcfg down wvdial
KillMode=none
[Install]
WantedBy=multi-user.target
내가 사용하고 netcfg-wvdial
전화 걸기를 수행 할 AUR에서.