Если делают ввод-вывод к диску (с, говорят, dd), не проходя слой файловой системы, синхронизация действительно неэффективна?
Это вызывает вопрос, что запись в узел устройства обходит "слой файловой системы". Я предполагаю в некотором смысле, что это, очевидно, делает...
В любом случае это не имеет значения. Если то, что Вы делаете, не включает кэширование, то выполнение sync
(или некоторый эквивалент), так или иначе не было бы "неэффективно": если нет ничего для синхронизации, это - тривиальный вызов.
Когда нужно использовать один вместо другого?
Я предполагаю, когда Вы хотите быть нацеленными на конкретный раздел, blockdev
имеет смысл. Я не вижу, как это имело бы какое-то конкретное преимущество sync
иначе (и наоборот).
Поместите ScriptName.desktop, содержащий это:
[Desktop Entry]
Name="devilspie"
GenericName="devilspie"
Comment="is this necesery?"
Exec=/usr/bin/devilspie
Terminal=false
Type=Application
X-Gnome-Autostart=true
здесь:
/home/user/.config/autostart
Прошло 4 года, и я не знаю, разгадали ли вы ее.
Сегодня успешно делаю автозапуск Devilspie.
.desktop
Вы сделали второй шаг?
Моя конфигурация выглядит следующим образом (ОС — archlinux):
[Desktop Entry]
Name=devilspie
Exec=devilspie
Terminal=false
Type=Application
Hidden=false
X-Gnome-Autostart=true