GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan aturan udev untuk menjalankan skrip pada penyisipan USB

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.


Linux
  1. Menggunakan Skrip Pembungkus Cron

  2. Bagaimana Cara Memicu Suatu Peristiwa Dalam Skrip Shell Saat Perangkat Usb Dihapus?

  3. Proses Dalam Sesi Dalam Shell Interaktif Vs Dalam Skrip?

  1. mengotomatiskan sesi telnet menggunakan skrip bash

  2. Jalankan skrip bash sebagai daemon

  3. Bagaimana saya bisa menjalankan skrip node js saya secara otomatis menggunakan penjadwal di server

  1. Bagaimana Menjalankan Skrip??

  2. Browser tercepat untuk menjalankan sesi X11 yang diteruskan

  3. nonaktifkan aturan udev MTP untuk perangkat tertentu sehingga dapat dipasang sebagai perangkat Penyimpanan Massal USB