Ви нічого не робите неправильно, і виправити нічого. /run/user/$uid/gvfs
або ~$user/.gvfs
є точкою кріплення інтерфейсу FUSE до GVFS . GVFS - це реалізація віртуальної файлової системи для Gnome, яка дозволяє додаткам Gnome отримувати доступ до ресурсів, таких як FTP або Samba-сервери, або до вмісту zip-файлів, таких як локальні каталоги. FUSE - це спосіб реалізувати драйвери файлової системи як код користувача (замість коду ядра). Шлюз GVFS-FUSE робить драйвери файлової системи GVFS доступними для всіх програм, а не лише тих, що використовують бібліотеки Gnome.
Управління межами довіри за допомогою файлових систем FUSE складно, оскільки драйвер файлової системи працює як непривілейований користувач, на відміну від коду ядра для традиційних файлових систем. Щоб уникнути ускладнень, за замовчуванням файлові системи FUSE доступні лише користувачеві, який запускає драйвер. Навіть root не може обійти це обмеження.
Якщо ви шукаєте файл лише в локальних файлових системах, перейдіть -xdev
до find
. Якщо ви хочете перемістити декілька локальних файлових систем, перерахуйте їх усі.
find / /home -xdev -name ngirc
Якщо файл присутній з вчорашнього дня, ви можете спробувати locate ngirc
замість нього (здійснює locate
пошук через базу даних імен файлів, яка зазвичай оновлюється щоночі).
Якщо ви хочете перейти точки монтажу GVFS, вам доведеться це зробити відповідному користувачеві.
find / -name ngirc -path '/run/user/*/gvfs' -prune -o -path '/home/*/.gvfs' -prune -o -name ngirc -print
for d in /run/user/*; do su "${d##*/}" -c "find $d -name ngirc -print"; done
find
командного рядка?