понедельник, 25 декабря 2023 г.

Особенности установки Koodo Reader в Ubuntu и Linux Mint

Установка читалки электронных книг Koodo Reader была обусловлена тем, что в имеющемся аналогичном ПО fbreader из источников приложений Linux Mint у меня не функционирует перелистывание страниц по клавише пробел, перелистывание возможно лишь клавишей "вниз". Другая читалка Foliate не непонятным причинам имела свойство часто притормаживать, а затем просто закрываться.

Предыдущий опыт установки Koodo Reader был признан неудачным в силу того, что в интерфейсе программы отсутствовало отображение настроек. Но вчера была найдена информация, что перед установкой Koodo Reader в Ubuntu и Ubuntu-подобных дистрибутивах необходимо установить компонент libappindicator3-1 (sudo apt install libappindicator3-1).

После установки libappindicator3-1 и запуска пакета deb проявился "сюрприз": gdebi сообщил, что установленные у меня autokey-gtk и transmission-gtk в процессе установки будут автоматически удалены. Справедливости ради следует отметить, что установленное ПО Koodo Reader запустилось без нареканий и настройки программы отобразились должным образом:


Так как, похоже, transmission и autokey версии gtk с Koodo Reader "не дружат", то при необходимости их использования установите их версии qt: 

sudo apt install autokey-qt transmission-qt

К слову, transmission-qt в диспетчере задач показал расход ресурсов, сопоставимый с его конкурентом qbittorrent. Поэтому, если если желание, то можно, не устанавливая transmission версии qt, сразу установить qbittorrent. 

🔰  Примечание. В системе остаются не удалёнными компонент transmission-common, а также данные, относящиеся к работе этого клиента. Их можно удалить одной командой:

sudo apt purge transmission-common && rm -Rf /home/user/.cache/transmission  && rm -Rf /home/user/.config/transmission

где user указывает на домашнюю папку пользователя. Вместо user указать свой логин.

Если в интерфейсе transmission-qt или qbittorrent у вас наблюдаются слишком большие буквы, то укажите наиболее подходящий для вас шрифт в настройках Qt5, например:


Если у вас не отображается значок qbittorrent на нижней панели, то отредактируйте файл environment (sudo xed /etc/environment), вписав в него строку:

export QT_QPA_PLATFORMTHEME=gtk2

вторник, 19 декабря 2023 г.

Boinc 7.20.5 в Linux Mint 21 (Ubuntu 22.04)

Результат установки и запуска имеющегося в комплекте поставки Linux Mint 21 (Ubuntu 22.04) ПО Boinc 7.18 может привести к лотерее: запустится, не запустится. Поиск в сети выдаёт информацию, что версия 7.18 является своего рода "сырой" и однозначного решения заставить её работать не существует. В одном из случаев даже пришлось запускать Boinc через wine.

Интересно, что на одном из форумов была найдена информация о существовании неофициального РРА для Boinc 7.20.5  Попробуем его установить и запустить.

sudo add-apt-repository -y ppa:costamagnagianfranco/boinc
sudo apt update 
sudo apt install -y boinc

Результат выполненная в терминале команды boincmgr выдаст, что BOINC не является активным, то есть ПО не запущено. Поскольку ситуация уже известная, то его можно запустить вручную и установить автоматический запуск службы boinc при старте системы. Как это сделать читайте здесь.

Далее возникает ситуация из области юмора.  😁 
Ожидание: вот оно, счастье то.
Реальность: а вот нет, снова опыт.


Но "счастье", всё-таки, существует. Потому что выполненная в терминале команда boincmgr выдаёт то, что и ожидалось, то есть должным образом функционирующее ПО.

В результате недолгих размышлений было принято решение предпринять попытку подправить команду запуска BOINC Manager в меню. Если имеется возможность отредактировать значок запуска в GUI, как, например, в xfce, то в строке "Рабочая папка" убираем запись /var/lib/boinc-client, то есть приводим эту строку к пустому значению.


Нажимаем кнопку сохранения внесённых изменений. Если увидите предупреждение типа указанного ниже, то не обращайте на него внимания и просто нажмите кнопку "Закрыть".


Проверьте теперь запуск BOINC Manager через меню. BOINC Manager должен отобразиться.

