Как отключить создание папки .Trash-1000?

У меня возникли проблемы с решением @PSkocik . В моей системе нет пакета GNU Parallel, и sem выдал исключение, когда я собрал и запустил его вручную. Затем я попробовал пример семафора FIFO, который также вызвал некоторые другие ошибки, касающиеся связи.

@eyeApps предложил xargs, но я не знал, как заставить его работать с моим сложным вариантом использования (примеры приветствуются).

Вот мое решение для параллельных заданий, которые обрабатывают до N заданий за раз, как указано в _jobs_set_max_parallel :

_lib_jobs.sh:

function _jobs_get_count_e {
   jobs -r | wc -l | tr -d " "
}

function _jobs_set_max_parallel {
   g_jobs_max_jobs=$1
}

function _jobs_get_max_parallel_e {
   [[ $g_jobs_max_jobs ]] && {
      echo $g_jobs_max_jobs

      echo 0
   }

   echo 1
}

function _jobs_is_parallel_available_r() {
   (( $(_jobs_get_count_e) < $g_jobs_max_jobs )) &&
      return 0

   return 1
}

function _jobs_wait_parallel() {
   # Sleep between available jobs
   while true; do
      _jobs_is_parallel_available_r &&
         break

      sleep 0.1s
   done
}

function _jobs_wait() {
   wait
}

Пример использования:

#!/bin/bash

source "_lib_jobs.sh"

_jobs_set_max_parallel 3

# Run 10 jobs in parallel with varying amounts of work
for a in {1..10}; do
   _jobs_wait_parallel

   # Sleep between 1-2 seconds to simulate busy work
   sleep_delay=$(echo "scale=1; $(shuf -i 10-20 -n 1)/10" | bc -l)

   ( ### ASYNC
   echo $a
   sleep ${sleep_delay}s
   ) &
done

# Visualize jobs
while true; do
   n_jobs=$(_jobs_get_count_e)

   [[ $n_jobs = 0 ]] &&
      break

   sleep 0.1s
done
7
19.10.2018, 15:57
3 ответа

Посмотрите эту статью.

Согласно статье, Ubuntu будет создавать такие папки при удалении файла с USB-накопителя. Предположительно, это позволит восстановить файл, если вы случайно удалили его.

Он содержит следующее решение:

Не используйте только кнопку удаления (иначе будет создана папка .Trash-1000)

Нажмите комбинацию клавиш shift+delete вместе, чтобы удалить, тогда Ubuntu не будет создайте папку .Trash-1000. (Примечание: если вы удалите файлы и папки таким образом, они исчезнут навсегда!)

В качестве альтернативы вы также можете использовать команду командной строки rm, которая также удалит файл напрямую.

8
27.01.2020, 20:15

Я тоже один из тех, кого беспокоила эта проблема в течение ряда лет... неудовлетворенный существующими предложениями, я недавно нашел время, чтобы самостоятельно найти решение.

Исходя из предпосылки, что я хочу, чтобы Корзина исчезла -во всей системе, я обнаружил, что --на данный момент --единственным реальным решением является создание пользовательской -скомпилированной версии из libgioGIO ), который изменен для вызова g _файла _удаления()каждый раз, когда приложение вызывает g _файл _мусор().

Для всех технически подкованных пользователей, заинтересованных в этом решении. :Недавно я опубликовал пошаговое руководство -by -на GitHub :

.

Глобальное отключение корзины GNOME в дистрибутивах на основе Debian -

3
27.01.2020, 20:15

Я нашел интересное обходное решение, которое работает отдельно для каждого устройства, протестировано на Xubuntu 18.10 с USB-устройствами и монтированием EncFS.

Это очень просто, удалите нужный .Trash-$(id -u)каталог(id -uчаще всего 1000 ), и создайте вместо него файл с таким же именем:

rm -rf /path/to/.Trash-1000
touch /path/to/.Trash-1000

Что происходит теперь, когда вы удаляете файл, по крайней мере, с помощью Thunar, так это то, что вместо перемещения файлов в корзину появляется диалоговое окно с предупреждением о том, что файлы будут уничтожены (, что тоже здорово, так как вы не Я не хочу, чтобы они были уничтожены случайно ).

9
27.01.2020, 20:15

Теги

Похожие вопросы