LINUX.ORG.RU

Сообщения allext

 

Подсветка вывода скрипта

 , , , ,

Имеется скрипт, который находит в каталоге catalog1 текстовые файлы содержащие, например, «слово» и заменяет их на такие же, но без текста «слово», копируя их из catalog2.
catalog2 - это резервная копия catalog1, сделанная rsync-ом.

#!/bin/bash
var1=`grep -rl "слово" ~/catalog1 | sed 's|.*/||'`
zenity --info --title="Сообщение" --text="Будут заменены:\n$var1" --width=350
if [ "$?" -eq 1 ]; then
    zenity --info --title="Сообщение" --text="Действие отменено" --width=350
    else
    find ~/catalog1/ -type f -exec grep -rl "слово" {} \; -exec rm -v {} +
    sleep 1 
    echo -e '\033[37m' "Запускаем rsync" '\033[38;5;223m'
    sleep 1 
rsync -r -t -v --ignore-existing -u -s ~/catalog2/ ~/catalog1/
fi

Скрипт выполняется в терминале и я пытаюсь сделать подсветку вывода.
Есть сложности с find и rm. Вот здесь разбирается похожий вопрос и я воспользовался советами оттуда. Например, предлагается использовать GREP_COLORS
Делаю вот так:

find ~/catalog1/ -type f -exec grep -rl "слово" {} \; -exec rm -v {} + | GREP_COLORS="sl=1;31:ms=1;31" grep --color=always '^\|[^/]*$'

В этом случае раскрашиваются и rm и find - скриншот, но хотелось чтобы, только rm, а выхлоп find выводился цветом по умолчанию.
Перепробовал кучу вариантов, но не осилил эту тему.
Как можно здесь выкрутиться, раскрасив только вывод rm, не затрагивая вывода find?

allext
()

«Сломался» приоритет(алгоритм?) загрузки

 , ,

Имеется такое устройство - Asus VivoMini VC66. На HDD 500гб установлена Ubuntu 20.04 (UEFI).
Скрин gparted
Раньше, если в настройках «Boot» в UEFI установить первым пунктом внешнее USB-устройство (заранее подключенное), то при последующих включениях, комп на старте всегда пытался загрузиться с него, а при его отсутствии грузился со встроенного HDD. При этом было неважно, что именно подключено - флешка или внешний USB-HDD и в какой usb-разъём.

С некоторых пор, это «сломалось».
Теперь, если USB-устройство было выставлено первым пунктом и отсутствует при включении компа, то ничего не грузится. Нужно зайти в настройки «Boot» в UEFI и выбрать Ubuntu, например. Все отключаемые (внешние устройства) вынужден сейчас загружать через меню по F8.
Пытался вернуть прежнее поведение загрузки. Настройки UEFI просмотрел и покрутил вдоль и поперёк, но безрезультатно. Посмотрел содержимое /boot/efi/EFI, но как понять, что там отсутствует или изменилось?

Приоритет загрузки «сломался», вероятно, после установки и последующего удаления Alt Linux, так как до этого всё было норм. Или я, что-то не то снёс или Alt Linux что-то перезаписал? Я не пойму где хранилась запись о том, что загрузка с usb приоритетна, если даже в списках «Boot» всегда одна ОС была, а остальные ОС грузились через меню grub. Как вернуть приоритет загрузки с usb, как раньше?
Вот содержимое раздела /dev/sda1 и
файлов /boot/efi/EFI/BOOT/grub.cfg и /boot/efi/EFI/ubuntu/grub.cfg

├── BOOT
│   ├── BOOTX64.EFI
│   ├── fbx64.efi
│   ├── grub.cfg
│   ├── grubx64.efi
│   └── mmx64.efi
└── ubuntu
    ├── BOOTX64.CSV
    ├── grub.cfg
    ├── grubx64.efi
    ├── mmx64.efi
    └── shimx64.efi

/boot/efi/EFI/BOOT/grub.cfg

search --root-dev-only --set=root --fs-uuid cc8736e0-426f-44d7-93f4-ee8daefec553 hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

/boot/efi/EFI/ubuntu/grub.cfg

search.fs_uuid cc8736e0-426f-44d7-93f4-ee8daefec553 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

Помимо ubuntu в «Boot» UEFI есть ещё пункт «Hard Drive», именно из-за него комп не хотел грузиться. Он всегда выставляется первым, после отключения usb-устройства, поэтому я перевёл его в disable в «Hard Drive BBS Priorities».

sudo efibootmgr
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0002
Boot0001* ubuntu
Boot0002* Hard Drive

Скрины меню «Boot» UEFI, извините за качество, лучше не получается
Boot menu
Конфигурация загрузки
Настройки CSM
Безопасная загрузка
Прошу помочь вернуть приоритеты загрузки как раньше было.

allext
()

gsettings: прочитать значение ключа из relocatable схемы

 ,

Пытаюсь, используя gsettings, прочитать значение ключа. Dconf-editor показывает нужный ключ - font - здесь: org > mate > terminal > profiles > default > font

gsettings говорит, что эта схема перемещаемая (relocatable) и требует указать путь вот так:

gsettings get SCHEMA [:PATH] KEY

Нахожу схему и ключ
gsettings list-relocatable-schemas, схема – org.mate.terminal.profile
gsettings list-keys org.mate.terminal.profile, ключ – font

Далее пытаюсь составить запрос и тут затык - не осилил как указать путь. Делал так:

gsettings get org.mate.terminal.profile:/org/mate/terminal/profiles/ font

Это заклинание выводит значение, которое не соответствует установленному, в других вариантах gsettings сообщает, что или запрос составлен неправильно, или пустой путь. Где неправильно? Подозреваю, что путь со слешами как-то по другому должен писаться. Прошу подсказки. Значение ключа не пустое.
Гуглил и Тындексил, но нашёл, только одного товарища, который мучал настройки компиза и непонятно чем там всё у него закончилось.

allext
()

«Открыть в другом приложении» с помощью клавиатурной комбинации

 , ,

В контекстных меню файлов, в файл-манагере, есть пункт «открыть в другом приложении», с выбором нужного. Как выполнить эту операцию с клавиатуры шорткатом, без открытия меню? То есть выделить, например, произвольную картинку в nautilus-е и заданной комбинацией открыть её в gimp?

Есть старые скрипты для наутилуса и я глянул как там устроено «открыть» или «применить». Попытался что-то придумать своё, но эти потуги ни к чему не привели, так как с башем я на «вы». Скрипты, запущенные с клавы, открывают прогу без выделенного файла.

Как это можно сделать?

Гуглил, но ничего похожего не нашлось. Или это никому не нужно, или искал неправильно.

Ubuntu 20.04, gnome 3.36.8, X11

allext
()

RSS подписка на новые темы