Если описанной возможности не имеется, то в своём домашнем каталоге ~/.local/share/applications создайте файл значка запуска boinc-manager.desktop с правом выполнения как программы и содержанием:

[Desktop Entry]
Version=1.1
Type=Application
Name=BOINC Manager
GenericName=BOINC monitor and control utility
Comment=Configure or monitor a BOINC core client
Icon=boincmgr
Exec=boincmgr
Actions=
Categories=GTK;Monitor;System;
Keywords=computation;science;

Любопытно, что в системе будет иметься 2 значка запуска BOINC Manager. Один расположен в папке /usr/share/applications, а второй – в вашем домашнем каталоге ~/.local/share/applications  Сравните их содержание. Можно заметить, что в значке запуска вашего домашнего каталога отсутствует строка  Path=/var/lib/boinc-client 

Бонусом к установленному из PPA Boinc 7.20.5 идут 5 обложек, посмотреть которые можно через "Вид – Обложка". Можно подобрать ту, которая вам понравится. У меня, например, такая:

пятница, 15 декабря 2023 г.

Исправление в Linux Mint 21 (Ubuntu 22.04) – systemd timesync не понимает серверы NTP от DHCP

В различных материалах, посвящённых синхронизации времени через systemd, можно найти утверждение, что если сервер DHCP выдаёт адрес сервера NTP, то время будет синхронизироваться именно по этому источнику, так как имеет приоритет над настройками в строках NTP= и FallbackNTP= конфигурационного файла /etc/systemd/timesyncd.conf  Это было отмечено как примечание в публикации "Переключение синхронизации времени в Linux Mint xfce на systemd" и это же утверждает русскоязычный источник interface31.ru 

К сожалению, лично у меня реальное состояние дел опровергло данное утверждение. Несмотря на то что сервер DHCP выдавал 2 адреса серверов NTP, синхронизация времени велась либо от серверов NTP в настройках файла  timesyncd.conf, либо от сервера ntp.ubuntu.com, когда данный файл был приведен в "исходное" состояние, которое он имеет после установки системы:

[Time]
#NTP=
#FallbackNTP=ntp.ubuntu.com
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048

Имеется два варианта "заставить" компьютер синхронизировать своё время от серверов NTP, адреса которых предоставляет сервер DHCP:

1) перевести синхронизацию времени с systemd на ntp (подробности);

2) использовать корректирующий скрипт. 

Корректирующий скрипт был найден на этом ресурсе.

Под правами root создаётся файл 10-update-timesyncd

sudo xed /etc/NetworkManager/dispatcher.d/10-update-timesyncd

с содержанием:

#! /usr/bin/bash
[ -n "$CONNECTION_UUID" ] || exit
INTERFACE=$1
ACTION=$2
case $ACTION in
    up | dhcp4-change | dhcp6-change)
        [ -n "$DHCP4_NTP_SERVERS" ] || exit
        mkdir -p /etc/systemd/timesyncd.conf.d/
        cat<<EOF > /etc/systemd/timesyncd.conf.d/$CONNECTION_UUID.conf
[Time]
NTP=$DHCP4_NTP_SERVERS
RootDistanceMaxSec=15
EOF
        systemctl restart systemd-timesyncd
       ;;
    down)
        rm -f /etc/systemd/timesyncd.conf.d/$CONNECTION_UUID.conf
        systemctl restart systemd-timesyncd
        ;;
esac

и установленным правом на выполнение (как программы).

После создания указанного файла в целях чистоты эксперимента перезагрузите систему.

При проведении проверки мой DHCP сервер (в локальной сети) предоставлял серверы NTP 194.158.196.171 и 194.158.196.172  При запросе состояния синхронизации времени  timedatectl timesync-status  был получен ответ:


Информацию о серверах NTP от DHCP systemd-timesync берёт из созданного файла /etc/systemd/timesyncd.conf.d/$CONNECTION_UUID.conf  
В моём случае это был файл  61ba6df5-3c5b-3075-8e05-993158de5fb4.conf с содержанием:

[Time]
NTP=194.158.196.171 194.158.196.172
RootDistanceMaxSec=15

