Portál AbcLinuxu, 9. listopadu 2025 05:45
Ahojte, mám takový dotaz, který se mi nedaří nikde dohledat...
Když připojím v GNOME nějaký flash disk nebo externí disk do USB, normálně se připojí a zobrazí se soubory.
Mě ale zajímá, co se děje při odpojení: když kliknu pravým tlačítkem na ikonu daného zařízení, jsou tam tři možnosti: odpojit, vysunout a bezpečně odebrat.
Odpojit je asi to samé jako umount, vysunout je u CD nebo DVD asi to samé jako eject, u ostatních zařízení je to nejspíše zase umount.
Ale jaký příkaz volá volba bezpečně odebrat? Protože tato volba jako jediná přímo odpojí dané zařízení od napájení (dmesg vypíše toto: usb 3-2: USB disconnect, address 4). A tenhle příkaz bych docela rád zjistil. Neví někdo?
Řešení dotazu:
eject /dev/sdX.
Díky, to jsem také zkoušel, ale napájení to nevypne...
Vážně by mě zajímalo, jak to dělá ta možnost „bezpečně odebrat“ v GNOME, že to vypne i napájení...
udisks --detach /dev/sdX.
Také se dá zařízení přepnout do suspendu pomocí zapsání "suspend" do souboru /sys/devices/.../.../usbX/X-Y/power/level. Pro konkrétní zařízení je nutno nalézt správný soubor. Například echo suspend > /sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/power/level.
udisks --monitor-detail se při bezpečném odebrání děje:
job-changed: /org/freedesktop/UDisks/devices/sdb
job underway: FilesystemUnmount, initiated by uid 1000
changed: /org/freedesktop/UDisks/devices/sdb
Showing information for /org/freedesktop/UDisks/devices/sdb
native-path: /sys/devices/pci0000:00/0000:00:1a.7/usb1/1-3/1-3:1.0/host29/target29:0:0/29:0:0:0/block/sdb
device: 8:16
device-file: /dev/sdb
presentation: /dev/sdb
by-id: /dev/disk/by-id/usb-XXX_A400000000000542-0:0
by-id: /dev/disk/by-uuid/XXX
by-path: /dev/disk/by-path/pci-0000:00:1a.7-usb-0:3:1.0-scsi-0:0:0:0
detected at: Út 10. květen 2011, 22:59:29 CEST
system internal: 0
removable: 1
has media: 1 (detected at Út 10. květen 2011, 22:59:29 CEST)
detects change: 1
detection by polling: 1
detection inhibitable: 1
detection inhibited: 0
is read only: 0
is mounted: 0
mount paths:
mounted by uid: 0
presentation hide: 0
presentation nopolicy: 0
presentation name:
presentation icon:
size: XXX
block size: 512
job underway: no
usage: filesystem
type: vfat
version: FAT32
uuid: XXX
label:
drive:
vendor: XXX
model: XXX YYY
revision: 1100
serial: A400000000000542
WWN:
detachable: 1
can spindown: 0
rotational media: Yes, unknown rate
write-cache: unknown
ejectable: 0
adapter: Unknown
ports:
similar devices:
media:
compat:
interface: usb
if speed: 480000000 bits/s
ATA SMART: not available
job-changed: /org/freedesktop/UDisks/devices/sdb
job underway: no
job-changed: /org/freedesktop/UDisks/devices/sdb
job underway: DriveDetach, initiated by uid 1000
removed: /org/freedesktop/UDisks/devices/sdb
Důležité jsou části FilesystemUnmount a DriveDetach.
Stejné akce u mě vyvolá udisks --umount /dev/sdb a udisks --detach /dev/sdb.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.