You are not logged in.

#1 2024-05-02 06:19:13

mesaprotector
Member
Registered: 2024-03-03
Posts: 197

Can't safely unmount/eject external HDD in PCManFM

When I have a USB flash drive inserted in my PC, PCManFM's context menu gives me the "eject" option for the drive. This is great - it not only unmounts it but powers it off.

With my current external HDD (and it was also true for the previous one), there is no "eject", only "unmount", which leaves the drive powered on. I didn't pay it too much mind with my previous HDD but the current one makes an awful clicking noise if it's unplugged without being powered off first.

I can manually power it off in the terminal with "udisksctl power-off -b /dev/sda", but this is inconvenient to do every single time. So I would like to automate the process. I looked into udev rules that would power off any usb drive as soon as it is unmounted, but this doesn't seem possible in this case (there is a udev event when unmounting the drive, but it is not unique). PCManFM gives very little in the way of customization options; if there is some way to write a script and force it to appear in the context menu, that would be great.

I found this thread which is highly relevant to the issue I'm having, but it's just a little too dense and difficult for me.

I briefly tried PCManFM-Qt to see if it had the same issue, which it did. I'm not eager to switch file managers but I will if I have to.

EDIT: Someone suggested I use a udev rule instead to mark the drive as removable (it isn't, according to udevadm) and then see if PCManFM will work properly. I wrote the following:

KERNEL=="sda" SUBSYSTEM=="block" ATTR{removable}="1"

Even after a reboot, it is still claiming the drive is not removable.

Last edited by mesaprotector (2024-05-02 06:58:39)

Offline

#2 2024-05-02 07:50:04

Nebulosa
Member
Registered: 2009-08-24
Posts: 49

Re: Can't safely unmount/eject external HDD in PCManFM

Just use one of mount helpers for that: https://wiki.archlinux.org/title/Udisks#Mount_helpers

I used udiskie for a while, but then made my own unmount script and hung it on the eject button on the laptop. It is not PCManFM's responsibility to turn off external disks or usb sticks.

Offline

#3 2024-05-02 16:19:01

mesaprotector
Member
Registered: 2024-03-03
Posts: 197

Re: Can't safely unmount/eject external HDD in PCManFM

This KDE bug report (since resolved) would tend to say otherwise: https://bugs.kde.org/show_bug.cgi?id=270808 . See also this bug report for PCManFM-Qt (note that PCManFM uses a different library than GLib): https://github.com/lxqt/pcmanfm-qt/issues/1820

I already use udiskie. I looked into udiskie options and while it has a function to match UUID, none of the options are useful. I shouldn't have to write my own unmount script just to not damage my external HDD.

Last edited by mesaprotector (2024-05-02 16:57:15)

Offline

#4 2024-05-02 17:21:36

mesaprotector
Member
Registered: 2024-03-03
Posts: 197

Re: Can't safely unmount/eject external HDD in PCManFM

I think I'm just going to switch to either Thunar or Nemo, both of which have the "Safely Remove" option in their context menu as they should. I'll leave this thread open because I'm still interested in why the solutions I tried didn't work.

Offline

#5 2024-05-02 19:18:20

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,820

Re: Can't safely unmount/eject external HDD in PCManFM

EDIT: Someone suggested I use a udev rule instead to mark the drive as removable (it isn't, according to udevadm) and then see if PCManFM will work properly. I wrote the following:

KERNEL=="sda" SUBSYSTEM=="block" ATTR{removable}="1"
Even after a reboot, it is still claiming the drive is not removable.

That's likely the right idea but the wrong rule.
https://wiki.archlinux.org/title/Udev#S … e,_are_not

Offline

#6 2024-05-02 19:22:38

mesaprotector
Member
Registered: 2024-03-03
Posts: 197

Re: Can't safely unmount/eject external HDD in PCManFM

seth wrote:
EDIT: Someone suggested I use a udev rule instead to mark the drive as removable (it isn't, according to udevadm) and then see if PCManFM will work properly. I wrote the following:

KERNEL=="sda" SUBSYSTEM=="block" ATTR{removable}="1"
Even after a reboot, it is still claiming the drive is not removable.

That's likely the right idea but the wrong rule.
https://wiki.archlinux.org/title/Udev#S … e,_are_not

It took me longer than I'd like to admit to find that wiki section, but I eventually did try that as well, and it didn't seem to do anything after a reboot.

I went with Nemo because Thunar, though I like its customizability, has an unresolved weird behavior with spacing in icon mode.

Offline

#7 2024-05-02 19:26:39

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,820

Offline

#8 2024-05-02 19:40:04

mesaprotector
Member
Registered: 2024-03-03
Posts: 197

Re: Can't safely unmount/eject external HDD in PCManFM

It doesn't. I had been using the --attribute-walk command to check, though rather than testing the rules I was just force-reloading them and rebooting my PC if that didn't work. It stubbornly stuck at ATTR{removable}=="0".

Last edited by mesaprotector (2024-05-02 19:40:49)

Offline

#9 2024-05-02 19:44:16

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,820

Re: Can't safely unmount/eject external HDD in PCManFM

The attr isn't gonna change, you want the 'ENV{UDISKS_SYSTEM}="0"'

Edit: and in doubt post the actual rule and the actual test/walk outputs

Last edited by seth (2024-05-02 19:45:11)

Offline

#10 2024-05-03 20:30:38

mesaprotector
Member
Registered: 2024-03-03
Posts: 197

Re: Can't safely unmount/eject external HDD in PCManFM

Sure, here:

[asuka@Marojejy ~]$ cat /etc/udev/rules.d/40-removablehdd.rules
ENV{ID_SERIAL}=="WDC_WD20SDRW-11VUUS0_WD-WX32AB28MHC1", ENV{UDISKS_AUTO}="1", ENV{UDISKS_SYSTEM}="0"
[asuka@Marojejy ~]$ sudo udevadm info --attribute-walk --name=/dev/sda
[sudo] password for asuka: 

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:14.0/usb2/2-4/2-4:1.0/host0/target0:0:0>
    KERNEL=="sda"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{alignment_offset}=="0"
    ATTR{capability}=="0"
    ATTR{discard_alignment}=="0"
    ATTR{diskseq}=="4"
    ATTR{events}==""
    ATTR{events_async}==""
    ATTR{events_poll_msecs}=="-1"
    ATTR{ext_range}=="256"
    ATTR{hidden}=="0"
    ATTR{inflight}=="       0        0"
    ATTR{integrity/device_is_integrity_capable}=="0"
    ATTR{integrity/format}=="none"
    ATTR{integrity/protection_interval_bytes}=="0"
    ATTR{integrity/read_verify}=="0"
    ATTR{integrity/tag_size}=="0"
    ATTR{integrity/write_generate}=="0"
    ATTR{mq/0/cpu_list}=="0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11"
    ATTR{mq/0/nr_reserved_tags}=="0"
    ATTR{mq/0/nr_tags}=="1"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{queue/add_random}=="1"
    ATTR{queue/chunk_sectors}=="0"
    ATTR{queue/dax}=="0"
    ATTR{queue/discard_granularity}=="0"
    ATTR{queue/discard_max_bytes}=="0"
    ATTR{queue/discard_max_hw_bytes}=="0"
    ATTR{queue/discard_zeroes_data}=="0"
    ATTR{queue/dma_alignment}=="511"
    ATTR{queue/fua}=="0"
    ATTR{queue/hw_sector_size}=="512"
    ATTR{queue/io_poll}=="0"
    ATTR{queue/io_poll_delay}=="-1"
    ATTR{queue/io_timeout}=="30000"
    ATTR{queue/iosched/async_depth}=="1"
    ATTR{queue/iosched/fifo_batch}=="16"
    ATTR{queue/iosched/front_merges}=="1"
    ATTR{queue/iosched/prio_aging_expire}=="10000"
    ATTR{queue/iosched/read_expire}=="500"
    ATTR{queue/iosched/write_expire}=="5000"
    ATTR{queue/iosched/writes_starved}=="2"
    ATTR{queue/iostats}=="1"
    ATTR{queue/logical_block_size}=="512"
    ATTR{queue/max_discard_segments}=="1"
    ATTR{queue/max_hw_sectors_kb}=="1024"
    ATTR{queue/max_integrity_segments}=="0"
    ATTR{queue/max_sectors_kb}=="1024"
    ATTR{queue/max_segment_size}=="65536"
    ATTR{queue/max_segments}=="2048"
    ATTR{queue/minimum_io_size}=="512"
    ATTR{queue/nomerges}=="0"
    ATTR{queue/nr_requests}=="2"
    ATTR{queue/nr_zones}=="0"
    ATTR{queue/optimal_io_size}=="0"
    ATTR{queue/physical_block_size}=="512"
    ATTR{queue/read_ahead_kb}=="128"
    ATTR{queue/rotational}=="1"
    ATTR{queue/rq_affinity}=="1"
    ATTR{queue/scheduler}=="none [mq-deadline] kyber bfq "
    ATTR{queue/stable_writes}=="0"
    ATTR{queue/throttle_sample_time}=="100"
    ATTR{queue/virt_boundary_mask}=="0"
    ATTR{queue/wbt_lat_usec}=="75000"
    ATTR{queue/write_cache}=="write through"
    ATTR{queue/write_same_max_bytes}=="0"
    ATTR{queue/write_zeroes_max_bytes}=="0"
    ATTR{queue/zone_append_max_bytes}=="0"
    ATTR{queue/zone_write_granularity}=="0"
    ATTR{queue/zoned}=="none"
    ATTR{range}=="16"
    ATTR{removable}=="0"
    ATTR{ro}=="0"
    ATTR{size}=="3906963456"
    ATTR{stat}=="   15123        0   126459     4072        0        0        0        0>
    ATTR{trace/act_mask}=="disabled"
    ATTR{trace/enable}=="0"
    ATTR{trace/end_lba}=="disabled"
    ATTR{trace/pid}=="disabled"
    ATTR{trace/start_lba}=="disabled"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb2/2-4/2-4:1.0/host0/targ>
    KERNELS=="0:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{blacklist}=="FORCELUN"
    ATTRS{cdl_enable}=="0"
    ATTRS{cdl_supported}=="0"
    ATTRS{delete}=="(not readable)"
    ATTRS{device_blocked}=="0"
    ATTRS{device_busy}=="0"
    ATTRS{dh_state}=="detached"
    ATTRS{eh_timeout}=="10"
    ATTRS{evt_capacity_change_reported}=="0"
    ATTRS{evt_inquiry_change_reported}=="0"
    ATTRS{evt_lun_change_reported}=="0"
    ATTRS{evt_media_change}=="0"
    ATTRS{evt_mode_parameter_change_reported}=="0"
    ATTRS{evt_soft_threshold_reached}=="0"
    ATTRS{inquiry}==""
    ATTRS{iocounterbits}=="32"
    ATTRS{iodone_cnt}=="0x3b2d"
    ATTRS{ioerr_cnt}=="0x5"
    ATTRS{iorequest_cnt}=="0x3b2d"
    ATTRS{iotmo_cnt}=="0x0"
    ATTRS{max_sectors}=="2048"
    ATTRS{model}=="My Passport 2626"
    ATTRS{power/autosuspend_delay_ms}=="-1"
    ATTRS{power/control}=="on"
    ATTRS{power/runtime_active_time}=="22318"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{queue_depth}=="1"
    ATTRS{queue_type}=="none"
    ATTRS{rescan}=="(not readable)"
    ATTRS{rev}=="1034"
    ATTRS{scsi_level}=="7"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{type}=="0"
    ATTRS{vendor}=="WD      "

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb2/2-4/2-4:1.0/host0/targ>
    KERNELS=="target0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_time}=="22318"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb2/2-4/2-4:1.0/host0':
    KERNELS=="host0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_time}=="22324"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="1006"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb2/2-4/2-4:1.0':
    KERNELS=="2-4:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb-storage"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="08"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="50"
    ATTRS{bInterfaceSubClass}=="06"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{physical_location/dock}=="no"
    ATTRS{physical_location/horizontal_position}=="left"
    ATTRS{physical_location/lid}=="no"
    ATTRS{physical_location/panel}=="top"
    ATTRS{physical_location/vertical_position}=="upper"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb2/2-4':
    KERNELS=="2-4"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="9"
    ATTRS{bMaxPower}=="896mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="1034"
    ATTRS{bmAttributes}=="80"
    ATTRS{busnum}=="2"
    ATTRS{configuration}==""
    ATTRS{devnum}=="3"
    ATTRS{devpath}=="4"
    ATTRS{idProduct}=="2626"
    ATTRS{idVendor}=="1058"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Western Digital"
    ATTRS{maxchild}=="0"
    ATTRS{physical_location/dock}=="no"
    ATTRS{physical_location/horizontal_position}=="left"
    ATTRS{physical_location/lid}=="no"
    ATTRS{physical_location/panel}=="top"
    ATTRS{physical_location/vertical_position}=="upper"
    ATTRS{power/active_duration}=="23477"
    ATTRS{power/autosuspend}=="2"
    ATTRS{power/autosuspend_delay_ms}=="2000"
    ATTRS{power/connected_duration}=="23477"
    ATTRS{power/control}=="on"
    ATTRS{power/level}=="on"
    ATTRS{power/persist}=="1"
    ATTRS{power/runtime_active_time}=="23337"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/usb3_hardware_lpm_u1}=="enabled"
    ATTRS{power/usb3_hardware_lpm_u2}=="enabled"
    ATTRS{product}=="My Passport 2626"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="removable"
    ATTRS{remove}=="(not readable)"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="57583332414232384D484331"
    ATTRS{speed}=="5000"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="45568"
    ATTRS{version}==" 3.20"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb2':
    KERNELS=="usb2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceProtocol}=="03"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="9"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0606"
    ATTRS{bmAttributes}=="e0"
    ATTRS{busnum}=="2"
    ATTRS{configuration}==""
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{idProduct}=="0003"
    ATTRS{idVendor}=="1d6b"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{ltm_capable}=="yes"
    ATTRS{manufacturer}=="Linux 6.6.30-1-lts xhci-hcd"
    ATTRS{maxchild}=="4"
    ATTRS{power/active_duration}=="181557"
    ATTRS{power/autosuspend}=="0"
    ATTRS{power/autosuspend_delay_ms}=="0"
    ATTRS{power/connected_duration}=="1783220"
    ATTRS{power/control}=="auto"
    ATTRS{power/level}=="auto"
    ATTRS{power/runtime_active_time}=="181694"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="1601523"
    ATTRS{power/usb3_hardware_lpm_u1}=="disabled"
    ATTRS{power/usb3_hardware_lpm_u2}=="disabled"
    ATTRS{power/wakeup}=="disabled"
    ATTRS{power/wakeup_abort_count}==""
    ATTRS{power/wakeup_active}==""
    ATTRS{power/wakeup_active_count}==""
    ATTRS{power/wakeup_count}==""
    ATTRS{power/wakeup_expire_count}==""
    ATTRS{power/wakeup_last_time_ms}==""
    ATTRS{power/wakeup_max_time_ms}==""
    ATTRS{power/wakeup_total_time_ms}==""
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{remove}=="(not readable)"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="0000:00:14.0"
    ATTRS{speed}=="10000"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="171"
    ATTRS{version}==" 3.10"

  looking at parent device '/devices/pci0000:00/0000:00:14.0':
    KERNELS=="0000:00:14.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="xhci_hcd"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0330"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x51ed"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="127"
    ATTRS{local_cpulist}=="0-11"
    ATTRS{local_cpus}=="fff"
    ATTRS{msi_bus}=="1"
    ATTRS{msi_irqs/127}=="msi"
    ATTRS{numa_node}=="-1"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_time}=="1783791"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/wakeup}=="enabled"
    ATTRS{power/wakeup_abort_count}=="0"
    ATTRS{power/wakeup_active}=="0"
    ATTRS{power/wakeup_active_count}=="0"
    ATTRS{power/wakeup_count}=="0"
    ATTRS{power/wakeup_expire_count}=="0"
    ATTRS{power/wakeup_last_time_ms}=="0"
    ATTRS{power/wakeup_max_time_ms}=="0"
    ATTRS{power/wakeup_total_time_ms}=="0"
    ATTRS{power_state}=="D0"
    ATTRS{remove}=="(not readable)"
    ATTRS{rescan}=="(not readable)"
    ATTRS{revision}=="0x01"
    ATTRS{subsystem_device}=="0x384d"
    ATTRS{subsystem_vendor}=="0x17aa"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{waiting_for_supplier}=="0"

