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=:0akan 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
rootalih-alih akun pengguna Anda.