Неможливо перемістити файл у попередження про сміття при спробі видалити файл у Nautilus


16

Я намагаюся видалити файли в Nautilus, і кожен раз, коли я намагаюся видалити один, він завжди передає мені це повідомлення:

Не вдається перемістити файл у кошик, ви хочете видалити його негайно?

Тоді це дає мені кілька питань. Все, що я хочу, - це те, що, коли я натискаю Deleteклавіатуру, вона автоматично надсилає її до кошика. Не питати мене щоразу.

Проблема стосується розділів NTFS, зовнішніх накопичувачів, але також включає файлові системи Linux.

Які причини того, що nautilus бджіл не в змозі перейти на сміття?

введіть тут опис зображення


чи можете ви надати повний (абсолютний) шлях до файлу
aneeshep

У цьому випадку є / var / www. Я вже є його власником і дозволи хороші. Але є також зовнішні блоки, такі як жорсткі диски та накопичувач ручок, які мають однакові проблеми.
Луїс Альварадо

Відповіді:


10

(Про знімний носій, а не про випадки у користувача, оскільки помилка вирішена з оновленням)

Така поведінка трапляється, тому що, коли накопичувач встановлений, ви не вважаєтесь власником, тому відро для сміття неможливо створити. Жоден uid або gid не призначений, і оскільки папка сміття не може бути створена на диску, вам пропонується лише можливість видалити файли автоматично.

У цьому випадку у вас є два варіанти: виріжте файли у вашу файлову систему 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правила )


Це також працює для мене? У мене дещо інше середовище: лише за допомогою Linux, і в мене встановлений NFS вдома, де видалення працює досить добре, і там також є сміття, але я позначив каталог reposз локальною файловою системою /local/home/me/repos(його швидше). Лише всередині цього каталогу та видалення підкаталогів не працює. Каталоги /local/homeналежать root 755, але мої каталоги /local/home/me/reposналежать мені з модальностями 700.
математика

Питання: Чи можуть значення цього рядка: $env{mount_options},gid=46,dmask=000,fmask=111,utf8"також записуватися всередину <options>стовпця fstab? Це те саме?
Неару

8

У випадках, коли користувач не може видалити файл, що зберігається в незнімному розділі (Ubuntu 14.04)

Як заявив Бруно Перейра, така поведінка трапляється через те, що користувач не має дозволу на запис у точці монтажу розділу (у випадку OP, / var), тому каталог для відро для сміття не може бути створений.

У цьому випадку ОП не може переміститися до сміттєвих файлів, збережених у розділі / var. Щоб вирішити це питання:

$ cd /var
$ sudo mkdir .Trash-1000
$ chown user:group .Trash-1000

Вам доведеться замінити:

  • 1000 за вашим ідентифікатором користувача (див. номер, що відповідає імені для входу у файлі / etc / passwd)
  • user:group відповідно до вашого імені для входу та групи відповідно

4

16.04 я зіткнувся з тією ж проблемою. Рішенням було відкриття дисків, натискання на розділ NTFS -> на значок маленьких передач під ним (Додаткові параметри розділу) -> "Редагувати параметри монтажу" та додавати до рядка "uid = 1000" (без лапок, розділених комою). над точкою гори (див. малюнок).Змінення параметрів кріплення fstab за допомогою утиліти Disk

uid повинен бути встановлений на альтернативне число від 1000, як повернуто командою "id" з терміналу, якщо ви не є початковим користувачем, як згадувалося тут .


0

У мене була ця проблема, коли я додав рядок у / etc / fstab для монтажу розділу ntfs. Його не було, якщо я змонтував розділ "вручну" в nautilus.

Документація Ubuntu пояснює, що слід монтувати диски за допомогою udisks, для чого використовує nautilus.

Підсумок кроків для автоматичного монтажу розділу:

  1. Необхідна умова: встановіть розділ і знайдіть його ім'я (наприклад / dev / sdb1) за допомогою mountкоманди.

  2. Отримайте уйуд перегородки. Uuid з'являється перед ->цією командою:

    ls -al /dev/disk/by-uuid/

  3. Командою для монтажу буде:

    /usr/bin/udisks --mount /dev/disk/by-uuid/<the uuid you found previously>

  4. Додайте цю команду у ваші програми запуску


1
Це не дозволить виконувати файли в розділі ntfs
Anwar

-1

Для тих, хто любить графічні інтерфейси, ось як вирішити це графічно:

  1. Відкрийте редактор файлів Nemo ( sudo apt-get install nemoдля встановлення) з підвищеними привілеями, ввівши sudo nemoтермінал. [Це, ймовірно, буде працювати і в nautilus, але я протестував лише в nemo].
  2. Клацніть правою кнопкою миші змонтований пристрій, де зберігаються ваші файли, та перейдіть до "Властивості".
  3. Перейдіть на вкладку "Дозволи" та в розділі "Власник" натисніть спадне меню та виберіть своє ім'я користувача. Закрийте все і поверніться до звичайного файлового менеджера.
  4. Якщо ви визначилися власником пристрою, тепер він повинен створити для вас кошик на цьому пристрої та дозволяти натискати кнопку видалення, щоб автоматично переміщувати файли у кошик.

Запуск програми графічного інтерфейсу із судо, як правило, не є хорошою ідеєю; Багато речей може піти не так - як, наприклад, при nemoпершому запуску , він запише файли конфігурації та створить необхідні йому каталоги. Вони будуть належати користувачеві rootта не підлягати його запису. І пройде деякий час, поки проблема не помітить - sudoкоманда може довго забути. Наприклад, я думаю, що nemoстворює каталог ~user/.local/share/nemo/scripts/під час першого запуску.
Волкер Зігель

Цікаво ....
Габріель Степлес
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.