Если в усб вставить флешку или усб-диск до того, как юзер залогинился в сессии, расширение показывает в панели ДВА таких устройства вместо одного. При этом одно устройство работает правильно и отмонтируется при нажатии на стрелку, а второе - нет, при этом получаю сообщение, что не найдена точка монтирования, но это фейковое устройство продолжает находиться в меню расширения до перезагрузки. То же самое, если флешка вставлена и не вытаскивается из усб-порта при перезагрузке. Пробовал удалять папку этого расширения из /usr/share/gnome-shell/extensions и ставить с интернета с сайта расширений - то же самое. Предполагаю, что баг имеет тот же характер, что и с pipewire settings - расширения инициализируются слишком рано после логина юзера, но это только предположение. В случае с pipewire settings помогло включение задержки в несколько секунд в файле расришения js.
в файле расширения extension.js
Created attachment 20402 [details] Пропатченный файл js для временного решения проблемы. Исправленный extension.js для временного решения проблемы.
Мое предположение было правильным, баги с расширениями возникают из-за слишком ранней инициализации их. Если добавить задержку в 5 секунд, например, при инициализации расширения removable drive menu, то проблема пропадает. Как временное решение, с помощью нейросети исправил файл extension.js так, чтоб он запускался через 5 секунд только, после логина пользователя. Все работает. Но расширение не виновато - та же проблема с pipewire settings. И если ставить removeale drive menu с сайта расширений, удалив из системы (удалив каталог с расширением, по-варварски :) ), точно такой же баг проявляется и тогда.
файл extension.js скопировать с заменой в папку admin:///usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com
Пулл-риквест в апстрим: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/440
Created attachment 20424 [details] Скрипт для решения проблемы. Бэкапит исходный файл расширения js и создает новый, с задержкой запуска 5 сек, что решает проблему. Используетс
Created attachment 20431 [details] патч, добавляющий проверку на дубликаты при монтирование (исправление для версии 48.3) В расширение добавлена проверка для предотвращения дублирования носителей, MR в апстрим отправлен: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/440
Comment on attachment 20431 [details] патч, добавляющий проверку на дубликаты при монтирование (исправление для версии 48.3) Изменил название файла в соответствии со стандартом
Comment on attachment 20431 [details] патч, добавляющий проверку на дубликаты при монтирование (исправление для версии 48.3) diff -urN gnome-shell-extensions-original/extensions/drive-menu/extension.js gnome-shell-extensions/extensions/drive-menu/extension.js --- gnome-shell-extensions-original/extensions/drive-menu/extension.js 2025-12-29 21:49:23.096987297 +0600 +++ gnome-shell-extensions/extensions/drive-menu/extension.js 2025-12-29 21:54:16.094220518 +0600 @@ -178,6 +178,9 @@ } _addMount(mount) { + if (this._mounts.some(item => item.mount === mount)) + return; + let item = new MountMenuItem(mount); this._mounts.unshift(item); this.menu.addMenuItem(item, 0);
Created attachment 20432 [details] патч В расширение добавлена проверка для предотвращения дублирования носителей, MR в апстрим отправлен: P.S Извините за спам, я изучаю особенностей bugzilla по работе с файлами и их редактированию )
Нашел еще один, видимо, правильный фикс проблемы. Не надо патчить расширение. Как я понимаю, флэшки монтирует как gdm, так и gnome shell, то есть два раза - могу криво выражаться, я не программист. Если запретить gdm монтировать флешки, то фантомы исчезают, но флешки и диски все равно после логина автоматически монтируются правильно, для пользователя ничего не меняется. Создаем файл sudo nano /etc/polkit-1/rules.d/49-no-usb-mount-gdm.rules И вписываем содержимое polkit.addRule(function(action, subject) { if (subject.user == "gdm") { if (action.id == "org.freedesktop.udisks2.filesystem-mount" || action.id == "org.freedesktop.udisks2.filesystem-mount-other-seat" || action.id == "org.freedesktop.udisks2.encrypted-unlock" || action.id == "org.freedesktop.udisks2.encrypted-unlock-other-seat" || action.id == "org.freedesktop.udisks2.loop-setup") { return polkit.Result.NO; } } }); После чего перезагружаемся. Профит. Фантомов нет, но флешки примонтированы.
Упс.. переустановил систему - скрипт не срабатывает.
Да, самый надежный вариант - применить указанный выше патч к расширению. Другие варианты ненадежны.