Невозможно переместить файл в корзину при попытке удалить файл в Nautilus
Я пытаюсь удалить файлы в Nautilus, и каждый раз, когда я пытаюсь удалить один, он всегда дает мне следующее сообщение:
Не удается переместить файл в корзину, вы хотите немедленно удалить?
Тогда это дает мне несколько вопросов. Все, что я хочу, это то, что когда я нажимаю " Удалить" на клавиатуре, он автоматически отправляет его в корзину. Не спрашивать меня каждый раз.
Проблема касается разделов NTFS, внешних дисков, но также включает файловые системы Linux.
Каковы причины того, что наутилус не может перейти в мусорное ведро?
7 ответов
(О сменных носителях, а не о случае со стороны пользователя, поскольку это была ошибка, решенная с помощью обновления)
Это происходит потому, что когда диск смонтирован, вы не являетесь владельцем, поэтому корзина для мусора не может быть создана. Ни uid, ни gid не были назначены, и, поскольку на жестком диске не может быть создана папка с мусорным баком, вам предлагается только выбрать автоматическое удаление файлов.
В этом случае у вас есть 2 варианта: вырезать файлы в вашей файловой системе Linux и удалить их там (что не имеет смысла для нажатия кнопки "Удалить", а файлы удаляются) или убедиться, что вам были назначены правильные разрешения при монтировании диска.
Создайте новое правило для ваших автоматически монтируемых дисков с этими строками, используйте ваш любимый текстовый редактор для этого
gksudo gedit /etc/udev/rules.d/10-my-media-automount.rules
# vim:enc=utf-8:nu:ai:si:et:ts=4:sw=4:ft=udevrules:
#
# /etc/udev/rules.d/10-my-media-automount.rules
# start at sdb to ignore the system hard drive
KERNEL!="sd[b-z]*", GOTO="my_media_automount_end"
ACTION=="add", PROGRAM!="/sbin/blkid %N", GOTO="my_media_automount_end"
# import some useful filesystem info as variables
IMPORT{program}="/sbin/blkid -o udev -p %N"
# get the label if present, otherwise assign one based on device/partition
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"
# create the dir in /media and symlink it to /mnt
ACTION=="add", RUN+="/bin/mkdir -p '/media/%E{dir_name}'"
# global mount options
ACTION=="add", ENV{mount_options}="relatime"
# filesystem-specific mount options (777/666 dir/file perms for ntfs/vfat)
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},gid=46,dmask=000,fmask=111,utf8"
# automount ntfs filesystems using ntfs-3g driver
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/mount -t ntfs-3g -o %E{mount_options} /dev/%k '/media/%E{dir_name}'"
# automount all other filesystems
ACTION=="add", ENV{ID_FS_TYPE}!="ntfs", RUN+="/bin/mount -t auto -o %E{mount_options} /dev/%k '/media/%E{dir_name}'"
# clean up after device removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l '/media/%E{dir_name}'", RUN+="/bin/rmdir '/media/%E{dir_name}'"
# exit
LABEL="my_media_automount_end"
Перезагрузите компьютер, и ваши диски ntfs будут смонтированы с использованием этого пользовательского правила, чтобы изменить разрешения для смонтированного диска, посмотрите на строку $env{mount_options},gid=46,dmask=000,fmask=111,utf8"
, опция gid=46
следует смонтировать диск ntfs с привилегиями группы (46(plugdev)
группа, которая позволяет пользователю смонтировать диск в Ubuntu), fmask
а также dmask
Настройки для записи, создания, удаления файлов / папок на диске.
Измените его в соответствии с потребностями. Вам нужно будет самостоятельно отсортировать другие файловые системы в соответствии с каждым типом, но это должно помочь вам начать.
( Источник для udev
правило)
Для случаев, когда пользователь не может удалить файл, хранящийся в несъемном разделе (Ubuntu 14.04)
Как сказал Бруно Перейра, такое поведение происходит из-за того, что у пользователя нет прав записи в точке монтирования раздела (в случае OP, /var), поэтому каталог для корзины не может быть создан.
В этом случае OP не может перемещаться в мусорные файлы, хранящиеся в разделе / var. Чтобы решить эту проблему:
$ cd /var
$ sudo mkdir .Trash-1000
$ chown user:group .Trash-1000
Вам придется заменить:
1000
по вашему идентификатору пользователя (см. номер, следующий за вашим логином в файле / etc / passwd)user:group
по вашему логину и группе соответственно
16.04 я столкнулся с той же проблемой. Решением было открыть Диски, щелкнув по разделу NTFS -> по маленькому значку шестеренок внизу (Дополнительные параметры раздела)-> "Изменить параметры монтирования" и добавив в строку "uid=1000" (без кавычек, разделенных запятой). выше точки крепления (см. рисунок).
Для uid должен быть задан альтернативный номер от 1000, возвращаемый командой "id" из терминала, если вы не являетесь первоначальным пользователем, как упомянуто здесь.
Невозможно переместить файл в корзину... По каким причинам Nautilus не может переместиться в корзину?
Для локального пользователя Trash убедитесь, что
~/.local/share/Trash
существует (создается автоматически
nautilus
при запуске) и иметь правильные разрешения. См.: Где находится папка .Trash?
Для внешнего смонтированного диска или раздела создайте
/.Trash-$UID
каталог, например
cd /media/SOMEMOUNTEDDRIVE
sudo mkdir -m777 -v .Trash-$UID
sudo chown $USER .Trash-$UID
Затем снова откройте Nautilus и снова проверьте контекстное меню.
Конфигурация
Если вы хотите включить значок корзины на рабочем столе:
Просто щелкните правой кнопкой мыши пустую область на рабочем столе и выберите «Настройки значков на рабочем столе», чтобы открыть страницу для управления значками на рабочем столе. Источник: 10 главных вещей, которые нужно сделать после установки Ubuntu 21.10 Desktop.
Для настройки мусорной корзины перейдите в « Действия » и введите « История файлов и корзина » (часть « Настройки » ). Оттуда вы можете настроить параметры корзины для мусора . Вы также можете найти шаги в справке Ubuntu.
Раньше у меня была эта проблема, когда я добавлял строку в / etc / fstab для монтирования раздела ntfs. Его не было, если я смонтировал раздел "вручную" в nautilus.
Документация Ubuntu объясняет, что вы должны монтировать диски, используя udisks, что и используется nautilus.
Краткое изложение шагов для автоматического монтирования раздела:
Предварительное условие: смонтируйте раздел и найдите его имя (например, /dev/sdb1), используя
mount
команда.Получить UUID раздела. UUID появляется перед
->
в этой команде:ls -al /dev/disk/by-uuid/
Команда для монтирования будет:
/usr/bin/udisks --mount /dev/disk/by-uuid/<the uuid you found previously>
Добавьте эту команду в ваши приложения запуска
Если раздел NTFS, то добавьте и к
<options>
раздел записи вашего раздела в
/etc/fstab
так что Ubuntu сделает вас владельцем раздела.
Сначала проверьте свой идентификатор, набрав просто
id
в терминале.
$ id
Затем добавьте свой
uid
а также
gid
как следует, принимая здесь за 1000 -
/dev/disk/by-uuid/xxxx /mnt/Data ntfs-3g defaults,windows_names,uid=1000,gid=1000 0 0
Теперь, с помощью
Disks
Приложение с графическим интерфейсом размонтирует и смонтирует раздел.
Если не удается размонтировать, закройте все приложения, которые могут использовать раздел, такие как диспетчер файлов, терминал и т. д.
Если по-прежнему не удается размонтировать, выйдите из системы и войдите в систему, чтобы отразить изменения.
Перепроверьте это по
cd
в раздел и введите
ls -al
команда.
Для тех, кто любит GUI, вот как решить это графически:
- Откройте редактор файлов nemo (
sudo apt-get install nemo
установить) с повышенными привилегиями, набравsudo nemo
в терминал. [Возможно, это будет работать и в nautilus, но я тестировал только в nemo]. - Щелкните правой кнопкой мыши на подключенном устройстве, где хранятся ваши файлы, и перейдите в "Свойства".
- Перейдите на вкладку "Разрешения", а для "Владелец" нажмите раскрывающееся меню и выберите свое имя пользователя. Закройте все и вернитесь к обычному файловому менеджеру.
- Если вы указали в качестве владельца устройства, теперь оно должно создавать для вас корзину на этом устройстве и позволять вам нажимать кнопку удаления, чтобы автоматически перемещать файлы в корзину.