Created attachment 14459 [details] Запись экрана Шаги для воспроизведения: 1. Открыть Dolphin 2. Перейти на сервер при помощи раздела "В сети" или по прямой ссылке вида "smb://имя_сервера" 3. Нажать ПКМ на нужной папке, выбрать "Подключение" 4. Перейти по вновь появившейся папке в разделе "В сети" 5. Нажать кнопку "Перейти вверх" Полученный результат: файловый менеджер переходит на уровень вверх, монтируются все папки с сервера, заполняется раздел "В сети" (особенно при 10+ общих папках) Ожидаемый результат: файловый менеджер переходит на уровень вверх, ничего больше не происходит
Уточнённые шаги =============== 1. Настроить на проверяемой системе kde5-autofs-shares по шагам из https://www.altlinux.org/Альт_Рабочая_станция_К_8_советы: # apt-get install -y kde5-autofs-shares # echo "/mnt/samba /etc/auto.smb -t 34567" >> /etc/auto.master # systemctl enable --now autofs 2. Настроить на любой другой машине общие папки samba. Например, это можно сделать с помощью usershares: # apt-get install -y samba-usershares # systemctl enable --now smb nmb $ chmod a+rx /home/test $ for i in `seq 1 10`; do mkdir "/home/test/$i"; net usershare add --long "$i" "/home/test/$i" "comment $i" Everyone:f guest_ok=y; done 3. Выполнить описанные выше шаги. Воспроизводимость ================= Воспроизводится на виртуальных машинах: [p10] kworkstation-10.2-x86-64, education-10.1-x86-64-kde kde5-dolphin-23.04.3-alt4.x86_64 kde5-autofs-shares-0.2.2-alt1.noarch autofs-5.1.8-alt4.x86_64 [sisyphus] kworkstation-10.2-x86-64, education-10.1-x86-64-kde kde5-dolphin-23.04.3-alt4.x86_64 kde5-autofs-shares-0.2.2-alt1.noarch autofs-5.1.8-alt6.x86_64
(Ответ для Корытов Иван на комментарий #0) > Ожидаемый результат: файловый менеджер переходит на уровень вверх, ничего > больше не происходит Это невозможно, т.к. automount именно так работает.
(Ответ для Sergey V Turchin на комментарий #2) > (Ответ для Корытов Иван на комментарий #0) > > Ожидаемый результат: файловый менеджер переходит на уровень вверх, ничего > > больше не происходит > Это невозможно, т.к. automount именно так работает. Если сильно захотеть, то можно. Но только суть немного поменяется (а-ля полуавтоматическая текстовая карта). Нужно передавать для монтирования не все общие папки сервера, а только те, что указаны в файле ~/.autofs.shares пользователя. autofs заботливо передает переменные окружения, которые сообщают о пользователе, который вызвал триггер в файловой системе. Работает даже с двумя пользователями, никаких лишних общих папок не монтируется при выходе наверх. Только те, что были добавлены через контекстное меню. Префикс в виде имени сервера сделан для избежания коллизий с общими папками с одинаковыми названиями, но на разных серверах. Нижнее подчеркивание можно заменить на любой другой символ, разрешенный файловой системой (@, $ и т.д.). Пробелы в имени общей папки учитываются. При должном желании можно оставить только имена папок и решать вопрос с коллизией более грамотно. Изменения в /etc/auto.smb: > ... > key="$@" > ... > cat $AUTOFS_HOME/.autofs.shares 2>/dev/null | awk -v key="$key" -v opts="$opts" -F "/" -- ' > BEGIN { ORS="" } > { > srv = $3 > loc = $4 > autokey = srv "_" loc > > if (key == autokey) > { > print opts, "/", ":\"//" srv "/" loc "\"\n"; > exit > } > } > END { } > ' Изменения в /usr/bin/kde5-autofs-shares-mount: > DST=`echo "$SHARE" | sed -e "s|^smb:/|${DST_PREFIX}|" | sed -E 's|(.*)/|\1_|'` Изменения в /usr/bin/kde5-autofs-shares-manage: > DST=`echo "$SHARE" | sed -e "s|^smb:/|${DST_PREFIX}|" | sed -E 's|(.*)/|\1_|'` Как мне кажется, наличие немного странного пути к папке нивелирует внезапно появляющиеся десятки папок, которые не требовал монтировать пользователь. И которые он потом не может отмонтировать без прав администратора. Да, не будет возможности пройти по пути сервер->папка, если вдруг она отмонтируется из-за сетевой ошибки, например. Можно фильтровать список по autofs.shares и списку от smbclient, но т.к. autofs будет следить за папкой /mnt/samba/<сервер>, то второй пользователь не сможет на том же сервере примонтировать другую папку, т.к. autofs уже составил список по первому пользователю и не запрашивает файл карты. В какой еще операционной системе кнопкой "вверх" в проводнике можно примонтировать все общие папки сервера?) Я таких не встречал. З.Ы. Я бы не написал это багрепорт, если бы эта программа не была указана в документации дистрибутива как один из способов монтирования общих папок. Выглядит нелепо на фоне импортозамещаемой ОС.
(Ответ для Корытов Иван на комментарий #3) > Изменения Я не понимаю таких изменений. Изучите diff. > /etc/auto.smb: Повесьте на него баг.
(Ответ для Sergey V Turchin на комментарий #4) > (Ответ для Корытов Иван на комментарий #3) > > Изменения > Я не понимаю таких изменений. Изучите diff. > > > /etc/auto.smb: > Повесьте на него баг. Спасибо, но diff я знаю. Если вы разучились читать код, то мне вас жаль. Это лишь был пример, а не готовый патч, которые тут все так любят.