The wiki uses ID_SERIAL_SHORT instead of ID_SERIAL, but I figure there shouldn't be a difference unless I mix them up, which I didn't.

Offline

#11 2024-05-03 20:38:13

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,820

Re: Can't safely unmount/eject external HDD in PCManFM

ATTRS{idProduct}=="2626"
    ATTRS{idVendor}=="1058"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Western Digital"
    ATTRS{maxchild}=="0"
    ATTRS{physical_location/dock}=="no"
    ATTRS{physical_location/horizontal_position}=="left"
    ATTRS{physical_location/lid}=="no"
    ATTRS{physical_location/panel}=="top"
    ATTRS{physical_location/vertical_position}=="upper"
    ATTRS{power/active_duration}=="23477"
    ATTRS{power/autosuspend}=="2"
    ATTRS{power/autosuspend_delay_ms}=="2000"
    ATTRS{power/connected_duration}=="23477"
    ATTRS{power/control}=="on"
    ATTRS{power/level}=="on"
    ATTRS{power/persist}=="1"
    ATTRS{power/runtime_active_time}=="23337"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/usb3_hardware_lpm_u1}=="enabled"
    ATTRS{power/usb3_hardware_lpm_u2}=="enabled"
    ATTRS{product}=="My Passport 2626"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="removable"
    ATTRS{remove}=="(not readable)"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="57583332414232384D484331"

