(originally https://github.com/ProjectGreybeard/bugs/issues/10)
I like having a thing I can click on easily when I plug a usb drive in. udiskie seems like it does the trick, but there are other options, and this is hardly a "must-have"
In the absence of better alternatives udiskie isn't too bad BUT has many deps not sure are wanted in minimal os:
Retrieving: girepository-1_0-1.74.0-2.1.x86_64 (openSUSE-Tumbleweed-Oss) (1/40), 197.0 KiB Retrieving: girepository-1_0-1.74.0-2.1.x86_64.rpm [.....done (475.6 KiB/s)] ( 1/40) Installing: girepository-1_0-1.74.0-2.1.x86_64 [..done] Retrieving: libgirepository-1_0-1-1.74.0-2.1.x86_64 (openSUSE-Tumbleweed-Oss) (2/40), 76.4 KiB Retrieving: libgirepository-1_0-1-1.74.0-2.1.x86_64.rpm [..done (2.5 KiB/s)] ( 2/40) Installing: libgirepository-1_0-1-1.74.0-2.1.x86_64 [..done] Retrieving: libappindicator3-1-12.10.1~bzr20200706.298-2.1.x86_64 (openSUSE-Tumbleweed-Oss) (3/40), 43.3 KiB Retrieving: libappindicator3-1-12.10.1~bzr20200706.298-2.1.x86_64.rpm [..done (2.7 KiB/s)] ( 3/40) Installing: libappindicator3-1-12.10.1~bzr20200706.298-2.1.x86_64 [...done] Retrieving: libatasmart4-0.19-10.13.x86_64 (openSUSE-Tumbleweed-Oss) (4/40), 41.0 KiB Retrieving: libatasmart4-0.19-10.13.x86_64.rpm [..done (2.4 KiB/s)] ( 4/40) Installing: libatasmart4-0.19-10.13.x86_64 [..done] Retrieving: libayatana-ido3-0_4-0-0.9.2-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (5/40), 73.1 KiB Retrieving: libayatana-ido3-0_4-0-0.9.2-1.2.x86_64.rpm [..done (2.5 KiB/s)] ( 5/40) Installing: libayatana-ido3-0_4-0-0.9.2-1.2.x86_64 [..done] Retrieving: libbd_utils2-2.28-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (6/40), 27.6 KiB Retrieving: libbd_utils2-2.28-1.2.x86_64.rpm [..done (2.5 KiB/s)] ( 6/40) Installing: libbd_utils2-2.28-1.2.x86_64 [..done] Retrieving: libbytesize1-2.7-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (7/40), 20.2 KiB Retrieving: libbytesize1-2.7-1.2.x86_64.rpm [..done (2.3 KiB/s)] ( 7/40) Installing: libbytesize1-2.7-1.2.x86_64 [..done] Retrieving: libharfbuzz-gobject0-7.0.1-1.1.x86_64 (openSUSE-Tumbleweed-Oss) (8/40), 57.1 KiB Retrieving: libharfbuzz-gobject0-7.0.1-1.1.x86_64.rpm [..done (2.6 KiB/s)] ( 8/40) Installing: libharfbuzz-gobject0-7.0.1-1.1.x86_64 [..done] Retrieving: libnotify4-0.8.2-1.1.x86_64 (openSUSE-Tumbleweed-Oss) (9/40), 37.3 KiB Retrieving: libnotify4-0.8.2-1.1.x86_64.rpm [..done (2.5 KiB/s)] ( 9/40) Installing: libnotify4-0.8.2-1.1.x86_64 [..done] Retrieving: libudisks2-0-2.9.4-6.1.x86_64 (openSUSE-Tumbleweed-Oss) (10/40), 191.1 KiB Retrieving: libudisks2-0-2.9.4-6.1.x86_64.rpm [...done (1.3 MiB/s)] (10/40) Installing: libudisks2-0-2.9.4-6.1.x86_64 [..done] Retrieving: python310-PyYAML-6.0-4.4.x86_64 (openSUSE-Tumbleweed-Oss) (11/40), 182.5 KiB Retrieving: python310-PyYAML-6.0-4.4.x86_64.rpm [..done (2.5 KiB/s)] (11/40) Installing: python310-PyYAML-6.0-4.4.x86_64 [..done] Retrieving: python310-docopt-0.6.2-7.18.noarch (openSUSE-Tumbleweed-Oss) (12/40), 37.8 KiB Retrieving: python310-docopt-0.6.2-7.18.noarch.rpm [..done (2.6 KiB/s)] (12/40) Installing: python310-docopt-0.6.2-7.18.noarch [..done] Retrieving: python310-pycairo-1.23.0-1.3.x86_64 (openSUSE-Tumbleweed-Oss) (13/40), 162.0 KiB Retrieving: python310-pycairo-1.23.0-1.3.x86_64.rpm [...done (1.8 MiB/s)] (13/40) Installing: python310-pycairo-1.23.0-1.3.x86_64 [..done] Retrieving: python310-setuptools-65.6.3-1.2.noarch (openSUSE-Tumbleweed-Oss) (14/40), 1.3 MiB Retrieving: python310-setuptools-65.6.3-1.2.noarch.rpm [....done (4.7 MiB/s)] (14/40) Installing: python310-setuptools-65.6.3-1.2.noarch [........done] Retrieving: typelib-1_0-GdkPixbuf-2_0-2.42.10-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (15/40), 20.6 KiB Retrieving: typelib-1_0-GdkPixbuf-2_0-2.42.10-1.2.x86_64.rpm [..done (2.6 KiB/s)] (15/40) Installing: typelib-1_0-GdkPixbuf-2_0-2.42.10-1.2.x86_64 [..done] Retrieving: typelib-1_0-Atk-1_0-2.46.0-2.1.x86_64 (openSUSE-Tumbleweed-Oss) (16/40), 35.6 KiB Retrieving: typelib-1_0-Atk-1_0-2.46.0-2.1.x86_64.rpm [..done (2.5 KiB/s)] (16/40) Installing: typelib-1_0-Atk-1_0-2.46.0-2.1.x86_64 [..done] Retrieving: python310-gobject-3.42.2-1.8.x86_64 (openSUSE-Tumbleweed-Oss) (17/40), 398.7 KiB Retrieving: python310-gobject-3.42.2-1.8.x86_64.rpm [...done (2.1 MiB/s)] (17/40) Installing: python310-gobject-3.42.2-1.8.x86_64 [..done] Retrieving: libatasmart-utils-0.19-10.13.x86_64 (openSUSE-Tumbleweed-Oss) (18/40), 16.5 KiB Retrieving: libatasmart-utils-0.19-10.13.x86_64.rpm [..done (2.4 KiB/s)] (18/40) Installing: libatasmart-utils-0.19-10.13.x86_64 [..done] Retrieving: libayatana-indicator3-7-0.9.0-1.9.x86_64 (openSUSE-Tumbleweed-Oss) (19/40), 100.2 KiB Retrieving: libayatana-indicator3-7-0.9.0-1.9.x86_64.rpm [...done (752.9 KiB/s)] (19/40) Installing: libayatana-indicator3-7-0.9.0-1.9.x86_64 [..done] Retrieving: libblockdev2-2.28-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (20/40), 60.3 KiB Retrieving: libblockdev2-2.28-1.2.x86_64.rpm [..done (2.5 KiB/s)] (20/40) Installing: libblockdev2-2.28-1.2.x86_64 [..done] Retrieving: libbd_swap2-2.28-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (21/40), 19.0 KiB Retrieving: libbd_swap2-2.28-1.2.x86_64.rpm [..done (2.5 KiB/s)] (21/40) Installing: libbd_swap2-2.28-1.2.x86_64 [..done] Retrieving: libbd_part2-2.28-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (22/40), 27.0 KiB Retrieving: libbd_part2-2.28-1.2.x86_64.rpm [..done (2.5 KiB/s)] (22/40) Installing: libbd_part2-2.28-1.2.x86_64 [..done] Retrieving: libbd_lvm2-2.28-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (23/40), 34.6 KiB Retrieving: libbd_lvm2-2.28-1.2.x86_64.rpm [..done (2.5 KiB/s)] (23/40) Installing: libbd_lvm2-2.28-1.2.x86_64 [..done] Retrieving: libbd_loop2-2.28-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (24/40), 18.5 KiB Retrieving: libbd_loop2-2.28-1.2.x86_64.rpm [..done (2.5 KiB/s)] (24/40) Installing: libbd_loop2-2.28-1.2.x86_64 [..done] Retrieving: libbd_fs2-2.28-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (25/40), 33.6 KiB Retrieving: libbd_fs2-2.28-1.2.x86_64.rpm [..done (2.5 KiB/s)] (25/40) Installing: libbd_fs2-2.28-1.2.x86_64 [..done] Retrieving: libbd_crypto2-2.28-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (26/40), 28.2 KiB Retrieving: libbd_crypto2-2.28-1.2.x86_64.rpm [..done (2.5 KiB/s)] (26/40) Installing: libbd_crypto2-2.28-1.2.x86_64 [..done] Retrieving: libbd_mdraid2-2.28-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (27/40), 23.8 KiB Retrieving: libbd_mdraid2-2.28-1.2.x86_64.rpm [..done (2.5 KiB/s)] (27/40) Installing: libbd_mdraid2-2.28-1.2.x86_64 [..done] Retrieving: typelib-1_0-HarfBuzz-0_0-7.0.1-1.1.x86_64 (openSUSE-Tumbleweed-Oss) (28/40), 66.2 KiB Retrieving: typelib-1_0-HarfBuzz-0_0-7.0.1-1.1.x86_64.rpm [..done (2.7 KiB/s)] (28/40) Installing: typelib-1_0-HarfBuzz-0_0-7.0.1-1.1.x86_64 [..done] Retrieving: typelib-1_0-Notify-0_7-0.8.2-1.1.x86_64 (openSUSE-Tumbleweed-Oss) (29/40), 12.9 KiB Retrieving: typelib-1_0-Notify-0_7-0.8.2-1.1.x86_64.rpm [..done (2.6 KiB/s)] (29/40) Installing: typelib-1_0-Notify-0_7-0.8.2-1.1.x86_64 [..done] Retrieving: python310-gobject-cairo-3.42.2-1.8.x86_64 (openSUSE-Tumbleweed-Oss) (30/40), 20.2 KiB Retrieving: python310-gobject-cairo-3.42.2-1.8.x86_64.rpm [..done (3.9 KiB/s)] (30/40) Installing: python310-gobject-cairo-3.42.2-1.8.x86_64 [..done] Retrieving: libayatana-appindicator3-1-0.5.91-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (31/40), 48.9 KiB Retrieving: libayatana-appindicator3-1-0.5.91-1.2.x86_64.rpm [...done (470.0 KiB/s)] (31/40) Installing: libayatana-appindicator3-1-0.5.91-1.2.x86_64 [..done] Retrieving: libblockdev-2.28-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (32/40), 18.2 KiB Retrieving: libblockdev-2.28-1.2.x86_64.rpm [..done (2.5 KiB/s)] (32/40) Installing: libblockdev-2.28-1.2.x86_64 [..done] Retrieving: typelib-1_0-Pango-1_0-1.50.13-1.1.x86_64 (openSUSE-Tumbleweed-Oss) (33/40), 51.3 KiB Retrieving: typelib-1_0-Pango-1_0-1.50.13-1.1.x86_64.rpm [..done (2.7 KiB/s)] (33/40) Installing: typelib-1_0-Pango-1_0-1.50.13-1.1.x86_64 [..done] Retrieving: udisks2-2.9.4-6.1.x86_64 (openSUSE-Tumbleweed-Oss) (34/40), 289.1 KiB Retrieving: udisks2-2.9.4-6.1.x86_64.rpm [...done (1.1 MiB/s)] (34/40) Installing: udisks2-2.9.4-6.1.x86_64 [.. Running in chroot, ignoring request. done] Retrieving: python310-gobject-Gdk-3.42.2-1.8.x86_64 (openSUSE-Tumbleweed-Oss) (35/40), 57.1 KiB Retrieving: python310-gobject-Gdk-3.42.2-1.8.x86_64.rpm [..done (3.8 KiB/s)] (35/40) Installing: python310-gobject-Gdk-3.42.2-1.8.x86_64 [..done] Retrieving: typelib-1_0-Gtk-3_0-3.24.35+10-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (36/40), 250.0 KiB Retrieving: typelib-1_0-Gtk-3_0-3.24.35+10-1.2.x86_64.rpm [..done (2.7 KiB/s)] (36/40) Installing: typelib-1_0-Gtk-3_0-3.24.35+10-1.2.x86_64 [..done] Retrieving: typelib-1_0-AyatanaAppIndicator3-0_1-0.5.91-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (37/40), 32.2 KiB Retrieving: typelib-1_0-AyatanaAppIndicator3-0_1-0.5.91-1.2.x86_64.rpm [..done (2.7 KiB/s)] (37/40) Installing: typelib-1_0-AyatanaAppIndicator3-0_1-0.5.91-1.2.x86_64 [..done] Retrieving: typelib-1_0-AppIndicator3-0_1-12.10.1~bzr20200706.298-2.1.x86_64 (openSUSE-Tumbleweed-Oss) (38/40), 24.0 KiB Retrieving: typelib-1_0-AppIndicator3-0_1-12.10.1~bzr20200706.298-2.1.x86_64.rpm [..done (2.8 KiB/s)] (38/40) Installing: typelib-1_0-AppIndicator3-0_1-12.10.1~bzr20200706.298-2.1.x86_64 [..done] Retrieving: udiskie-2.4.2-1.4.noarch (openSUSE-Tumbleweed-Oss) (39/40), 124.0 KiB Retrieving: udiskie-2.4.2-1.4.noarch.rpm [...done (820.6 KiB/s)] (39/40) Installing: udiskie-2.4.2-1.4.noarch [..done] Retrieving: udiskie-lang-2.4.2-1.4.noarch (openSUSE-Tumbleweed-Oss) (40/40), 22.1 KiB Retrieving: udiskie-lang-2.4.2-1.4.noarch.rpm [..done (2.4 KiB/s)] (40/40) Installing: udiskie-lang-2.4.2-1.4.noarch [..done]
Of course, there are scripts for rofi which can do it (https://github.com/davatorium/rofi/wiki/User-scripts ;)).
I see:
- https://mywaytoarch.tumblr.com/post/13111098534/pmount-safe-removal-of-usb-device
- udevil (which apparently incorporates code from the above mentioned author, whose pmount-jjk is however gone). No official packages for openSUSE. Project seems dead (last commit 2015), but it has descendants.
Also, https://duckduckgo.com/?t=ffab&q=systemd+automount&atb=v375-1&ia=web and particularly:
- something around https://wiki.archlinux.org/title/Fstab#Automount_with_systemd
- https://learn.redhat.com/t5/Platform-Linux/Automounting-using-systemd/td-p/5631
- https://blog.tomecek.net/post/automount-with-systemd/
- https://unix.stackexchange.com/questions/560358/how-do-i-automount-usb-drives-in-linux-debian seems relevant for USB drives
But it seems more for NSF exports rather than USB drives.
This seems like very relevant and up-to-date https://www.baeldung.com/linux/automount-usb-device. The article mentions the following tools:
- https://github.com/limansky/tinymount (Qt-based)
- https://github.com/projg2/uam (depends on pmount, but otherwise looks like a very Spartan tool)
And apparently
autofs
is not dead yet.
https://github.com/rbrito/usbmount seems like a thing (except Debian calls it dead because of this RC bug). The conclusion of the Debian bug (although it contains suggestions on fixing usbmount) is that one should
udisks2
as a replacement (also ofpmount
).
https://github.com/fogine/udiskie-dmenu looks nice, but it is a nodejs script. Needs to be ported.