Если необходимость в дальнейшей реализации такого решения отпала и нужно всё вернуть в исходное состояние, просто под правами root удалите как этот файл, так и созданный вами скрипт (см. выше).

Если у вас имеется свой локальный сервер NTP, то можно либо настроить перенаправление на него всех запросов по udp порт 123 (пример для MikroTik), либо в DNS создать псевдонимы для нужных серверов NTP. Если в DNS создать псевдоним для ntp.ubuntu.com, то даже при всех закомментированных строках файла timesyncd.conf своё время компьютер будет синхронизировать с локальным сервером NTP. Пример:

      Server: 192.168.224.81 (ntp.ubuntu.com)
Poll interval: 17min 4s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 3
    Reference: 1F82C802
    Precision: 123us (-13)
Root distance: 24.932ms (max: 5s)
       Offset: -13.038ms
        Delay: 412us
       Jitter: 5.028ms
 Packet count: 5
    Frequency: -45,227ppm

понедельник, 11 декабря 2023 г.

Клиент Filezilla – выключить отображение скрытых файлов и папок

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


Чтобы убрать отображение скрытых файлов и папок вызовите в верхнем меню "Вид – Фильтры построения списка каталогов" и установите галочку в полях "Configuration files. В результате испытаете "чувство глубокого удовлетворения" 😁 


пятница, 8 декабря 2023 г.

Кнопка запуска пакетной передачи папок и файлов через rclone

Цель: передавать данные (файлы и/или папки с файлами) на облачные ресурсы через rclone c помощью вызова кнопки запуска приложения.

Ожидаемый результат: все что расположено в специальной папке будет передано в выбранное облако, а исходные данные в папке передачи будут удалены.

Необходимые условия:
1) папка, откуда будут передаваться данные;
2) установленное и соответствующим образом настроенное ПО rclone;
3) сценарий для указания адреса передачи в синтаксисе rclone (скрипт bash);
4) сценарий запуска передачи (скрипт bash);
5) собственно сама кнопка запуска.

Сценарий для указания адреса передачи в синтаксисе rclone

#!/bin/bash
out=/tmp/to.txt # файл, в который будет записан адрес передачи
zenity --width=200 --title "Cloud" --text="Адрес в формате rclone:" --entry > $out
exit


Пример ввода адреса в формате rclone: ydn1:Audio
Если в адресе имеются вложенные папки, то, к примеру, ydn1:Audio/папка1/папка2 
Если адрес имеет пробелы, то вводимые данные берутся в кавычки: "адрес"

Сценарий запуска передачи (пример)

#!/bin/bash
/home/minter/Tools/scripts/modules/what-cloud.sh
rclone move --delete-empty-src-dirs --progress /home/minter/Документы/Send $(cat /tmp/to.txt)
exit

$(cat /tmp/to.txt) подставляет в строку команды считанное из файла /tmp/to.txt значение адреса передачи.

Строка move --delete-empty-src-dirs --progress указывает rclone, что должно быть осуществлено перемещение данных в облако (со всей иерархией папок), а оставшиеся после перемещения данных пустые папки должны быть удалены. При этом передача будет сопровождаться отображением хода процесса, например:


Кнопка запуска приложения

На рабочем столе создаётся значок запуска (xfce), либо кнопка запуска (Cinnamon), в которой указывается вызов сценария запуска (передачи), в параметрах которой указано выполнение в терминале. Созданный значок запуска (кнопку запуска) переместите в свою папку ~/.local/share/applications  Значок/кнопка запуска представляет из себя исполняемый файл .desktop, который можно редактировать в текстовом редакторе. Пример:

[Desktop Entry]
Version=1.0
Type=Application
Name=Upload
Comment=
Exec=/home/minter/Tools/scripts/modules/upload.sh
Icon=mintupload
Path=
Terminal=true
StartupNotify=false

По умолчанию, значок/кнопка запуска будет отображаться в категории "Прочее" (xfce) или "Прочие" (Cinnamon). Для указания другой категории добавьте в файл строку Categories= , в которой после знака равенства укажите необходимые значения. Например, для "Разработка" (xfce) или "Программирование" (Cinnamon) это будет иметь вид Categories=GTK;Development; , а для категории "Интернет" – Categories=Network;