Offline

#12 2024-05-03 20:55:37

mesaprotector
Member
Registered: 2024-03-03
Posts: 197

Re: Can't safely unmount/eject external HDD in PCManFM

I matched it from the environment variable, which is the wiki's preferred method:

[asuka@Marojejy ~]$ udevadm info /dev/sda | grep ID_SERIAL
E: ID_SERIAL=WDC_WD20SDRW-11VUUS0_WD-WX32AB28MHC1
E: ID_SERIAL_SHORT=WD-WX32AB28MHC1

If you're saying that it is already marked as removable, then it really is a bug in PCManFM. I just installed it again to check and it still only provides "unmount" - Nemo provides "unmount" and "safely remove", the latter of which is necessary to spin down the drive. It's not even a library problem as both PCManFM and Nemo use GVFS.

Since PCManFM hasn't had an update in close to a year, I'm inclined to just consider it unmaintained and make no further attempts to get it to work.

Offline

#13 2024-05-03 21:05:41

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,820

Re: Can't safely unmount/eject external HDD in PCManFM

https://archlinux.org/packages/extra/x86_64/pcmanfm-qt/
https://archlinux.org/packages/extra-te … cmanfm-qt/
https://en.wikipedia.org/wiki/LXDE#Qt_port

That's the relevant device, though?
pcmanfm (still) allows you to eject other devices (usb disks, usb keys)?

Offline

#14 2024-05-03 22:00:55

mesaprotector
Member
Registered: 2024-03-03
Posts: 197

Re: Can't safely unmount/eject external HDD in PCManFM

I'd been using vanilla PCManFM, not the qt port, though the qt port had the same issue when I tried it.

And yes, it let me eject USB sticks. I'd only had this problem with external HDDs (namely this one as well as my previous one, a Seagate).

Offline

#15 2024-05-04 07:11:57

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,820

Re: Can't safely unmount/eject external HDD in PCManFM

The links where to hint why likely pcmanfm seems unmaintained.

Did you see whether you can use the ATTRS{serial] or maybe instead the ATTRS{idProduct}=="2626", ATTRS{idVendor}=="1058" to apply the rule (you could also add a RUN+="/usr/bin/touch /tmp/itsamatch" to log the match)
To be clear: I'm not trying to sell you any FM here, just to add understanding of the situation for future benefit.

Offline

Board footer

Powered by FluxBB