произошло с приложением qt5 с использованием темы gtk в Ubuntu MATE
$ ./my-application
Gtk-Message: Failed to load module "canberra-gtk-module"
Gtk-Message: Failed to load module "topmenu-gtk-module"
, давайте найдем libs
$ locate libcanberra-gtk-module.so
/usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libcanberra-gtk-module.so
/usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libcanberra-gtk-module.so
, устанавливая LD_LIBRARY_PATH, решая проблему
или отключить переменную окружения GTK_MODULES
$ unset GTK_MODULES; ./my-application
Вы уверены, что это fsck, который занимает 30 секунд, а не только следующее сообщение консоли, касающееся udevd, занимает 30 секунд? Другими словами, возможно, udevd занимает 30 секунд до тайм-аута, работая над липкой личностью, прежде чем показывать консольное сообщение?
Попробуйте удалить (или временно переместить какое-то время)
/lib/udev/rules.d/45-libticables.rules
и посмотрим, поможет ли это.
Этот fsck на каждой загрузке произошел со мной из-за плохих часов. Похоже, что systemd-fsck @ работает до systemd-timesyncd и без RTC с батарейным питанием, системное время ошибочно во время запуска fsck.
Я подтвердил, что это действительно то, что запускает полный проверьте (вместо быстрого выхода fsck), отключив systemd-timesynd, установив часы в значение pre-sync, найденное в журналеctct, и запустив fsck. Затем e2fsck выполняет полную проверку, обнаружив, что последнее время записи суперблока в будущем:
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Superblock last write time (Mon Jun 19 00:48:11 2017,
now = Tue Jan 31 20:09:28 2017) is in the future.
Fix<y>? yes
Pass 1: Checking inodes, blocks, and sizes
...
Обратите внимание, что этот триггер для полной проверки не связан с другими триггерами Максимальное количество монтирования и временной интервал с момента последней проверки, см. в dumpe2fs -h, упомянутые в других ответах здесь.
Обратите внимание, что, не устанавливая часы (то есть позволяя синхронизировать их с синхронизацией timesyncd), fsck не будет выполнять полная проверка, но выйдет быстро с сообщением «файловая система».
В качестве обходного пути я отключил fsck в / etc / fstab, установив поле «pass» на 0. В конце концов, я куплю батарея поддерживала RTC для этого устройства.
Мои поиски позволяют мне сделать вывод, что максимальное количество монтируемых по умолчанию Ubuntu установлено равным -1. Это означает, что fsck никогда не будет запускаться при любой загрузке, независимо от количества монтировок. Вы можете проверить свою команду -
sudo dumpe2fs -h /dev/sda8 | grep -i 'mount count'
Вы можете увеличить ее по своему требованию, используя tune2fs. Типичный пример следующий:
sudo tune2fs -c 30 -i 1w /dev/sda8
Настроить его по вашему соглашению.
Как отмечали другие, максимальное количество монтирования по умолчанию может быть установлено по умолчанию -1, что означает, что fsck запускается при каждой загрузке, что, естественно, замедляет процесс загрузки.
Измените частоту fsck на каждый 50 загрузок или каждые 30 дней, используя:
$ sudo tune2fs -c 50 -i 1m /dev/sdc3
tune2fs 1.42.13 (17-May-2015)
Setting maximal mount count to 50
Setting interval between checks to 2592000 seconds
Предполагая, что сегодня - 13 ноября 2016 года, проверьте, будет ли выполняться следующий запуск fsck, используя:
$ sudo dumpe2fs -h /dev/sdc3 | grep Next
dumpe2fs 1.42.13 (17-May-2015)
Next check after: Tue Dec 13 22:45:39 2016