Вопрос или проблема
Я использую предустановленную версию Ubuntu 18.04, но не могу найти папку Корзины.
В типичных местах папки нет.
~/.local/share/Trash <-- не существует
/root/..../Trash <-- не существует
Каталог, скорее всего, должен быть здесь, но его нет
/home/$USER/.local/share/Trash <---не существует
Хм … поэтому я запустил поиск следующим образом:
sudo find / -type d -iname Trash
Результат был неутешительным:
find: ‘/run/user/1001/gvfs’: Permission denied
/home/$USER/.local/share/evolution/..../trash
/home/$USER/.cache/evolution/.../trash
/user/share/doc/HTML/.../trash
и это всё!
По
...
Я имел в виду, что существуют разные каталоги, оканчивающиеся на /trash. Но это бесполезно упоминать, поскольку мы не находим корзину.
(Заметьте, я действительно вижу корзину на рабочем столе, что забавно. И да, она пуста.)
Вопрос в том, где моя ПАПКА КОРЗИНЫ?
И почему я получаю следующий вывод, когда запускаю команду поиска
find: ‘/run/user/1001/gvfs’: Permission denied
Папка корзины в вашем домашнем каталоге создается, когда файл с того же устройства, на котором хранится ваш домашний каталог, перемещается в корзину. Если вы удаляете файл с другого устройства, например, другого жёсткого диска или USB-накопителя, Ubuntu будет использовать каталог (вставить точку монтирования)/Trash-(вставить uid). Это указано в спецификации FreeDesktop.org по корзине.
-
Откройте терминал с помощью сочетания клавиш Ctrl+Alt+T или найдите ‘терминал’ в приложениях.
-
Запустите команду для создания и редактирования пустого файла с именем
trash.sh
:gedit ~/Documents/trash.sh
Когда файл откроется, вставьте следующие строки и сохраните его.
#!/bin/bash icon=$HOME/.local/share/applications/trash.desktop while getopts "red" opt; do case $opt in r) if [ "$(gio list trash://)" ]; then echo -e '[Desktop Entry]\nType=Application\nName=Trash\nComment=Trash\nIcon=user-trash-full\nExec=nautilus trash://\nCategories=Utility;\nActions=trash;\n\n[Desktop Action trash]\nName=Empty Trash\nExec="$HOME/Documents/trash.sh -e"\n' > $icon fi ;; e) gio trash --empty && echo -e '[Desktop Entry]\nType=Application\nName=Trash\nComment=Trash\nIcon=user-trash\nExec=nautilus trash://\nCategories=Utility;\nActions=trash;\n\n[Desktop Action trash]\nName=Empty Trash\nExec="$HOME/Documents/trash.sh -e"\n' > $icon ;; d) while sleep 5; do ($HOME/Documents/trash.sh -r &) ; done ;; esac done
-
Сделайте файл скрипта исполняемым и запустите его с помощью двух команд:
my-machine:~$chmod +x ~/Documents/trash.sh my-machine:~./Documents/trash.sh -e
-
Найдите ‘корзину’ в приложениях и выберите Добавить в избранное в его контекстном меню.
-
Наконец, откройте Приложения автозагрузки, нажмите Добавить для добавления нового стартового приложения. В модальном окне в поле Имя добавьте
иконка корзины
и в поле Команда добавьте/home/YOUR_USER_NAME/Documents/trash.sh -d
-
Перезагрузите Ubuntu, и иконка корзины изменится, когда она пуста или не пуста.
Ссылка: http://ubuntuhandbook.org/index.php/2018/08/add-trash-icon-dock-launcher-ubuntu-18-04/
Когда пытался удалить файлы из Корзины, вместо того чтобы сделать это:
rm -r /home/*/.local/share/Trash/files
Я сделал:
rm -r /home/*/.local/share/Trash
После этого файл корзины исчез, когда я запустил:
ls /home/*/.local/share/Trash
В результате, я сделал:
nano /home/*/Desktop/file
Затем я использовал файловый менеджер nautilus, чтобы удалить его, нажав на него и нажав supr.
Наконец, когда я сделал:
ls /home/*/.local/share/Trash/files
Созданный файл был там !!
Ответ или решение
Теория
В Ubuntu и других Linux-дистрибутивах система управления мусором (Trash) отвечает за безопасное временное хранение удалённых пользователем файлов. В большинстве случаев папка мусора находится в директории ~/.local/share/Trash/
, где обычно имеются подпапки files
, info
и expunged
. Эти папки создаются автоматически при первой отправке файла в корзину. Если на устройстве существует несколько накопителей, каждый из них может иметь свою отдельную директорию Trash, как указано в спецификации FreeDesktop.org.
Пример
Ваш текущий запрос связан с тем, что папка мусора не отображается по стандартным путям таких как ~/.local/share/Trash
. Результат команды find / -type d -iname Trash
также не выявил привычного расположения директории мусора, но дала несколько иных мест, связанных с мусором программы Evolution и документацией (/user/share/doc/HTML).
Применение
-
Проверка существования директории мусора
Директория корзины будет создана только тогда, когда файл с накопителя будет отправлен в корзину. Вы можете попробовать удалить любой файл через файловый менеджер (например, Nautilus), чтобы инициировать создание этой директории.
-
Создание и использование скрипта для управления корзиной
Если проблема заключается в доступе к мусору через интерфейс рабочего стола, вы можете создать bash-скрипт, чтобы облегчить взаимодействие с корзиной. Для этого выполните следующие шаги:
-
Создайте файл скрипта:
gedit ~/Documents/trash.sh
-
Вставьте содержимое скрипта из вашего запроса и сохраните файл.
-
Сделайте скрипт исполнимым и запустите его:
chmod +x ~/Documents/trash.sh ./Documents/trash.sh -e
-
Добавьте иконку корзины на панель запуска и настройте автозапуск через «Startup Applications».
-
-
Поиск и восстановление удаленной папки мусора
Если вы случайно удалили папку мусора, повторное создание её возможно через отправку любого файла в корзину, как уже описано в шаге проверки.
-
Сообщение об ошибке прав доступа
Сообщение об ошибке
find: ‘/run/user/1001/gvfs’: Permission denied
говорит о том, что вы пытаетесь получить доступ к ресурсам виртуальной файловой системы, который обычно требует пользовательских прав. Это сообщение можно игнорировать в контексте поиска папки мусора, потому что оно не влияет на её обнаружение или восстановление.
Следуя предложенным шагам, вы сможете понять, где находится ваша папка мусора, а также как управлять ею более эффективно.