Como desligar dispositivos USB automaticamente após a desmontagem

2

Como criar uma configuração de modo que, se eu desmontar um disco USB, ele também seja desligado automaticamente?

    
por Allen 01.10.2017 / 17:15

2 respostas

1

Em geral, udisksctl deve fazer o truque se o hardware suportar. Nem todos os discos USB aderem aos padrões igualmente bem ...

udisksctl power-off -b /dev/sdX tentará desligar o disco:

$ udisksctl power-off --help 
Usage:
udisksctl power-off [OPTION...]

Safely power off a drive.

Options:
  -p, --object-path         Object path for ATA device
  -b, --block-device        Device file for ATA device
  --no-user-interaction     Do not authenticate the user if needed

Apenas testei isso com algumas unidades diferentes (Seagate BackupPlus 1000 GB, caixa ICY com uma unidade de 500 GB) e parece funcionar. Não funcionou em um adaptador S-ATA-USB chinês super barato (US $ 0,90) ...

Você também pode tentar o comando eject - que envia o comando de ejeção para o dispositivo. Isso, em muitos casos, causará queda. sudo eject /dev/sdX - mas há poucas chances de funcionar, se o udisksctl não funcionar.

    
por vidarlo 01.10.2017 / 17:58
0

Até onde eu sei, alguns desktops fazem isso automaticamente, outros não. O Plasma não faz isso ( link ) uma solução simples foi publicada por lá ( link ). Aqui está uma versão ligeiramente melhorada que mostrará as notificações.

A solução geral consiste em adicionar uma nova ação ao DeviceNotifier, que executará um script básico que desmontará e desligará o dispositivo. Não está testando todos os casos de borda, mas deve funcionar na maioria dos casos. Basta adicionar os dois arquivos a seguir. Após o reinício do kded5 (ou depois de sair e voltar a ligar), os dispositivos removíveis devem ter uma nova ação "Desmontar e desligar o dispositivo USB".

~ / .local / bin / power-device-off (certifique-se de chmod + x isto)

#!/bin/bash

if udisksctl unmount -b $1; then
    if udisksctl power-off -b $1; then
        notify-send "Device $1 powered off and can be removed safely."
    else
        notify-send "Unmounted $1, but could not power down."
    fi
else
    notify-send "Could not unmount $1."
fi

~ / .local / share / solid / actions / power-devices-off.desktop

[Desktop Entry]
X-KDE-Solid-Predicate=[ [ [ StorageVolume.ignored == false AND StorageVolume.usage == 'FileSystem' ] OR [ IS StorageAccess AND StorageDrive.driveType == 'Floppy' ] ] OR StorageAccess.ignored == false ]
Type=Service
Actions=open;

[Desktop Action open]
Name=Unmount and Power-Off USB device
Exec=power-device-off "%d"
Icon=emblem-unmounted
    
por Sunday 17.09.2018 / 17:59