$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
└─sda1 8:1 0 931.5G 0 part
sdb 8:16 0 458.6G 0 disk
├─sdb1 8:17 0 1G 0 part /boot
├─sdb2 8:18 0 2G 0 part [SWAP]
├─sdb3 8:19 0 64G 0 part /
└─sdb4 8:20 0 391.6G 0 part /home
sr0 11:0 1 1024M 0 rom
$ fdisk -l
Disk /dev/sdb: 458.6 GiB, 492387172352 bytes, 961693696 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: 0xc5900613
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 63 2104514 2104452 1G 83 Linux
/dev/sdb2 2104515 6313544 4209030 2G 82 Linux swap / Solaris
/dev/sdb3 6313545 140536619 134223075 64G 83 Linux
/dev/sdb4 140536620 961683029 821146410 391.6G 83 Linux
Disk /dev/sda: 931.5 GiB, 1000204885504 bytes, 1953525167 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 33553920 bytes
Disklabel type: dos
Disk identifier: 0x9a70439c
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 1953521663 1953519616 931.5G 7 HPFS/NTFS/exFAT
$ df | grep -v tmpfs
Filesystem Type 1M-blocks Used Available Use% Mounted on
/dev/sdb3 ext4 64381 33387 27701 55% /
/dev/sdb1 ext2 1012 40 921 5% /boot
/dev/sdb4 ext4 394531 59129 315339 16% /home
$ cat /proc/partitions
major minor #blocks name
8 16 480846848 sdb
8 17 1052226 sdb1
8 18 2104515 sdb2
8 19 67111537 sdb3
8 20 410573205 sdb4
11 0 1048575 sr0
8 0 976762583 sda
8 1 976759808 sda1
Then just call udisks with --detach flag to safely remove the device, for example:
sudo udisks --detach /dev/sda
Or you can use this script, download/save then you can execute it, for example:
sudo sh suspend-usb-device.sh -v /dev/sda
sudo udisks --detach /dev/sda
Or you can use this script, download/save then you can execute it, for example:
sudo sh suspend-usb-device.sh -v /dev/sda
now your portable disk can be removed safely.
Note: if you're using kernel newer than 2.6.32, there would be an error line 180: echo: write error: Invalid argument, change that script on line 180 from suspend into auto. And of course if you have Nemo (or maybe Nautilus too, but not for Thunar) installed you can always right click and then safely remove the drive without command line.