61

http://images.vfl.ru/ii/1525603258/4a3492ad/21635022.png ZABBIX

+ обновления

update-1
---
+ добавлен пакет fping для шаблона ICMP
+ исправлены конфиги ротации логов (su zabbix zabbix)
+ улучшены zabbix-server.service и zabbix-agent.service
+ дополнительное тестирование загрузки/установки bios/efi

Флешка содержит готовую к установке на выделенный сервер систему мониторинга ИТ-инфраструктуры и приложений - Zabbix-5.4.7. Zabbix cобран из исходников в Mageia-7.1-x86_64 (php-7.0.2). После загрузки с флешки можно сразу зайти в Zabbix через браузер (ярлык на РС, Admin/zabbix) и "пощупать" его через web-интерфейс в реальном времени.

Перед установкой с флешки нужно завершить работу всех активных сервисов Zabbix:

 Консоль:
systemctl stop zabbix-agent zabbix-server mysqld php-fpm nginx

Cборка производилась с минимальными опциями по родной инструкции. При желании можно расширить функционал; исходники находятся в /zabbix-5.4.7.  Ярлык установки на реальную машину так же находится на Рабочем Столе. В качестве окружения выбран лёгкий и простой LXDE.

+ Процесс сборки из исходников для желающих повторить

Хост-Имя:
---
hostnamectl set-hostname zabbix

Удаление лишнего из Mageia
---
urpme --auto malcontent hexchat shorewall-core msec iptables mgaonline mageiawelcome

Рабочие инструменты:
---
urpmi --auto mc openssh-server firefox-ru htop zstd squashfs-tools wget bind-utils unzip grub2-efi fping

urpmi --auto nginx mysql (php-fpm-nginx для Mageia>7)

Оптимизация MySql /etc/my.cnf
---
sed -i 's/#innodb_buffer_pool_size.*/innodb_buffer_pool_size = 1G/g' /etc/my.cnf (здесь нужно ~50% RAM)
sed -i 's/key_buffer_size.*/key_buffer_size = 128M/g' /etc/my.cnf (если памяти много, прибавить до 512M)
sed -i 's/sort_buffer_size.*/sort_buffer_size = 128M/g' /etc/my.cnf (если памяти много, прибавить до 512M)
sed -i 's/read_buffer.*/read_buffer = 8M/g' /etc/my.cnf
sed -i 's/write_buffer.*/write_buffer = 8M/g' /etc/my.cnf

systemctl restart mysqld

Пользователь и группа zabbix:
---
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix

Ребутнём машину для применения юзеров apache (от nginx) и zabbix
---
reboot

Скачиваем и распаковываем исходники zabbix:
---
https://cdn.zabbix.com/zabbix/sources/s … 4.7.tar.gz
tar -C "/" -xzvf zabbix-5.4.7.tar.gz

Пароль root MySql
---
mysql_secure_installation (задать пароль root и всё время Enter)

Создать БД zabbix, юзера zabbix и дать ему права на БД zabbix
---
shell> mysql -uroot -p
> пароль root

#На случай, если БД/юзер пересоздаются - дропнуть
#DROP USER 'zabbix'@'localhost'; DROP DATABASE zabbix;

Создаём юзера zabbix (пароль zabbix_43651) и БД zabbix, даём права
---
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix_43651';
mysql> quit;

Создаём таблицы БД zabbix (идёт долго, смотрим прогресс)
---
cd /zabbix-5.4.7/database/mysql
mysql -v -uzabbix -pzabbix_43651 zabbix < schema.sql
mysql -v -uzabbix -pzabbix_43651 zabbix < images.sql
mysql -v -uzabbix -pzabbix_43651 zabbix < data.sql

Проверяем:
---
mysql -uzabbix -pzabbix_43651
mysql> use zabbix; SHOW TABLES; quit;

Установка Zabbix
---
urpmi --auto autoconf automake gcc make (для bootsrap.sh из git)

Максимум для возможного расширения опций ./configure
---
urpmi --auto mysql-devel libxml2-devel openssl-devel curl-devel gsnmp-devel net-snmp-devel libevent-devel unixODBC-devel ssh2-devel openipmi-devel

cd /zabbix-5.4.7
# В корне исходников (выбрать нужные опции, например --with-proxy)
---
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --prefix=/usr --sysconfdir=/etc/zabbix

make install

cp -f ./src/zabbix_get/zabbix_get /usr/sbin/zabbix_get
cp -f ./src/zabbix_js/zabbix_js /usr/sbin/zabbix_js
cp -f ./src/zabbix_sender/zabbix_sender /usr/sbin/zabbix_sender

Расположение:
---
    Configuration file:    /etc/zabbix/zabbix_agentd.conf
    Modules:               /usr/lib/modules

Изменяем DBPassword в /etc/zabbix/zabbix_server.conf
---
sed -i 's/# DBPassword=.*/DBPassword=zabbix_43651/g' /etc/zabbix/zabbix_server.conf

Создаём стартовые скрипты агента и сервера
Агент: /etc/systemd/system/zabbix-agent.service
---
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target

Сервер: /etc/systemd/system/zabbix-server.service
---
[Unit]
Description=Zabbix Server
After=syslogd.target
After=network.target
After=mysqld.service

[Service]
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target

Релойд systemd
---
systemctl daemon-reload

Настройка логирования: /etc/logrotate.d/zabbix-agent
---
/tmp/zabbix_agentd.log {
    su zabbix zabbix
    weekly
    rotate 12
    compress
    delaycompress
    missingok
    notifempty
    create 0664 zabbix zabbix
}

Настройка логирования: /etc/logrotate.d/zabbix-server
---
/tmp/zabbix_server.log {
    su zabbix zabbix
    weekly
    rotate 12
    compress
    delaycompress
    missingok
    notifempty
    create 0664 zabbix zabbix
}

Web-интерфейс zabbix
---
cp -rf /zabbix-5.4.7/ui/. /usr/share/zabbix; chown -R apache:apache /usr/share/zabbix

Установка php (дополнительно)
---
urpmi --auto php-bcmath php-sockets php-xmlreader php-xmlwriter php-ldap php-ctype php-gettext php-mbstring php-ctype php php-fpm php-iconv

Правка /etc/php.ini для zabbix (требования)
---
sed -i 's/post_max_size =.*/post_max_size = 16M/g' /etc/php.ini
sed -i 's/max_execution_time =.*/max_execution_time = 300/g' /etc/php.ini
sed -i 's/max_input_time =.*/max_input_time = 300/g' /etc/php.ini

Правка конфигурации php-fpm (для nginx)
---
sed -i 's/; listen = 127.0.0.1:9000/listen = 127.0.0.1:9000/g' /etc/php-fpm.d/www.conf;
sed -i 's/listen = \/var\/lib\/php-fpm\/php-fpm.sock/; listen = \/var\/lib\/php-fpm\/php-fpm.sock/g' /etc/php-fpm.d/www.conf

