ラズベリーパイでUbuntuを実行しています。 SDカードリーダーはUSB経由で接続されています。 GUI(gnome)が実行されている場合、SDカードは自動的に/media/ubuntu/{label}
適切にマウントおよびマウント解除されます。これにより、システムは技術的にSDカードの挿入と取り外しを検出できます。
本番環境では、rasp piはモニターに接続できず、 kdeは実行されません。 udevルールを使用して、接続されたUSBスティックを検出できます。https://gist.github.com/juancarlospaco/7f4eab1b6899c55ea90dc0ef5eea965d、帰属:
ACTION=="add", ENV{ID_FS_TYPE}!="ntfs", RUN+="/usr/bin/systemd-mount --no-block --automount=yes --collect /dev/%k '/media/ubuntu/%E{dir_name}'"
# clean up after device removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/usr/bin/systemd-umount -l '/media/ubuntu/%E{dir_name}'", RUN+="/bin/rmdir '/media/ubuntu/%E{dir_name}'"
USBメモリースティックで動作します。しかし、SDカードでは動作しません。 udevは追加または削除を実行せずに変更のみを実行するため、これは驚くべきことではありません。次のセッションでは、SDカードを取り外して再挿入します。
ubuntu@ubuntu:/$ udevadm monitor
KERNEL[6751.389160] change /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/host2/target2:0:0/2:0:0:0/block/sdc (block)
UDEV [6751.599761] change /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/host2/target2:0:0/2:0:0:0/block/sdc (block)
KERNEL[6754.242775] change /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/host2/target2:0:0/2:0:0:0/block/sdc (block)
UDEV [6754.391038] change /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/host2/target2:0:0/2:0:0:0/block/sdc (block)
ブロックデバイスのポーリングが正しく設定されました。
ubuntu@ubuntu:~$ cat /sys/module/block/parameters/events_dfl_poll_msecs
2000
ここで何ができますか?もう一度強調したい:gnomeを使用すると、自動的にインストール/削除が可能です。