Если надо, чтобы кнопка отображалась по-русски, то добавьте строку Name[ru]= и после знака равенства напишите русский текст, например, Передача файлов (без кавычек).

После успешного завершения процесса передачи окно терминала будет закрыто автоматически.

четверг, 7 декабря 2023 г.

Запуск Boinc в Wine

Запуск Boinc в Wine обусловлен ситуацией, при которой установленное из официального репозитория Linux Mint 21.2 ПО Boinc принципиально отказывается штатно функционировать. Ранее уже наблюдались проблемы с запуском Boinc в Linux Mint 21, но при установке Boinc на свежую систему Linux Mint 21.2 даже включение службы в автозапуск не даёт результата: всё сбрасывается в дамп.

Необходимость Boinc обусловлена невозможностью отключить автопарковку головок в "злочастном" винчестере Toshiba MQ01ABD050 (AX002K), к которому отсутствует необходимая утилита от производителя для выключения автопарковки в прошивке контроллера этого жёсткого диска. Если не добиваться выключения парковки, то значение параметра 193 SMART будет расти настолько быстрыми темпами, что за год-два интенсивной работы на компьютере может достигнуть значений в 300 тысяч, что уже может являться пределом жизненной стойкости механизма позиционирования головок диска.

Было принято решение попробовать запускать ПО Boinc через Wine. 

1. Устанавливается WineHQ по инструкции с сайта.

2. Скачивается и устанавливается ПО Boinc для Windows с сайта проекта Boinc

В секции Windows 64 bit имеется 2 варианта нужного ПО: Вownload BOINC + VirtualBox и просто Вownload BOINC (файл exe). Было выбрано второе, так как интересующий проект Boinc для своей работы не предъявляет требований к наличию ПО виртуальной среды. При запуске установки через Wine система установит нужный для работы ПО Boinc в Wine отсутствующий компонент Mono.

Запуск производится через главное меню, секция Wine – BOINC Manager. 



3. Далее необходимо включить BOINC в автозагрузку Linux. Это обусловлено тем, что процесс вычислений в Liknux при работе в Wine не начинается. Запуск работы производится именно через BOINC Manager, подтверждением чему служит то, что процесс boinc.exe запускается следующим образом:

C:\Program Files\BOINC\boinc.exe --redirectio --launched_by_manager

Файл .desktop, при вызове которого будет запущен BOINC Manager расположен не в корне папки пользователя ~/.local/share/applications, а вложен в дочерние папки:


Для автозапуска BOINC Manager при старте системы указанный на рисунке файл .desktop необходимо скопировать в папку пользователя ~/.config/autostart 



Только тогда запись BOINC Manager появится в списке загружаемого ПО при старте системы. Если использовать графическое окружение Cinnamon, то при этом можно установить и желаемую задержку автостарта (до 99 секунд), например:



После старта BOINC Manager (в Wine) можно нажать на крестик закрытия окна, после чего ПО будет работать в фоновом режиме с отображением значка на панели (на рисунке крайний слева):



Проект BOINC воспринимает такую реализацию как компьютер с Microsoft Windows. Отображаемая версия Windows берётся из настройки Wine (winecfg): Приложения – Версия Windows.  

Решение, конечно, "так себе", но времени разбираться с причинами невозможности работы штатного ПО Boinc времени не было. На многих сайтах говорится о том, что версия 7.18, которая используется в Ubuntu 22.04 (Linux Mint 21) является "сырой" или частично работоспособной. Установка предыдущей версии 7.16 в системе может оказаться невозможной, а версия 7.20 может появиться в официальных источниках приложений, а может и не появиться вплоть до следующего релиза ОС. Так что пока вот так. Может кому и пригодится.

По большому счёту пора бы и заменить этот упоминаемый в самом начале винчестер на что-либо другое, но покупка SSD аналогичной ёмкости в ближайшее время не планируется. Системный блок представляет из себя мини-бокс в безвентиляторном исполнении, АКБ отсутствует. Так что он больше относится к стационарному системному блоку, несмотря на ноутбучные комплектующие.

📗  Примечание. Как вариант, можно попробовать Boinc 7.20.5 из неофициального PPA.