Saya memiliki masalah yang sama. Ini berhasil untuk saya:
Coba salin skrip Anda ke /usr/local/bin
dan ubah direktori di .rules
Anda berkas.
Selain itu, saya tidak tahu apa itu SYSFS, tetapi saya lebih suka menggunakan properti ATTR.
Baris berikut adalah isi dari .rules
saya berkas:
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1", ATTRS{vendor}=="SanDisk ", RUN+="/usr/local/bin/backup.sh"
notify-send
memerlukan akses ke bus sesi DBus Anda, yang tidak dapat dimiliki karena dua alasan:
-
Tidak ada informasi tentang sesi tersebut. Saat dimulai oleh udev, skrip Anda tidak tahu apa-apa tentang di mana Anda masuk atau jika Anda masuk sama sekali. Multi-kursi dengan X11 masih rumit, tetapi peralihan pengguna berfungsi untuk sesi X11 dan konsol. Banyak orang juga menggunakan SSH, VNC, dan NX melalui jaringan.
(
DISPLAY=:0
akan bekerja separuh waktu, tapi itu masih tebakan terbaik.) -
Ditolak oleh kebijakan DBus. Bahkan jika skrip Anda entah bagaimana menemukan sesi X11 Anda, itu tidak akan dapat mengirimkan pemberitahuan karena skrip dijalankan sebagai
root
alih-alih akun pengguna Anda.