Файл конфигурации nginx для zabbix (из родного пакета Zabbiх): /etc/nginx/conf.d/default.conf
---
server {
#        listen          80;
#        server_name     example.com;

        root    /usr/share/zabbix;

        index   index.php;

        location = /favicon.ico {
                log_not_found   off;
        }

        location / {
                try_files       $uri $uri/ =404;
        }

        location /assets {
                access_log      off;
                expires         10d;
        }

        location ~ /\.ht {
                deny            all;
        }

        location ~ /(api\/|conf[^\.]|include|locale|vendor) {
                deny            all;
                return          404;
        }

        location ~ [^/]\.php(/|$) {
                fastcgi_pass    127.0.0.1:9000;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_index   index.php;

                fastcgi_param   DOCUMENT_ROOT   /usr/share/zabbix;
                fastcgi_param   SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
                fastcgi_param   PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;

                include fastcgi_params;
                fastcgi_param   QUERY_STRING    $query_string;
                fastcgi_param   REQUEST_METHOD  $request_method;
                fastcgi_param   CONTENT_TYPE    $content_type;
                fastcgi_param   CONTENT_LENGTH  $content_length;

                fastcgi_intercept_errors        on;
                fastcgi_ignore_client_abort     off;
                fastcgi_connect_timeout         60;
                fastcgi_send_timeout            180;
                fastcgi_read_timeout            180;
                fastcgi_buffer_size             128k;
                fastcgi_buffers                 4 256k;
                fastcgi_busy_buffers_size       256k;
                fastcgi_temp_file_write_size    256k;
        }
}

Чтобы в Zabbix работал traceroute:
---
ln -s /usr/sbin/traceroute /usr/bin/traceroute

Рестарт установленных сервисов и первый запуск
---
systemctl enable zabbix-agent zabbix-server mysqld php-fpm nginx sshd
systemctl restart zabbix-agent zabbix-server mysqld php-fpm nginx sshd

Заходим через браузер: http://127.0.0.1 и попадаем в Zabbix Setup
---
1. Выбираем русский язык
2. Далее-Далее-Вводим пароль к БД (zabbix_43651)-Далее-Вводим имя сервера-Далее-Финиш
3. На странице входа в ZABBIX вводим Логин - Admin, пароль - zabbix (по умолчанию)

Ссылка на MgaRemix-Zabbix: https://cloud.mail.ru/public/Jsyc/jrvfQvsrn

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

62

drakclock-patch - исправление включения NTP в Mageia-8/9 [upd: 20.11.2021]

http://images.vfl.ru/ii/1637329779/8d6d0703/36755767_s.png

Для желающих самостоятельно устранить Bug 27195 в Mageia-8/9, связанный с невозможностью включения синхронизации системного времени через NTP (drakclock), предлагаю установить rpm-патч: drakclock-patch-0.3-0.mrx8.noarch.rpm

Готовит систему к использованию NTP:

  • Устанавливает пакет chrony если он отсутствует

  • Если присутствуют файлы  /etc/chrony.conf и /etс/ntp.conf, заменяет их корректными аналогами

  • Применяет патч /usr/libexec/drakclock.patch к файлу /usr/libexec/drakclock (если не применялся ранее)

В настоящее время идёт тестирование исправлений самого drakclock на предмет правильного переключения между chronyd/ntpd, присоединяйтесь.

GitHub: https://github.com/AKotov-dev/drakclock-patch

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

63

youtube-set - настройка YouTube API для Kodi

http://images.vfl.ru/ii/1637992285/0562a4e8/36854611_s.png

Маленький GUI на Zenity для удобного ввода настроек (ключей) API плагина plugin.video.youtube. В последних версиях плагина для просмотра YouTube (>=6.8.16) была убрана форма расширенных настроек API (или я её не нашёл). Впрочем и раньше было неудобно вводить ключи длиной более 70-ти символов в полноэкранном режиме + иногда требуется их менять.

Оформлен в виде пакетов RPM и DEB (noarch/all); ярлык запуска после установки находится в Меню->Аудио и Видео->Настройки YouTube API.

GitHub: https://github.com/AKotov-dev/youtube-set
Как создать персональный ключ API: https://balagur.blogspot.com/2020/02/yo … -kodi.html

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

64

MgaRemix-8-Cloud - облачная Mageia

http://images.vfl.ru/ii/1638620639/09d4abb6/36956031_s.png

Образ для облачной виртуалки на базе Mageia-8_x86_64. Предназначена для быстрого развёртывания на YandexCloud и не только. В системе настроен и запущен сервер WireGuard; VMDK, диск 2ГБ max. Особо ничего нет, кроме необходимого: доступ по SSH и серийная консоль внутри машины на случай внешней блокады доступа в процессе экспериментов.

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

65

http://images.vfl.ru/ii/1525603258/4a3492ad/21635022.png APACHE OpenMeetings

http://images.vfl.ru/ii/1639205002/ad99c4a9/37052640_s.png http://images.vfl.ru/ii/1639205003/5c7c8efb/37052641_s.png http://images.vfl.ru/ii/1639205005/f9de73a1/37052642_s.png

Флешка содержит готовый сервер OpenMeetings — открытую программную систему видеосвязи, предназначенную для проведения видеоконференций, вебинаров, презентаций, дистанционного обучения и т.д.

URL локальный: https://localhost:5443/openmeetings
URL внешний: https://server_ip:5443/openmeetings

В новых версиях OpenMeetings используется исключительно https (Tomcat). В системе установлен Self-signed сертификат; при входе на сервер потребуется 1 раз согласиться и "открыть сомнительный/непроверенный сайт" по запросу в браузере (см. скриншоты выше). Это обычная процедура в таких случаях.

Администратор конференций (можно изменить):
---
user: marsik
password: AstroPing!1

Важно: поскольку Kurento-Media-Server в составе OpenMeetings используется в Docker-Image, аудио и видео трансляция будет работать только после установки с флешки на реальную ФС. Напомню, что MgaRemix прекрасно устанавливается и на отдельный диск в VirtualBox при загрузке с флешки. Это полезно для предварительного ознакомления или тестирования перед установкой на реальный сервер.

+ Установка и настройка OpenMeetings для желающих повторить

#Системные требования и особенности:
---
1. RAM >= 4GB (для OpenMeetings + MySQL + Kurento-Media-Server)
2. При установке на сервер - не менее 10ГБ SSD/HDD (без учета записи/загрузок)
3. Подключен репозиторий Tainted (расширенные кодеки)

#Скачиваем и распаковываем OpenMeetings
---
curl -O https://dlcdn.apache.org/openmeetings/6 … 2.0.tar.gz
tar -xvf apache-openmeetings-6.2.0.tar.gz -C /opt
mv -f /opt/apache-openmeetings-6.2.0 /opt/openmeetings

#Ставим зависимости
urpmi --auto mysql giflib libreoffice ffmpeg sox ghostscript ImageMagick mysql-connector-java docker openssh-server mc vlc jpeg-progs
#Закидываем java-коннектор в нужное место
cp -f /usr/share/java/mysql-connector-java.jar /opt/openmeetings/webapps/openmeetings/WEB-INF/lib/

gpasswd -a $USER docker
#docker rm kms
systemctl enable docker; systemctl restart docker

#Получаем и запускаем Kurento-Media-Server
docker run -d --name kms -p 8888:8888 --mount type=bind,source=/opt/openmeetings/webapps/openmeetings/data,target=/opt/openmeetings/webapps/openmeetings/data kurento/kurento-media-server

