Советы по GNU/Linux – Telegram
Советы по GNU/Linux
155 subscribers
203 photos
6 videos
43 files
314 links
Канал, посвящённый GNU/Linux и свободному ПО.

Другие наши каналы:

@calmira_gnu_linux - чат по дистрибутиву Calmira GNU/Linux-libre, который разрабатывает один из админов этого канала
Download Telegram
#Приколюхи #Tips

Использование меню в скриптах BASH.

Раньше я использовал конструкции ветвления if и case, а так же функцию чтения read для создания меню. Но это достаточно утомительно. И абсолютно не подходит для создания какой-то общей функции для создания меню в разных скриптах (с различным кол-вом пунктов меню). Не, конечно, можно, но это костыли.

Читая документацию bash, наткнулся на инструмент select.

Синтаксис:
select $VAR in "пункт1" "пункт2" "пункт3"...; do
действия
break # Во избежание бесконечного цикла
done

Простой пример:
#!/bin/bash

echo -e "\e[1mВыберите дистрибутив, которым пользуетесь:\e[0m"
select distro in "debian" "rhel" "lfs" "arch" "gentoo" "crux"; do
echo "Вы используете дистрибутив: $distro"
break
done

Смотрите также:
help select

Удачи!
12.jpg
61.3 KB
#Humor

Как вы могли заметить, бессовестно одолжил фото из группы ВКонтакте. Я ж там админом раньше был, мне можно :)
Создание файла в Nautilus. #Костыль

Я использую рабочее окружение GNOME Shell. Вопреки всем воплям фанатичных кедерастов, рабочее окружение достаточно неплохое.

Но вот в файловом менеджере Nautilus такая бяда... Создание директории есть, а вот файлы создавать он разучился. Вот так - в контекстном меню просто нет опции создания.

Но это очень быстро решается - дело в том, что возможности Nautilus очень легко и просто расширяются скриптами на BASH, Python и пр.

Этим и пользуюсь. Поэтому пишу скрипт на BASH, который выводит диалоговое GTK окно, запрашивающее имя файла. Далее - тестирует наличие файла, если нет - оставляет в домашней папке лог с сообщением ошибки.

Выполнить в терминале:
cat > ~/.local/share/nautilus/noscripts/'Создать файл' << "EOF"
#!/bin/bash
file=$(yad --noscript="Создать файл" --text="Имя файла:" --entry)

touch $file > ~/create_file.log
if test -f $file; then
rm ~/create_file.log
else
yad --noscript="Создать файл" --image="dialog-error" --text="Ошибка: $(cat ~/create_file.log)"
fi

exit 0
EOF


Теперь же, чтобы скрипт заработал, выполните:

chmod +x ~/.local/share/nautilus/noscripts/'Создать файл'
`

Готово! У скрипта только одна зависимость - это пакет yad. Он необходим для создания окон GTK в скриптах BASH. Очень удобная штука.

Смотрите также:
man bash
man yad

Удачи!
diskotix.img
1.4 MB
Помню, не так давно в группе ВК админы написали о дистрибутиве Floppinux. Напомню: это дистрибутив, помещающийся на одну дискету.

***
Подобные системы делали и раньше, но потом дело заглохло совсем, ибо не нужно никому.

Однако, в старых архивах наткнулся на DiskotiX. Его особенность - это относительно богатый набор ПО: текстовый редактор, браузер, менеджер загрузок, калькулятор, что-то из игр, многое другое.

#Downgrade
Четвёртая часть статьи о строении Linux. Здесь речь идёт о строении ELF файла.

https://linuxoid85.github.io/LinuxSovet/stats/LFS/LinuxStr4/LinuxStr4.html

#Linux #Рукоблудие
Сегодня утром нельзя было зайти на https://linuxoid85.github.io/LinuxSovet. Это проблема на стороне GitHub. Сейчас она решена и на сайт можно заходить - он заработал.
Снимок экрана от 2021-06-08 19-34-07.png
118 KB
Программа дня - GNOME Multi Writer.

Multiwriter - программа для Linux для записи загрузочных образов ОС на флешку.

Плюсы:
- простой и понятный интерфейс
- одновременная запись на несколько флешек

Минусы:
- не умеет самостоятельно отключать флешку перед записью. Приходится самому в терминале выполнять sudo umount /dev/sdX. Кстати, этим же раньше "болел" файловый менеджер Nautilus (при попытке форматирования из него флешки или другого съёмного устр-ва).

#Soft
#News #Linux #Безопасность

Группа исследователей из нескольких университетов Германии разработала новый метод MITM-атаки на HTTPS, дающий возможность извлечь Cookie с идентификаторами сеанса и другие конфиденциальные данные, а также добиться выполнения произвольного кода JavaScript в контексте другого сайта. Атака получила название ALPACA и может быть применена к TLS-серверам, реализующим разные протоколы прикладного уровня (HTTPS, SFTP, SMTP, IMAP, POP3), но использующим общие TLS-сертификаты.

Источник здесь.
Наглядный пример использования `dialog`.

dialog - утилита для отображения псевдографических окон в терминале. Широко используется во всевозможных скриптах. Довольно неплохая утилита.

Возможности:
- создание меню, радиолистов и чеклистов
- окна с вводом информации
- окна с календарями и часами
- прогрессбары
- окна с выбором файла
- диалоговые окна
- просмотр и редактирование текстовой информации

Теперь про сам пример. Он простой, даже расписывать особо нечего). В архиве всё есть.

Смотрите так же:
- утилиты yad, kdialog, xmessage
- man dialog
Более подробная статья о настройке переключения раскладки в TTY. Разобрал на примере LFS. На некоторых дистрибутивах процесс может различаться.

#Tips@linuxsovet #Terminal@linuxsovet #LFS #Рукоблудие

https://linuxoid85.github.io/LinuxSovet/stats/LFS/keyboard-lfs.html
Обновлён раздел со статьями на сайте. Вообще, этот сайт задумывался как простой сборник статей, чтобы публиковать их в группах ВК и Telegram. В данный момент так и используется, хотя изменений много.

https://linuxoid85.github.io/LinuxSovet/stats/stats.html