UPD. В новых версиях Линукса используется не программа udisks (1-ой версии), а udisks2. Тогда в CLI используется не команда udisks, а команда udisksctl. С другим синтаксисом.
Если флешка на sdb1 (а так бывает чаще всего, другими словами - если в компьютере один жёсткий диск, физически один, :-) одна коробочка в системнике[Подробнее об обозначении дисков...], то этот диск в Линуксе обычно обозначен sda, а его разделы соответственно sda1... sda5 и т.п.
Если в компьютере 2 жёстких диска, :-) 2 коробочки в системнике, то они - sda и sdb, а флешка - sdc).
Проверить, какие диски смонтированы (программой udisks2, если есть таковая в вашей системе):
udisksctl status
Основное. Итак, допустим флешка смонтирована на /dev/sdb. Тогда:
* * *
1. Сначала отмонтировать файловую с-му флешки: udisks --unmount /dev/sdb1
UPD. Для более новой программы udisks2: udisksctl unmount -b /dev/sdb1
или (аналогичная команда, но требует ввода пароля) sudo umount /dev/sdb1
* * *
2. После этого, отключить флешку: udisks --detach /dev/sdb
Отключать надо именно sdb, а не sdb1, т.е. всю флешку, а не раздел на ней. После этой команды отключения (--detach), на флешке гаснет "лампочка" (если есть таковая).
UPD. Для более новой программы udisks2: udisksctl power-off -b /dev/sdb1 или просто /dev/sdb - в конце команды выше.
Есть программа udiskie с GUI. На основе udisks (или udisks2 в более новых версиях). Выводит значок флешки на Панель задач в Системный лоток. Там можно, например, отключить питание флешки (проще говоря, сделать, чтобы лампочка на флешке погасла).
Ниже - почти скопировано отсюда. Несколько вариантов использования:
udiskie -a -n -s -q новые устройства будут автоматически смонтироваы (-a), при этом, будет показано всплывающее уведомление (-n) и значек в системном трее (-s).
udiskie -A -N -s -q программа будет показывать значек в трее и только. Такой вариант можеть быть полезен, если автомонтирование реализовано другими средствами, но иметь удобное меню в трее все-таки хочется.
udiskie --help такая команда выведет на экран все доступные опции, их легко комбинировать под собственные нужды. (Конец цитаты)
Можно добавить такую команду, как выше, в автозагрузку. Но можно и не добавлять это если нужно что-то, чего не даёт стандартная программа из стандартного графического окружения. Подробнее.
* * *
Ссылка на исходный код программы detach под названием job-drive-detach.c. Можно посмотреть ради любопытства, например как код оформлен, на языке Си.