### docker update --restart always kms (автостарт контейнера медиа-сервера при перезагрузке)
### ЗАМЕНЕН сервисом ниже, поскольку долго отключается)
#https://stackoverflow.com/questions/30449313/how-do-i-make-a-docker-container-start-automatically-on-system-boot

/etc/systemd/system/kms-docker.service
---
[Unit]
Description=Kurento-Media-Server container
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a kms
ExecStop=/usr/bin/docker stop -t 2 kms

[Install]
WantedBy=default.target

systemctl enable kms-docker.service; systemctl restart kms-docker.service
---
#Комментируем в /etc/my.conf
#skip-networking (локальный порт 3306)

#Создаём базу данных MySQL (https://www.dmosk.ru/miniinstruktions.p … gs-centos8)
---
systemctl enable mysqld; systemctl restart mysqld;
mysqladmin -u root password (пароль админа)
>ghbdtn
>ghbdtn

mysql -u root -p
>ghbdtn
CREATE DATABASE openmeetings DEFAULT CHARACTER SET 'utf8';
GRANT ALL PRIVILEGES ON openmeetings.* TO 'marsik'@'localhost' IDENTIFIED BY 'ghbdtn' WITH GRANT OPTION;
quit;

# Генерация персонального сертификата OpenMeetings (если нужно)
# https://www.mail-archive.com/search?l=u … st&f=1
---
cd /opt/openmeetings/conf
keytool -keysize 4096 -validity 3650 -genkey -alias openmeetings -keyalg RSA -storetype PKCS12 -keystore localhost.jks
> password: openmeetings
Enter-Enter-Enter-Enter-yes-Enter

Автозапуск OpenMeetings после перезагрузки
---
cd /etc/systemd/system
curl -O https://raw.githubusercontent.com/apach … gs.service

Комментируем всё, что связано с nobody

systemctl enable openmeetings.service

#Перезапускаем OpenMeetings
---
systemctl restart openmeetings.service

Заходим: https://localhost:5443/openmeetings

Администратор конференции (можно изменить):
---
user: marsik
password: AstroPing!1

Openmeetings — видео/аудио за локальной сетью, как быть? (Автор: RS-qrsk @RS-qrsk)

+ цитата

Как оказалось, ssl действительно влияет на передачу rtmp трафика во внешку.
1. Создал поддомен om.example.com
2. На сервере отключил apache, дабы полностью освободить 80 порт на время
3. Выпустил сертификат SSL самоподписанный на поддомен
4. в DIR/conf/server.xml изменил 5080 и 5443 на 80 и 443 соответственно
5. Установил turnserver (обязательно!) + бонусом будет также настроить stunserver (в сети много публичных)
6. Перезагрузил tomcat3, kms, mysql, turnserver (что бы постоянно это не прописывать при перезагрузке сервера, сделайте скрипт автозапуска)
Не забываем про ufw или iptables.

Итог: отличный сервер видеоконференций с одновременно работающими клиентами как из внешней сети так и из локальной. Примерная нагрузка на сеть 1-1,5 мбит\с на 1 клиента.

Ссылка на MgaRemix-8-OpenMeetings-6.2.0: https://cloud.mail.ru/public/JeMo/NN32WZ4mp

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

66

http://images.vfl.ru/ii/1525603258/4a3492ad/21635022.png  MOODLE http://images.vfl.ru/ii/1639566159/41a338d6/37112350_s.png http://images.vfl.ru/ii/1639566160/6a7b4e8d/37112351_s.png

+ обновления

MgaRemix-8-Moodle-3.11.4+_2 - русский язык в профиле "admin"

Флешка содержит готовый сервер Moodle-v3.11.4+ для организации дистанционного обучения. Платформа предоставляет пространство для совместной работы учителей и студентов. В Moodle доступны различные возможности для отслеживания успеваемости учащихся, а также есть поддержка массовой регистрации. На Рабочем столе имеется ярлык быстрого входа в систему сразу после загрузки с флешки.

User: admin
Password: AstroPing!1

http://127.0.0.1 - локальный вход
http://server_ip - внешние подключения

Перед установкой на реальный сервер требуется выполнить: systemctl stop httpd mysqld

После установки требуется указать реальный IP для внешних соединений:
/var/www/moodle/config.php
$CFG->wwwroot   = 'http://127.0.0.1'; #УКАЖИТЕ ЗДЕСЬ IP ВАШЕГО СЕРВЕРА

systemctl restart httpd
+ Процесс установки для желающих повторить

По материалам статьи: https://tecadmin.net/install-moodle-on-fedora/
---
urpme --auto iptables shorewall-core msec mgaonline mageiawelcome hexchat

urpmi --auto mc firefox-ru task-lamp

urpmi --auto php-common php-mysql php-gd php-intl php-curl php-ldap php-apc php-mbstring php-dom php-soap php-sodium php-ctype php-iconv php-xmlreader php-fileinfo php-tokenizer php-opcache

/etc/my.cfg (закомментировать: skip-network)

systemctl enable mysqld httpd; systemctl restart mysqld

