Не мог смонтировать объем, операция уже находится на рассмотрении (с многочисленными пользователями)

Как Ваша хижина и синтаксис указывает непортативный bash, Я предпочитаю его этот путь:

function box_out()
{
  local s="$*"
  tput setaf 3
  echo " -${s//?/-}-
| ${s//?/ } |
| $(tput setaf 4)$s$(tput setaf 3) |
| ${s//?/ } |
 -${s//?/-}-"
  tput sgr 0
}

Конечно, можно оптимизировать его, если Вы желаете.

Обновление согласно просьбе в комментарии, для обработки многострочного текста также.

function box_out()
{
  local s=("$@") b w
  for l in "${s[@]}"; do
    ((w<${#l})) && { b="$l"; w="${#l}"; }
  done
  tput setaf 3
  echo " -${b//?/-}-
| ${b//?/ } |"
  for l in "${s[@]}"; do
    printf '| %s%*s%s |\n' "$(tput setaf 4)" "-$w" "$l" "$(tput setaf 3)"
  done
  echo "| ${b//?/ } |
 -${b//?/-}-"
  tput sgr 0
}

Назовите его с несколькими параметрами, как box_out 'first line' 'more line' 'even more line'.

8
29.05.2014, 20:37
2 ответа

Как я могу отключить автоматическое монтирование, и чтобы оно пыталось монтировать только тогда, когда я

С помощью dconf-editor отключить автоматическое монтирование, как описано здесь: Как отключить автомонтирование в настройках nautilus.

В качестве альтернативы выполните следующую команду:

gsettings set org.gnome.desktop.media-handling automount false
2
27.01.2020, 20:13

Это не тестировалось, но я наткнулся на эту страницу: автоматическое монтирование USB-накопителей на linux с udev и pmount

Общая идея состоит в том, что вы создаете действие UDEV, которое будет автоматически монтироваться с использованием pmount. Если вы посмотрите в комментариях, там есть punmount -l , который выполнит ленивое размонтирование, что должно быть безопаснее.

выдержка

Вот решение для автоматического монтирования USB-флешек / карт памяти в Linux с использованием только udev и pmount.

  1. добавьте файл automount.rules в /etc/udev/rules.d .

  2. поместите в него следующие строки

     # автоматическое монтирование USB-флешек 
     # umask используется, чтобы позволить каждому пользователю писать на флешку 
     # мы используем --sync для включения физическое удаление смонтированной памяти 
     # флешки - это нормально для флеш-накопителей 
     # Я не монтирую sda автоматически, так как в моей системе это внутренний жесткий диск 
     # диск в зависимости от конфигурации вашего оборудования USB-накопители могут быть другими 
     # устройствами, кроме sdb * 
     
    ACTION == "add", KERNEL == "sdb *", RUN + = "/ usr / bin / pmount --sync --umask 000% k "
    ACTION ==" remove ", KERNEL ==" sdb * ", RUN + =" / usr / bin / pumount% k "{{1 }} ACTION == "add", KERNEL == "sdc *", RUN + = "/ usr / bin / pmount --sync --umask 000% k" 
    ACTION == "remove", KERNEL = = "sdc *", RUN + = "/ usr / bin / pumount% k" 
     
  3. перезагрузите правила udev: udevadm control --reload-rules

ПРИМЕЧАНИЕ: Если вы хотите сделать эту настройку более устойчивой к размонтированию, тогда вы захотите включить -l для ленивого размонтирования в punmount .

ACTION=="remove", KERNEL=="sda*", RUN+="/usr/bin/pumount -l %k"

Из справочной страницы pumount :

   -l, --lazy
          Lazy unmount. Detach the filesystem from the filesystem hierarchy 
          now, and cleanup all references to the filesystem as soon as it is
          not  busy  anymore.   (Requires kernel 2.4.11 or later.) 
          IMPORTANT NOTES This option should not be used unless you really 
          know what you are doing, as chances are high that it will result 
          in data loss on the removable drive. Please run  pumount  manually  
          and  wait until it finishes. In addition, pumount will not 
          luksClose a device which was unmounted lazily.
2
27.01.2020, 20:13

Теги

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