RaspiOSのDesktopで、USBを差し込むとfatとかなら自動認識されてどのアプリを起動するか聞かれるダイアログが出る。

デフォルトはアプリはFile Manager(pcmanfm)が設定されている。

都合により、これを止めて、アプリ側からマウント/アンマウントを制御したい。
trixieから、いっぱい分散していた設定関係は、Control Centreに集約されたようだ。

起動する。Centreは英語表記なのね。そういう妙な自己主張が面白いw

しかし、この中には設定はないのであった。
どこにあるかというと「File Managerの設定」になる。フォルダアイコンのFile Mangerを開いて、Edit->Preferencesを開く。

このチェックをぜんぶ外しておく。

ぜんぶチェックを外すと、プログラムがキックされることもなくなった。
LXDE-piはもう使っていないようだ。
fd@pi4:~ $ ~/.config/pcmanfm/LXDE-pi/pcmanfm.conf
-bash: /home/fd/.config/pcmanfm/LXDE-pi/pcmanfm.conf: No such file or directory
GUIでやった設定は、どこに保存されているんだろう? 探す。
fd@pi4:~ $ find ~/.config -type f -name "pcmanfm.conf"
/home/fd/.config/pcmanfm/default/pcmanfm.conf
fd@pi4:~ $ find /etc/xdg -type f -name "pcmanfm.conf"
/etc/xdg/pcmanfm/default/pcmanfm.conf
なるほど、いまはこれか。
fd@pi4:~ $ cat /home/fd/.config/pcmanfm/default/pcmanfm.conf
[config]
bm_open_method=0
[volume]
mount_on_startup=0
mount_removable=0
autorun=0
[ui]
always_show_tabs=0
max_tab_chars=32
win_width=640
win_height=418
splitter_pos=150
media_in_new_tab=0
desktop_folder_new_win=0
change_tab_on_drop=1
close_on_unmount=1
focus_previous=0
side_pane_mode=places
view_mode=icon
show_hidden=0
show_thumbs=0
sort=name;ascending;
columns=name;size;mtime;
toolbar=newtab;navigation;home;
show_statusbar=1
pathbar_mode_buttons=0
prefs_app=rpcc desktop
common_bg=0
コピー元と思われるデフォルト設定も見てみる。
fd@pi4:~ $ cat /etc/xdg/pcmanfm/default/pcmanfm.conf
[config]
bm_open_method=0
[volume]
mount_on_startup=1
mount_removable=1
autorun=1
[desktop]
wallpaper_mode=0
desktop_bg=#000000
desktop_fg=#ffffff
desktop_shadow=#000000
show_wm_menu=0
[ui]
win_width=640
win_height=480
splitter_pos=150
view_mode=0
show_hidden=0
max_tab_chars=32
sort=name;ascending;
columns=name;size;mtime;
prefs_app=rpcc desktop
common_bg=0
通常、外部メディアのコントロールは、udisks2がサービスとして行なっている。
fd@pi4:~ $ sudo systemctl status udisks2.service | cat
● udisks2.service - Disk Manager
Loaded: loaded (/usr/lib/systemd/system/udisks2.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-09-09 17:38:39 JST; 3 weeks 5 days ago
Invocation: 9056b08ab00c4f7aaa60c55b83b1e388
Docs: man:udisks(8)
Main PID: 750 (udisksd)
Tasks: 6 (limit: 3906)
CPU: 436ms
CGroup: /system.slice/udisks2.service
└─750 /usr/libexec/udisks2/udisksd
Sep 09 17:38:38 pi4 systemd[1]: Starting udisks2.service - Disk Manager...
Sep 09 17:38:39 pi4 udisksd[750]: udisks daemon version 2.10.1 starting
Sep 09 17:38:39 pi4 systemd[1]: Started udisks2.service - Disk Manager.
Sep 09 17:38:39 pi4 udisksd[750]: Acquired the name org.freedesktop.UDisks2 on the system message bus
Oct 06 13:25:18 pi4 udisksd[750]: Mounted /dev/sda1 at /media/fd/bootfs on behalf of uid 1000
Oct 06 13:34:23 pi4 udisksd[750]: Cleaning up mount point /media/fd/bootfs (device 8:1 no longer exists)
Oct 06 13:34:24 pi4 udisksd[750]: g_variant_store: assertion 'data != NULL' failed
なので、これを停止してしまうという方法もある。
sudo systemctl stop udisks2.service
sudo systemctl disable udisks2.service
さらに、udevルールで自動マウントトリガを抑止するルールを追加して、マウント自体をブロックする方法もある。
さて、udisks2が有効であれば、udisksctlコマンドを使って、マウント操作ができる。
fd@pi4:~ $ sudo udisksctl mount -b /dev/sda1
Mounted /dev/sda1 at /media/root/bootfs
fd@pi4:~ $ sudo df /dev/sda1
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 522230 75762 446468 15% /media/root/bootfs
fd@pi4:~ $ sudo udisksctl unmount -b /dev/sda1
Unmounted /dev/sda1.
USBストレージを切ることもできる。
fd@pi4:~ $ sudo fdisk -l /dev/sda1
Disk /dev/sda1: 512 MiB, 536870912 bytes, 1048576 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
fd@pi4:~ $ sudo udisksctl power-off -b /dev/sda1
fd@pi4:~ $ sudo fdisk -l /dev/sda1
fdisk: cannot open /dev/sda1: No such file or directory
もっとプリミティブに、mount/umountコマンドを使ってもいい。
これもわりと普通だな...
オリジナル投稿:
RaspiOSでUSB hotplugを停止する|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/10693823