cd /var/www/
curl -O https://download.moodle.org/download.ph … st-311.tgz
tar -xvf ./*.tgz; rm -f ./*.tgz; chown apache:apache -R /var/www; chmod -R 755 /var/www

#Пароль root и создание БД moodledb
mysqladmin -u root password
>ghbdtn
>ghbdtn

mysql -u root -p
>ghbdtn
CREATE DATABASE moodledb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'marsik'@'localhost' IDENTIFIED BY 'ghbdtn';
GRANT ALL ON moodledb.* to 'marsik'@'localhost';
FLUSH PRIVILEGES;
quit

/etc/php.conf (установить max_input_vars=5000)

/var/www/moodle/config.php
---
$CFG->dbtype    = 'mariadb';
$CFG->wwwroot   = 'http://127.0.0.1'; #УКАЖИТЕ ЗДЕСЬ IP ВАШЕГО СЕРВЕРА для внешних подключений!

#Настройка виртуального узла: /etc/httpd/conf/conf.d/moodle.conf
---
<VirtualHost *:80>
#    ServerAdmin webmaster@example.com
#    ServerName moodle.com
    DocumentRoot /var/www/moodle
    <Directory /var/www/moodle>
          Allowoverride All
    </Directory>
</VirtualHost>


systemctl restart httpd;

http://127.0.0.1/install.php
# ...установка/создание таблиц БД и т.д, ждать...

#Вход
User: admin
Password: AstroPing!1

Ссылка на MgaRemix-8-Moodle-3.11.4+_2: https://cloud.mail.ru/public/Fa4D/gHzPdacDR

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

67

S3cmd-GUI - GUI для клиента s3cmd

http://images.vfl.ru/ii/1640508413/b0c6de0c/37273115_s.png http://images.vfl.ru/ii/1640508412/29bad724/37273114_s.png

S3cmd — это консольный клиент (Linux, Mac) для сервисов, поддерживающих HTTP API Amazon S3.

Возможности S3cmd-GUI:
---
Настройка подключения к хранилищу
Создание публичных/приватных бакетов
Копирование файлов и папок с компьютера в бакеты и обратно
Рекурсивное удаление бакетов с удалением незавершенных загрузок
Привычный интерфейс обычного файлового менеджера

Сразу после запуска S3cmd-GUI пытается подключиться к облачному хранилищу. Для настройки подключения нажмите кнопку с иконкой "шестерни". Выбор нескольких объектов (кроме бакетов) в файловом менеджере - Ctrl+LMouse, отмена длительных операций копирования - кнопка Esc. Локализация - Ru/En.

Перед установкой s3cmd-gui в Mageia Linux сначала установите пакет s3cmd отсюда (пакет портирован из Fedora-35). Наличие пакета s3cmd зависит от дистрибутива. Тестировалось в Mageia-8 и LUbuntu-20.10 x86_64.

Полезные статьи:
---
Все команды s3cmd
Базовые команды S3cmd (8host)
S3cmd | Yandex.Cloud - Документация по s3cmd


GitHub S3cmd-GUI: https://github.com/AKotov-dev/s3cmd-gui

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

68

smplayer-lirc - SMPlayer с ИК-пультом
---
http://images.vfl.ru/ii/1641837835/3589fc58/37470814_s.png http://images.vfl.ru/ii/1641837838/d1ff718e/37470815_s.jpg http://images.vfl.ru/ii/1641837838/42039e7c/37470816_s.jpg

В праздники решил поиграться с SMPlayer и прикрутить к нему старый добрый LIRC.  ab

Пакет smplayer-lirc ставит всё необходимое и делает первичную настройку. В меню, рядом с ярлыками запуска SMPlayer и SMTube будет создан дополнительный ярлык "SMPlayer (LIRC)" для запуска проигрывателя с поддержкой пульта.

Что в пакете: ярлык меню, запускающий скрипт /usr/bin/smplayer-lirc, который перед запуском smplayer определяет, запущен ли lircd.service и если да - создаёт кеймап ~/.lircrc для SMPlayer и запускает в окружении пользователя irexec, который отсылает команды с кнопок пульта в SMPlayer; в зависимости от архитектуры создаются /etc/lirc/{lirc_options.conf,lircd.conf} (%post) с нужными для /dev/ttyS0 настройками (setserial + модуль ядра serial_ir). В случае использования USB-ИК-приемника всю эту конструкцию, разумеется, нужно переделывать. СОМ-порт - конечно архаика, но другого железа для веселья под рукой не оказалось.

ИК-приемник и пульт были взяты от древнего телевизора GoldStar. ИК-приемник был собран по схеме (см. скриншот) и подключен к COM-порту (/dev/ttyS0). Поскольку параметры у всех пультов разные, можно перестроить работу на другой пульт. Для этого достаточно перезаписать коды кнопок пульта с помощью команды irrecord -f (под su) и заменить полученным в результате файлом -> файл /etc/lirc/lircd.conf + перезапустить LIRC: systemctl restart lircd.

Карта кнопок пульта для SMPlayer (~/.lircrc):
---
KEY_OK - play/pause
KEY_UP - предыдущий канал
KEY_DOWN - следующий канал
KEY_POWER - закрыть SMPlayer
KEY_LEFT - уменьшить громкость
KEY_RIGHT - увеличить громкость
KEY_MUTE - отключить/включить звук
KEY_NUMERIC_0 - полный экран

Полезные команды при запущенном lircd.service (под su):
---
mode2 - проверить, видит ли комп нажатие любых кнопок пульта
irrecord -f - создаёт файл с кодами нажатых кнопок с названиями вида KEY_BlaBla (см. выше про файл /etc/lirc/lircd.conf)
service restart lircd - перезапуск lircd/перечитывает новый конфиг с кодами кнопок (опять же /etc/lirc/lircd.conf)
irw - вывести название/код уже записанных кнопок с именем пульта

В настройках SMPlayer:
---
Выбрать: Основные-Движок воспроизведения-mpv
Снять галку: Дополнительно-MPlayer/mpv-Уведомления о сбоях MPlayer/mpv

...и загрузить плейлист *.m3u в SMPlayer.

GitHub: https://github.com/AKotov-dev/smplayer-lirc

Бонус: linlirc.tar.gz - gui для исполнения любых системных команд с пульта. При уже настроенном ИК-датчике и запущенном LIRC нужно запустить linlirc. В текстовых полях можно ввести любые команды, которые будут выполняться с пульта. В качестве демонстрации уже вписаны команды управления громкостью (системный регулятор). Суть работы LinLirc в запуске отдельного потока, в теле которого происходит анализ нажатой кнопки пульта (парсинг вывода irw) и обработка этого нажатия асинхронным процессом. В принципе тоже ничего особенного, просто было интересно поковырять LIRC. Как я понял - ковырять можно до бесконечности, поэтому версия чисто экспериментальная для опытов над системой.

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

69

6086 PC Mouse Remote Control - пульт и USB-ИК-приёмник (комплект для управления компом)

http://images.vfl.ru/ii/1642956104/7fd8ec3c/37678445_s.pnghttp://images.vfl.ru/ii/1643009141/d3113e1b/37685253_s.png

...продолжение темы про управление Linux-ом c дивана...

На AliExpress был приобретён нонэйм-пульт с датчиком, показанный на скриншоте. В инструкции заявлено, что этот девайс поддерживают исключительно WinXP-Vista, но любопытство взяло верх. В результате, после подключения были получены дополнительные "клавиатура" и мышь.

> lsusb
Bus 003 Device 004: ID 1d57:ad02 Xenta SE340D PC Remote Control

> dmesg
[  880.682779] usb 3-5: new low-speed USB device number 5 using xhci_hcd
[  880.811581] usb 3-5: New USB device found, idVendor=1d57, idProduct=ad02, bcdDevice= 1.05
[  880.811593] usb 3-5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[  880.818074] input: HID 1d57:ad02 Keyboard as /devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/0003:1D57:AD02.0005/input/input20
[  880.870893] hid-generic 0003:1D57:AD02.0005: input,hiddev0,hidraw2: USB HID v1.10 Keyboard [HID 1d57:ad02] on usb-0000:00:14.0-5/input0
[  880.874315] input: HID 1d57:ad02 Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.1/0003:1D57:AD02.0006/input/input21
[  880.926382] hid-generic 0003:1D57:AD02.0006: input,hiddev1,hidraw3: USB HID v1.10 Mouse [HID 1d57:ad02] on usb-0000:00:14.0-5/input1

Курсор мыши успешно ползает по экрану за трекболом (как это назвать не знаю, - большая синяя кнопка на пульте), есть имитация кнопок мыши (L/R). По объектам рабочего стола перемещается и стрелками и мышью, запускает/выбирает кнопкой "Ok" или двойным нажатием мышиной (L). Браузер запускается кнопкой e-mail (особо не надо), работают кнопки управления системной громкостью, активные окна закрываются кнопкой "Close" и т.д.

Понравился ряд цветных кнопок, которые тоже можно использовать по своему усмотрению, однако перед этим нужно отключить с них запуск виртуальных консолей (Ctrl+Alt+F1-6), если не используется. Для этого в файл /etc/X11/xorg.conf нужно добавить это (если файла нет - создать) и перегрузиться:

Section "ServerFlags"
Option "DontVTSwitch" "true"
EndSection

Через gnome-control-center на зеленую кнопку с "Нотами" я повесил запуск Kodi. Внутри Kodi работают стрелки, Ok, Esc и перемотка + мышь. В общем и целом всё хорошо, поскольку не ожидал, что оно вообще заведётся (Budgie-10.5.3, Kernel-5.15.16). Ещё у китайцев есть Bluetooth-вариант пульт/приемник для Android, но думаю, что нужно заставить себя остановиться.

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

70

Я по этой схеме сам собирал приёмник лет 20 назад. Пульт купил готовый в ближайшем ларьке с техникой, требование было одно - побольше кнопок и подешевле.
Приёмник засунул в корпус от старой мышки, она как раз была под COM-порт. Знакомые все удивлялись, почему мышь на стене висит ab .
Сейчас, если честно, не вижу смысла. Во-первых, дома и так пультов 6 штук, даж обогреватель имеет свой пульт. Во-вторых, сейчас можно недорого купить беспроводной комплект - мышь и клавиатуру, всё же более универсальное решение.

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD + NVIDIA GeForce RTX3060, DDR4 32 GB, SSD 1TB + HDD 2TB | Linux Mint 22.3 Cinnamon + Windows 11

71

Rizado пишет:

Я по этой схеме сам собирал приёмник лет 20 назад. ... Приёмник засунул в корпус от старой мышки, она как раз была под COM-порт. Знакомые все удивлялись, почему мышь на стене висит.

Значит тоже экспериментатор. ))  Да, были времена, когда ик-пульт был настоящим достижением. И сейчас во многих случаях последовательный порт может быть основой "изящного" решения. В 2016 году модуль ядра для работы с ним был переименован с привычного lirc_serial на serial_ir, а поскольку дело было давно, в доках это практически не отразилось.

Rizado пишет:

Во-вторых, сейчас можно недорого купить беспроводной комплект - мышь и клавиатуру, всё же более универсальное решение.

Думаю, что с беспроводной клавиатурой и мышью лёжа на диване много не наработаешь: катать мышь по подушке неудобно, равно как искать кнопки на клавиатуре в темноте. Ведь рука инстинктивно привыкает нажимать "пупырышки", найденные на ощупь. А поскольку лень - двигатель прогресса, "лентяйка" ещё не скоро выйдет из моды.  ab

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

72 (24.01.2022 18:36:11 отредактировано Wolfenberg)

alex_q_2000 пишет:

Думаю, что с беспроводной клавиатурой и мышью лёжа на диване много не наработаешь: катать мышь по подушке неудобно, равно как искать кнопки на клавиатуре в темноте.

Тут технологии шагнули ещё дальше - есть голографические технологии на основе виртуальных машин. Нужен лишь VMWare ab
А для тех, кто всё же не настолько богат финансами есть беспроводные клавиатуры с джойстиками (та же мышка) с подсветкой и звуковыми эффектами ab

Linux Mint 19.3 Mate Edition
Windows 7

73

docker-manager - GUI для управления Docker

http://images.vfl.ru/ii/1643286450/a8ba03ba/37752502_s.png

+ обновления

v1.9
+ launching DockerManager from a regular user
+ сhecking the presence of a user in the 'docker' group
+ checking the launch of docker.service

v1.8
+ Login/Logout to DockerHub
+ Push the image to DockerHub

v1.7
+ unification: ContainerName instead of ContainerID
+ renaming Docker Images and Containers
+ rpm and deb-packages prefixes changed to mrx9

v1.6
+ import the contents from a tarball to create a filesystem image
+ export a container’s filesystem as a tar archive

v1.5
+ project file management (COPY, ADD)

v1.4
+ getting an image based on Dockerfile
+ table of images: sorting by "IMAGE ID" field

v1.3
+ stopping one or all containers
+ category icons in the PopUp menu
+ fixed the build of the image with the --tag

v1.2
+ creating an image based on Dockerfile

v1.1
+ elimination of increased CPU usage
+ putting the sakura launch into a separate thread

v1.0
+ confirmation of deleting objects
+ increase the state polling time to 600 ms
+ correction of launch shortcuts

Зависимости: docker, sakura, polkit, systemd, (docker.io для Ubuntu)

GUI предназначен для управления образами и контейнерами Docker. Позволяет отслеживать состояние объектов в режиме реального времени и выполнять простейшие операции через меню (ПКМ). Также может быть полезен в качестве монитора активности объектов Docker во время развертывания и настройки.

Возможности:

  • Получение/Загрузка образов из хранилища Docker

  • Запуск/Останов образов и контейнеров с доп. командами и без них

  • Запуск образов и контейнеров + вход в bash (редактирование контейнеров)

  • Получение информации о версии контейнеров

  • Удаление образов и контейнеров

  • Бэкап и восстановление образов

  • Создание образов из изменённых контейнеров

  • Создание образов через Dockerfile

  • Импорт образа из архива *.tar

  • Экспорт контейнера в архив *.tar

  • Переименование образов и контейнеров

  • Логин/Логаут и загрузка образов на DockerHub

Примечание: В Mageia-8/9 имеется ошибка 29096 при завершении docker.service в присутствии запущенных контейнеров. Чтобы это исправить до выхода официальных пакетов, можно установить rpm-исправление docker-shutdown-patch. Удачных экспериментов!

GitHub: https://github.com/AKotov-dev/docker-manager

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

74

Docker-образ сервера Openfire-4.7.0 - обмен сообщениями в локалке

http://images.vfl.ru/ii/1643718031/1f9caae4/37822388_s.png

...параллельно решил испытать свой DockerManager (см. выше) и для эксперимента создал образ Openfire двумя способами + чтобы не забыть...

Способ-1: Через редактирование контейнера
---
Запускаем DockerManager
Получаем образ mageia (меню, ПКМ)
Заходим в его Shell > /bin/bash (меню)

Ставим нужные пакеты:

urpmi --auto wget

Скачиваем и ставим пакет openfire

mkdir ./111; cd ./111
wget https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-4.7.0-1.noarch.rpm
urpmi --auto ./*.rpm
rm -rf /111

Выходим из образа:

exit

В процессе работы с образом был создан одноименный контейнер (mageia:latest, в списке снизу). Этот контейнер теперь содержит все изменения, которые делались в основном образе.

Делаем новый образ openfire-new из этого контейнера через меню. Образ openfire-new появляется в списке сверху.

Теперь нужно, чтобы при запуске образа openfire-new автоматически запускался сервер openfire внутри него.

Создаём файл ./Dockerfile с таким содержимым:

 
#создаём из этого образа
FROM openfire-new:latest
#после загрузки контейнера будет выполнена эта команда
CMD ["/bin/bash","-c","/opt/openfire/bin/openfire.sh"]
#опубликовать эти порты наружу
EXPOSE 5222 5223 9090 9091

И даём команду:

docker build -t mageia-9:openfire .

После этого создаётся образ mageia-9:openfire с автозапуском сервера openfire. Образ готов. Его можно выгрузить в бэкап (файл *.tar), а затем дополнительно сжать, чтобы занимал меньше места при распространении.

Использование образа mageia-9:openfire
---
Запускаем образ mageia-9:openfire c параметрами -p 9090:9090 -p 5222:5222 (через меню или двойной клик)
В браузере основной системы входим по адресу http://127.0.0.1:9090 и попадаем на страницу начальной настройки OpenFire. Все настройки будут сохраняться в одноименном контейнере. Сервер запущен. После создания администратором учетных записей, к нему можно подключиться традиционными Jabber-клиентами, например Psi.

Когда все данные будут введены, этот контейнер (mageia-9:openfire) тоже может быть преобразован в образ и сохранён в бэкап. И так далее. В принципе, всё это делается через Dockerfile, но так более наглядно.

Способ-2: Традиционно, через создание Dockerfile
---
Получить образ mageia (меню)
Создать образ через Dockerfile (меню)
Указать имя:тэг нового образа
Скопировать/Вставить в окно текст ниже и нажать "Ok"

FROM mageia:latest
RUN urpmi --auto wget
WORKDIR /111
RUN wget https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-4.7.0-1.noarch.rpm
RUN urpmi --auto ./*.rpm
WORKDIR /
RUN rm -rf /111
CMD ["/bin/bash","-c","/opt/openfire/bin/openfire.sh"]
EXPOSE 5222 5223 9090 9091

...и наблюдать, когда закончится увлекательный процесс сборки.

Итоги: Образ, созданный Способом-1 оказался на ~60 мегабайт меньше. Вероятно, следует оптимизировать Dockerfile из Способа-2. В целом, игры с контейнерами - дело интересное, понравилось. Однако, думаю, что лучше просто установить нужный пакет на сервер и настроить его. ab

Тестирование: Mageia-8 (Budgie/Plasma) и LUbuntu-21.10.


Cжатый (7z) образ mageia-9-openfire.tar для Docker: https://cloud.mail.ru/public/HQnk/t1WJXD6cf

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

75

VDIConverter - конвертер файлов VDI (RootFS) в TAR и SQFS

http://images.vfl.ru/ii/1645637685/10ec38b7/38188641_s.png

Зависимости: polkit, tar, zstd, qemu-img, squashfs-tools

+ изменения

v0.3 - code optimization
v0.2 - initial release

Разметка диска виртуальной машины должна быть простейшей: своп + корень. Преобразование в TAR предназначено для создания архивов, которые можно сразу импортировать в Docker для создания готового образа. Сжатие SQFS используется для создания готового модуля *.sqfs для флешки MgaRemix или другого (в т.ч. модульного) дистрибутива.

В общем виде схема такая:

VirtualBox (VDI) -> VDIConverter (TAR) -> Docker (Import)
VirtualBox (VDI) -> VDIConverter (SQFS) -> USB flash drive/loopbacks/distrib.sqfs

Примечание: перед конвертированием VDI виртуальная машина должна быть остановлена.

GitHub: https://github.com/AKotov-dev/vdiconverter

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

76

mageia-cauldron:minimal - минимальный образ Mageia-9 (Cauldron) для Docker

Использование: скачать, распаковать, DockerManager -> Восстановить образ(ы) Docker из бэкапа

Создать самый свежий образ mageia-cauldron:minimal (при необходимости):

su/password

# Рабочий каталог, переход в него, монтирование файловых систем
mkdir -p ./rootfs/{dev,proc,sys}; cd ./rootfs
mount /proc ./proc -o bind; mount /dev ./dev -o bind; mount /sys ./sys -o bind

# Подключение зеркал и установка базовой системы с измененным корнем установки ./rootfs
urpmi.addmedia --urpmi-root . --distrib http://ftp.fau.de/mageia/distrib/cauldron/x86_64/
urpmi --auto --no-recommends --urpmi-root . basesystem-minimal urpmi

# Прыжок в chroot, dns, перестройка базы rpm, импорт ключа репозитория, доустановка пакетов, очистка кеша
chroot .
echo "nameserver 1.1.1.1" > /etc/resolv.conf
rm -rf /var/lib/rpm; rpm --rebuilddb; rpm --import /etc/pki/rpm-gpg/RPM*
urpmi --auto --no-recommends filesystem curl zstd locales-en #(or your locales-xx)
urpmi --clean

exit

# Демонтаж файловых систем
umount -l ./proc ./dev ./sys

# Создаём тарболл из ./rootfs/*
tar -cvf /mageia-cauldron-minimal.tar ./

# Импорт в Docker с созданием контейнера
docker import /mageia-cauldron-minimal.tar mageia-cauldron:minimal

# DockerManager -> Создать бэкап этого образа (имя mageia-cauldron-minimal)

Образ mageia-cauldron:minimal (7z): https://cloud.mail.ru/public/BeBp/rvYyvL6jG

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

77

MgaRemix-8-TimeShift - флешка для восстановления системы (RU/EN)

https://i.ibb.co/8DspJzj/Mga-Remix-8-Time-Shift-RU-2.png

TimeShift защищает вашу систему путем создания снимков системы на определённый момент времени. Эти копии могут быть восстановлены позже, чтобы привести вашу систему в состояние, которое было на то время, когда была сделана копия. Live-флешка может быть полезна в самый критический момент, когда система вообще не грузится но имеются снимки, созданные ранее.

TimeShift — создание резервных копий и восстановление систем Linux (Источник: compizomania)

+ как собиралась флешка

urpmi --auto openssh-server mc sudo lxdm pcmanfm timeshift sakura btrfs-progs leafpad; urpmi --clean
urpme --auto --auto-orphans shorewall-core msec iptables malcontent mgaonline

#Автозагрузка ФМ и TimeShift
cat > /home/marsik/.icewm/startup << EOF
#!/bin/bash
pcmanfm --desktop &
timeshift-launcher &
EOF

chown marsik.marsik /home/marsik/.icewm/startup; chmod +x /home/marsik/.icewm/startup

#Дисковые операции, юзеру - макc. привелегии (обход pkexec в timeshift-launcher)
/etc/sudoers
---
# %wheel    ALL=(ALL)   ALL
%wheel  ALL=(ALL)   NOPASSWD:   ALL
---

su/password
usermod -aG wheel,root $LOGNAME

#Запуск TimeShift без пароля
/usr/bin/timeshift-launcher:
---
if [ `id -u` -eq 1000 ]; then
    sudo ${app_command}
...

Как работать:
---
Загрузиться с флешки; откроется TimeShift в "Live USB Mode (Restore Only)". Нажать "Wizard", выбрать тип снимков (RSYNC/BTRFS)->Далее->Выбрать расположение снимков->Готово и приступить к восстановлению. Проверка в реале не производилась, поскольку нет технической возможности. В теории - должно работать.

Скачать MgaRemix-8-TimeShift: https://cloud.mail.ru/public/8KbM/jpJ3E8hkf

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

78

MgaRemix-8-MetaTrader - флешка для трейдеров (экспериментальная)

https://i.ibb.co/qjrX6vP/Mga-Remix-8-Meta-Trader5.png https://i.ibb.co/x8W9wyT/Mga-Remix-8-Meta-Trader4.png

[upd: 16.04.2022]  - добавлена сборка MgaRemix-8-MetaTrader-Plasma

+ как собиралась флешка

urpme --auto --auto-orphans iptables shorewall-core msec malcontent mgaonline mageiawelcome dasher atril

urpmi --auto wpa_supplicant firefox-ru mc unrar p7zip htop sudo harddrake chrony libreoffice-calc libreoffice-writer libreoffice-impress libreoffice-langpack-ru draklive-install grub2-efi viewnior evince celluloid zstd squashfs-tools binutils openssh-server pluma engrampa; urpmi --clean; reboot

Установка рекомендованных MgaRemix (initrd-builder drakclock-patch scleaner pchanger mgaremix-background)
scleaner = очистка

Установка wine32/64
---
Подключаем репы x32 в MCC
urpmi --auto wine; urpmi --auto wine64; urpmi --clean; reboot

Установка MetaTrader-4/5
---
MT5: ПКМ - Установить через Установщик Wine (mt5setup.exe 64-бита)

MT4: Терминал, в каталоге с файлом fcmt4setup_ru.exe (32 бита)
WINEPREFIX=~/.wine32 WINEARCH=win32 ./fcmt4setup_ru.exe

Рабочие префиксы: /home/trader/.wine ; /home/trader/.wine32

Регулировка размера шрифта (масштабирование): winecfg -> Графика -> Разрешение экрана -> 120 точек на дюйм
Примечание: Чтобы приложение искало шрифты в папке выше, префикс в ярлыках запуска указывать не нужно
#env WINPERFIX=...
https://askubuntu.ru/questions/84527/us … ov-na-vino

#systemctl disable wine

#Реальное время, если вторая система - Windows
#timedatectl set-local-rtc 1 --adjust-system-clock

Обновления МТ5 (обновить!)
---
По умолчанию файлы обновлений скачиваются в каталог C:\Users\username\AppData\Roaming\MetaQuotes\WebInstall.

Заменить ярлыки MT4 в /home/trader/.local/share/applications/wine/Programs/ForexClub MT4

#urpme --auto openssh-server

В SCleaner!!!
Чтобы при установке он не удалял orphaned-packages - все пакеты исключить из списка сирот!!! (связано с wine!!!)

MetaTrader — информационно-торговая платформа, разработанная MetaQuotes Software Corp., предназначенная для организации дилингового обслуживания на рынках Forex, CFD и Futures. Это комплекс полного цикла, то есть для организации дилингового обслуживания при наличии MetaTrader не требуется дополнительного программного обеспечения.

Флешка содержит уже установленные и настроенные MetaTrader4 (x32) и MetaTrader5 (x64). В качестве несущего DE выбран MATE, что обеспечило относительно малый размер, скорость и экономию ресурсов. Оптимальные требования: объём ОП - 4ГБ, загрузка - BIOS/EFI, архитектура x86_64. Учитывая нагрузку на зрение в терминалах, особое внимание уделялось шрифтам, сглаживанию и возможности масштабирования (см. скриншоты).

Масштабирование регулируется через winecfg (команда от пользователя в терминале) -> Графика -> Разрешение экрана -> 96/120/др. точек на дюйм. Синхронизация системного времени (при необходимости) настраивается через Центр Управления Mageia -> Система -> Дата и время.

Пользователи/Пароли:
---
user: trader      |    user: root
pass: ghbdtn    |    pass: ghbdtn

Cистема включает всё необходимое для работы: урезанный LibreOffice (docx/xlsx/pptx), проигрыватель Celluloid, вьюер картинок Viewnior, архиватор, текстовый редактор и т.д. Установка протестирована на виртуальных машинах.

Скачать MgaRemix-8-MetaTrader

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

79

chkdsk - пакеты для исправления ошибок NTFS (Mageia/Fedora/Ubuntu/etc...)

[upd: 23.04.2022] - v0.2 fixed multiple NTFS partition search

Если две операционные системы (Windows/Linux) установлены рядом, при неправильном завершении работы первой из них часто возникают проблемы с монтированием разделов NTFS во второй или они монтируются только для чтения. Пакеты содержат скрипт /usr/bin/chkdsk для автоматического устранения этой неисправности. Этот скрипт не является аналогом программы chkdsk из Windows, он использует утилиту ntfsfix из пакета ntfs-3g. Для исправления ошибок достаточно зайти в терминал с привилегиями su и выполнить команду chkdsk.

Демонстрация исправления ошибок NTFS:

> chkdsk
Mounting volume... The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
FAILED
Attempting to correct errors... 
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sda3 was processed successfully.

Смежная тема: Папки под замком

GitHub: https://github.com/AKotov-dev/chkdsk/releases

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

80

USBRestore - программа для восстановления заводских параметров флешек (MgaRemix Tools)

https://i.ibb.co/9qnQ4qQ/usbrestore.png

[upd: 03.05.2022] - v0.5 wipefs + parted; final release

Если ранее на флешку записывались установочные образы ISO, например, через программы Rufus (GPT/EFI/Windows), Unetbootin, либо ставился загрузчик GRUB - в дальнейшем с флешкой могут быть проблемы, поскольку всё перечисленное не удаляется даже после форматирования. Поэтому флешка может отображать неправильную ёмкость, не читаться в Windows, не грузиться в телевизорах/приставках и т.п. Эти устройства требуют использования родных/заводских параметров флешек: раздел dos и файловую систему FAT32.

Чтобы привести флешку к нормальным, заводским параметрам, был создан USBRestore. Он делает принудительную "реанимацию" и убирает с флешки всё лишнее нажатием одной кнопки, возвращая её в состояние "из магазина":

1. Очищает таблицу разделов
2. Ставит метку раздела dos
3. Создаёт раздел FAT32
4. Форматирует раздел с меткой USBDRIVE
5. Проверяет раздел на ошибки с коррекцией

Будьте внимательны при выборе флешки из списка! Программа сама определяет съёмные устройства, однако их разнообразие  велико, поэтому в работе обращайте внимание на ёмкость (G), т.е. Гигабайты.

Замечено, что после удаления раздела GPT некоторые флешки USB3 не могут автоматически получить букву (E, F, G...) и не отображаются в проводнике Windows-10. В этом случае требуется назначить букву через "Управление дисками" вручную. В Linux проблемы отсутствуют.

Напоминаю, что использование на флешках файловых систем, отличных от FAT32 значительно снижает срок их службы. Не стоит использовать флешки, форматируя их, например, в ntfs или ext3-ext4-xfs (журналируемые fs). USBRestore исправляет логические ошибки, но он бессилен перед физическим повреждением ячеек памяти или контроллера флешки.

Программа выпущена в двух вариантах - портабельном (usbrestore.tar.gz), не требующем установки и в пакетах RPM/DEB (x86_64). Работа проверялась в Mageia-8 и LUbuntu-22.04.

GitHub: https://github.com/AKotov-dev/usbrestore/releases

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

81

alex_q_2000 пишет:

ntfs

на флешках эта FS нужна только если объем хранимых файлов будет превышать 4ГБ.
А вот журналируемые FS на сменных накопителях действительно нет смысла использовать.

82

MozgFx пишет:

на флешках эта FS нужна только если объем хранимых файлов будет превышать 4ГБ.

Поправлю немного - не объём файлов, а размер одного файла.

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD + NVIDIA GeForce RTX3060, DDR4 32 GB, SSD 1TB + HDD 2TB | Linux Mint 22.3 Cinnamon + Windows 11

83

ADBManager - управление смартфонами через ADB

https://i.ibb.co/S035LT6/ADBManager-v2-6-1.png https://i.ibb.co/Dt0nZZT/ADBManager-v2-6-2.png

UPD [26.05.22]: v2.6-8

  • SD-Сard менеджер: [F12] поиск SD-Card

  • SD-Сard менеджер: [BackSpace] на уровень вверх (Rizado)

  • Пакеты RPM/DEB: добавлена группа "adbusers"

  • Улучшен режим эмулятор/сеть

  • Немецкий перевод - doktor5000

  • Испанский перевод - Rizado (в процессе)

  • Итальянский перевод (вольный, авторский)

  • Французский перевод (вольный, авторский)


Обсуждение проекта здесь: ADB Manager
GitHub: https://github.com/AKotov-dev/adbmanager/releases

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

84

GHBackup - простой бэкап репозиториев GitHub

https://i.ibb.co/LpcxsnF/GHBackup-4.png

+ обновления

v0.3 - repositories count (max): 1000 (Release)
v0.2 - cosmetic edits/events
v0.1 - Initial release

Программа предназначена для быстрого клонирования публичных репозиториев с GitHub. После запуска укажите Логин, Рабочий каталог и нажмите Бэкап. В результате будет получен мелкий клон всех репозиториев и финальный архив: ~/РабочийКаталог/1-BACKUP/GitHub.tar.gz. GHBackup будет полезен тем, кто решит сохранить свои работы до эпизода глобальной изоляции России от мирового сообщества.

Использовалась статья: Как получить список всех репозиториев GitHub человека?

GitHub: https://github.com/AKotov-dev/GHBackup

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

85

GChanger - GUI для изменения темы GRUB для Mageia/MgaRemix

https://i.ibb.co/9Wx7Tm2/GChanger1.png https://i.ibb.co/jLLj0rf/GChanger2.png

+ обновления

v0.2
+ ComboBox with default resolution settings
+ Double-click in the list - install the theme
+ Сosmetic code edits

v0.1 - Initial Release

Возможности:

  • содержит 32 предустановленные темы для различных разрешений экрана (1080p/2k/4k)

  • позволяет загружать новые темы из внешних директорий, удалять темы, менять фон (png, jpeg, jpg)

  • устанавливает выбранный тайм-аут (пауза до загрузки системы)

  • при удалении rpm-пакета настройки темы автоматически возвращаются к теме maggy (1024x768x32)

Кроме уже присутствующих тем вы можете установить другие. Скачать темы GRUB2 можно здесь. Нужно скачать и распаковать архив темы. Чтобы загрузить тему нажмите кнопку "Загрузить" и откройте каталог распакованной темы, который содержит файл theme.txt. Для установки темы нажмите кнопку "Применить". Если изменялся фон, разрешение экрана или задержка следует нажать кнопку "Применить" повторно.

Рекомендации:

  • При замене фона темы старайтесь выбирать картинку тёмных тонов и с меньшей детализацией

  • Если система ставилась на EFI, при указании разрешения экрана есть смысл нажать кнопку "S" (взять разрешение автоматически)

Отказ от ответственности: Программа предоставляется "As Is". Автор не несёт ответственности за Ваши неправильные действия.

Смежная тема на форуме: Настройки Grub Customizer


GitHub: https://github.com/AKotov-dev/gchanger

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

86

alex_q_2000 пишет:

содержит 32 предустановленные темы для различных разрешений экрана (1080p/2k/4k)

Формат экрана 21:9 поддерживается? Например, у меня 2560*1080.

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD + NVIDIA GeForce RTX3060, DDR4 32 GB, SSD 1TB + HDD 2TB | Linux Mint 22.3 Cinnamon + Windows 11

87

Rizado пишет:

Формат экрана 21:9 поддерживается? Например, у меня 2560*1080.

Брал отсюда. Там ещё есть похожие: Stylish, Vimix. Написано, дескать Add 2k and 4k display support. А вот насчет пикселей/диагоналей - не могу сказать, у меня отродясь таких мониторов небыло. В наличии имею деревянный Asus 1600x900.  ab

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

88 (04.09.2022 08:20:46 отредактировано XliN)

alex_q_2000 пишет:

Выпущены rpm-пакеты Budgie Desktop v10.6.3 для Mageia-9.

Мне бы такое чудо, да с такими же настройками и оформлением для рабочих станций на работе. Эх (( У меня 60 моноблоков с AstraLinux 2.12.44 Орел (Debian GNU/Linux 9 "Stretch")

Врачам было бы не так страшно работать и пересаживаться на Linux, а внедрять обязательно нужно.

В репах есть не самая свежая версия, ну и пусть. Как накатить такое оформление как у тебя?

+ открыть спойлер

https://images.linuxforum.ru/images/2022/09/04/Screenshot_20220904_081315.png

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

89

XliN пишет:

Как накатить такое оформление как у тебя?

В этой версии установлена тема ChromeOS + иконки/курсоры Windows-10. У меня всё это в пакетах и лежит там же на GitHub. Чтобы получить ChromeOS "во всей красе", нужно выполнить эти Requirements.

В стандартном Budgie используется Nautilus и значков на Рабочем Столе нет. Для отображения значков в Budgie предлагается использовать плагин budgie-desktop-view. Но, как и следует из названия, этот плагин только отображает значки на РС, а работать с файлами не позволяет. Поэтому в своей сборке я сделал файловым менеджером Nemo.

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10

90

GitFlic-RPM - rpm пакеты для миграции с GitHub на GitFlic

Установка: Сначала устанавливается python3-gitflic (отсутствует в репозиториях Mageia), затем gitswitch.

 Консоль:

> gitswitch --help

Options:
--gf_token TEXT        Your GitFlic token.  [required]
--gh_token TEXT        Your GitHub token.  [required]
--clone_folder PATH    Directory where to download repositories.
--apply_private        Need to copy private repositories?
--apply_organisations  Need to copy organisations repositories?
--use_ssh              Use SSH mode to upload repositories.
--help                 Show this message and exit.


Получить токен GitHub: https://github.com/settings/tokens
Получить токен GitFlic: https://gitflic.ru/settings/oauth/token

Скрипт скопирует все необходимые репозитории в ./cloned-repos/<login>/<repo_name>, затем отправит их на GitFlic.

Исходники:
gitflic: https://pypi.org/project/gitflic/
GitSwitch: https://gitflic.ru/project/dbi471/git-switch

Примечание: В результате общения с поддержкой GitFlic выяснилось, что API находится в стадии разработки, но попробовать можно.


GitFlic-RPM на GitHub: https://github.com/AKotov-dev/GitFlic-RPM

MSI H81M-ECO, Intel Core i3-4130T, Intel HD Graphics 4400 | MgaRemix-9 Budgie 10.8.1 x86_64 + Windows 10