LINUX.ORG.RU

Сообщения kirill_rrr

 

Всплывающие уведомления в kde6

Кде 6.3, вайланд, Арч Линукс.

Обнаружил что audacious не может показывать всплывающие уведомления с песней. Systemsettings в настройках уведомлений требует виджета в панели, но это слишком тупо и жирно.

Кде6/вайланд умеет всплывающие уведомления, или придётся забыть про них?

 kde6,

kirill_rrr
()

Не применяются переменные при входе через su

В данный момент меня интересует переменная $EDITOR прописанная в /etc/environment, необходимая (хз с каких пор) для работы mc. Нормальное применение для обычного юзера и для root в консоли, но при входе как root через su -. Единственное что нагуглил - опция -m, которая не совместима с опцией -, без которой вероятно также полезут проблемы.

Как вернуть нормальное поведение su с применением переменных и без дополнительных портянок при логине?

 , ,

kirill_rrr
()

С кем я там срался полгода назад по поводу dpkg vs pacman?

liksys, с тобой точно срался!

Так вот, просидев 2 суток за установкой и настройкой Арча заявляю - система максимально примитивная, со Слакой не знаком, на ум приходит только Void. Лучше бы я Генту разворачивал - там по крайней мере после десятка понятных команд ты получаешь готовую и работоспособную систему! И ещё у них документация на две головы подробней. И довольно мало тупой обезьяней работы по ручному созданию дефолтных конфигов на пустом месте.

И по поводу конкретно пакетного менеджера: возможно код там и чище, возможно скорость действителньо на порядок лучше, возможно даже все возможности dpgk в пакмане и поддерживаются... Но ПЦ, как же отстойно всё организовано! Вот реавльно, 2 дня, а мне до сих пор нужна справка чтобы не перепутать нелогичные комбинации ключей на базовые действия. И никакого тебе aptitude или чего то сопоставимого, хотя сам пакетник как будто создан для создания сторонних пакетников! Короче пакман это для скриптов и роботов, а dpkg это для людей.

И самое главное - надёжность! Мог ли я предположить, что в официальном руководстве дебиана будет рекомендация сначала прочитать новости, убедиться что там не сказано о косяках обновления, требующих ручного разрешения, и что ещё крайне желательно перед обновлением сделать бэкап... И далее длинный список неочевидных опций, которые нельзя использовать потому что иначе пакман самосломается или убьёт систему. Нет уж, пусть лучше dpkg хоть в 100 раз дольше в последовательном режиме выполняет все эти проверки, перепроверки и защиты от дурака.

Ещё в список претензий надо добавить ставшие реглярными разрывы при скачивании пакетов, требующие ручного перезапуска. apt-get намного более настойчив и умеет докачивать в явном виде.

 , , ,

kirill_rrr
()

Raspberry Pi 1B + официальный 7" тачскрин 800х480

Пытаюсь запустить данную комбинацию, но фиг там. С малинками 3 и 4 монитор работает как надо, с первой не запускается. В теории достаточно прописать в конфиг опции ignore_lcd=0 и display_auto_detect=1, ну и смириться с тем что тачскрин не будет работать без отдельного юсб-кабеля. На практике перепробовал все найденные и интернете рецепты (прямо скажем не густо) и перечитал доступные опции конфига - ничего относящегося к делу и работающего не нашёл.

Предполагаю что дело всё таки в комбинации параметров config.txt, какая нибудь неочевидная недокментированная зависимость. Кто нибудь запускал этот экран с платой 1-й версии? Есть рабочий конфиг?

 ,

kirill_rrr
()

TTS в онтопике.

Задался вопросом, а можно ли в 2025 году взять кусок книги/статьи/новости и попросить какую нибудь софтину зачитать его. Вроде бы уже пора...

На андроиде вопрос через жопу, но решается. А вот на линуксе вроде как по умолчанию рекомендуется Festival, но он же фактически неработоспособен! Говорить то вроде как умеет, но что это за идиотская политика вываливаться на каждом непонятном символе или английском слове или вообще знаке препинания? Быстрее самом начитать текст голосом чем отформатировать его в читаемую Фестивалем форму.

Есть какие то утилиты, способные переваривать произвольные новосные статьи с кучей англицизмов и аббривиатур и длинные книги? Желательно чтобы можно было запустить на Распберри Пи 4гб без видеокарты.

 

kirill_rrr
()

Перезапуск kwin по таймеру.

Raspberry Pi 4, lxqt, kwin_x11. Разумеетсся глюкодром, но более-менее функциональный и довольно удобный. Отказываться от Kwin пока не собираюсь.

Проблема: утечка разделяемой памяти в kwin_x11 порядка 300-500Мб в сутки. Решение: ну перезапустить раз в сутки и не париться. Желательно автоматом.

Настоящая проблема: перезапускать надо вручную или из терминала, или из запускалки.

Если воспользоваться cron'ом, то композитор просто не увидит нужного сеанса.

Если использовать xterm -e (или скрипт с xterm -e, или любой другой эмулятор терминала) - увидит, перезапустится, но при закрытии терминала все потомки будут убиты несмотря на то, что при ручной подаче команды с обыным '&' этого не происходит.

Если откреплять композитор с помощью nohup например из скрипта - всё как бы работает, но kwin запускается с дефолтными настройками (нахрен он в таком режиме нужен?), причём только если запускать его скриптом из хрона (вручную всё ОК).

Есть идеи как организовать автоматический перезапуск внутри сеанса без потери настроек? Крайне желательно чтобы это было лучше самодельного фонового скрипта типа while do; sleep 12h; kwin_x11 --replace; done. Желательно чтобы это был cron или хрен с ним, системд, а не какой нибудь дополнительный висящий процесс.

 , , , ,

kirill_rrr
()

Как ускорить и распаралелить qemu на arm?

Учусь запускать старые игрушки в виртуалке на распбери Пи4-ноуте. Крайне желательно в кроссплатформенном и универсальном варианте одна-игра-на-виртуалку, чтобы таскать её по любым компам. Т.е. qemu, других с той же универсальностью не знаю. Целевые игры: homm 2/3, Pharaon, Planscape: Tourment.

Принципиально проблема решаема, люди игрались на смартфонах с ядрами вплоть до cortex-a53. А у меня -а72, но винХР устанавлвается по 3 суток с зависаними из за слишком низкой производительности. dosbox тоже удручает до «почти можно играть в doom».

Очевидно что то не так со сборкой/настройками qemu. Пока что не смог нащупать ничего принципиально более быстрого, всё в преелах ~20% от типа цпу.

Эмуляция нескольких ядер идёт в 1 поток и роняет производитеьность ещё сильнее. Хотя с 2015 года в теории в qemu входит многопоточный MTTCG, но он отказывается включаться для х86 виртулок. Хотя есть андроидовые обёртки над qemu, которые ~5 лет назад запускали на смартфонах винду и задействовали для этого несколько ядер.

 ,

kirill_rrr
()

Проблемы с повышением приоритета процесса.

В процессе разборок с найсом ( Когда nice не работает и процессы НЕвежливые ) выяснилось, что по какой то причине невозможно поднять приоритет процесса выше, чем он был при запуске. Циферки nice уходят в минус, процесс начинает порождать высокоприоритетных потомков, но сам не получает положенной ему доли ЦПУ.

Кто нибудь знает в чём дело и как починить? Желательно без участия cgroups.

 

kirill_rrr
()

Слишком много free памяти

Raspberry Pi 4 4Gb, Raspbian, ядро 6.1

Наконец то нагрузил его более-менее серьёзно и заметил странную вещь: система очень упорно держит абсурдно много памяти свободной.

rrr@raspberrypi:/media/files $ free -m
               total        used        free      shared  buff/cache   available
Mem:            3794        1969         671         788        1152         431
Swap:          38145        2898       35247

Тюнинг памяти:

echo z3fold > /sys/module/zswap/parameters/zpool
echo 25 > /sys/module/zswap/parameters/max_pool_percent
echo 1 > /sys/module/zswap/parameters/enabled
echo 64 > /proc/sys/vm/page-cluster
echo 100 > /proc/sys/vm/swappiness
echo 500 > /proc/sys/vm/watermark_scale_factor
echo 32768 > /proc/sys/vm/min_free_kbytes

Также подключена tmpfs в /tmp и туда вынесены временные файлы пользователя, как минимум кеш браузера, миниатюр и qml.

Насколько я знаю, free-память это не всякие кеши и буферы, не tmpfs, не zswap. До сих пр я не встречался с ситуациями, когда +-15-20% памяти простаивает в холостую во время дефицита - кроме одного раза, когда cgrops_mem позволял пользователю использовать в сеансе не более 50%, но даже там память использовалась под дисковый кеш. При открытии новых вкладок браузера система удерживает свободными от 480М до 800М. При создании крупного файла в /tmp показатель free кратковременно снижается, но затем память откачивается до того же уровня.

Ядро 6.1 перешло на cgrops v2, и я вроде как не вижу там управления памятью (для v1 я его всегда отключал), но возможно я просто не знаю куда смотреть. Но вообще по ощущениям похоже на какой то лимит со стороны cgrops.

Что это мжет быть? Свопинг конечно мягкий, но он чувствуется и кажется могло бы работать ещё лучше на эти самые 300-500М.

 , ,

kirill_rrr
()

Отключить UAS для всех юсб-усройств.

Воюю с неприятным багом ЮСБ3 на Raspberry Pi 4.

Суть в том, что при активном i/o всё падает и помогает только ребут. Планы А и Б уже не помогли, план С состоит в том, чтобы отклчить UAS и это вроде как длжо помочь. Проблема - отключать его надо пераметром ядра при загрузке, причём для каждого конкретного устройства по его идентификаторам.

Нагуглил предложение вписать в строку параметров ядра usbcore.quirks=usb-storage:uas, но это не помогло (в смысле UAS не отключен).

Кто нибудь в курсе как это работает и отключается?

 , uas,

kirill_rrr
()

Alt Linux и aptitude

Пробую на вкус Alt на Raspberry Pi 4. Есть много странностей, но начать надо с пакетника.

Synaptic не умеет продвинутого разрешения зависимостей и чистки мусора, сидеть на чистом apt-get не интересно, но есть же лучший ПМ, aptitude!

Который вроде бы всё может, но почему то отказывается реагировать на большую часть команд, например g (применить изменения), или оно же, но через меню Ctrl+T. По сути не проходит ни одна операция с пакетами!

 , ,

kirill_rrr
()

Настройка времени и косяки systemd

Тихо и незаметно подкрался ещё один косяк. С тех пор, когда я последний раз настраивал дуалбут, управление временем было передано в systemd, а эти обладатели мудрых фасеточных глаз по какой то причине решили, что при синхронизации времени через ntp не требуется переводить аппаратные часы. Так я узнал, что Local time и RTC time это отдельные понятия и всегда были.

За возвращение нормального поведения в теории должна отвечать timedatectl set-local-rtc 0 с опцией --adjust-system-clock, только это не работает. Другой полезной информации найти не удалось - яндекс упорно предлагает интрукции по настройке systemd-tymesyncd.

Перемещено hobbit из general

 , ,

kirill_rrr
()

Raspberry Pi 4 и Wi-Fi

Запаковал таки Пи4 в самодельный корпус вместе с переферией и питанием, при запуске понял что не предусмотрел 2 маленькие детальки: во первых заблокировал доступ к эзернет-порту (это другой вопрос, не трогаем), а во вторых - сигнал wifi в горизонтальной плоскости напрочь забит то ли помехами, то ли окружающими устройствами.

Теореически сигнал роутера ловится если поставить корпус на бок перпендикулярно направлению на роутер, вот только корпус в форм-факторе ноутбука и это абсолютно нерабочее положение. Повернуть или вынести саму плату тоже не вариант.

Также вспомнился случай, когда я прикручивал Пи4 к официальному 7" тачскрину от Распберри - эффект был аналогичный, wifi забит наглухо - энергоэффективной мобильной торрентокачалки не получилось. Кажется терять связь в любой непонятной ситуации у этой пародии на антену хроническое. А ведь txpower заявлен на уровне 30дбм!

Есть 2 очевидных способа решения проблемы: внешний usb-wifi с антеной (будет планом-Б, у меня уже заняты все 4 порта) и инструкция по модификации https://www.youtube.com/watch?v=MTwWnZG8wUY которая кажется мне довольно трудно реализуемой и рискованной. Других инструкций по модификации антены Пи4 я не встретил (Для Пи3 есть сразу 2 варианта, причём они проще).

Собственно вопросы: Есть ли какие нибудь ещё варианты и чем грозит для платы неудачная попытка пайки по этому варианту? Сгорит всё, или просто останусь с и так нерабочим wifi-модулем?

 , , модификации

kirill_rrr
()

bash, ffmpeg, какой-то трындец и непонятки

Как то давно я написал себе скрипт-конвертер мультимедийных файлов, всё как положено, многопоточный с контролем потоков, с рекурсивным сбором из папки, и давно им пользуюсь иногда внося изменения. Он отлично работает на RPi3 с дебиан8 и ffmpeg 3.4. Но вот я решил ускорить кодирование сериала на нескольких машинах, отдал один сезон RPi3 а второй попробовал кодировать на других компах с помощью самбы. И на них начался трешак и падения в части многопоточности - 1-2 файла отправлялись на кодирование, медленная работа из за того, что ffmpeg срёт ошибками (вывод подавлен, но он это делает и вешает себе главный поток), и обрыв собственно скрипта-распределителя потоков.

Вот скрипт. Общий принцип: чистка мусора, подготовка рабочей папки, затем создание скрипта-модуля convert.bash, который принимает данные о кодируемом файле и дёргает собственно ffmpeg. В коде convert.bash захардкожена строка команды. Затем собираерся рекурсивный список файлов в папке и для него начинает крутиться цикл while read со встроенными замедлителями потоков через файлы блокировки. При запуске convert.bash файл-блокировка создаётся, а затем convert.bash его удаляет когда ffmpeg закончит работу. Обратите внимание: в нормальном состоянии вывод ffmpeg подавлен через > /dev/null 2>&1, но я его отключал для диагностики - на поведение и на глюк не влияет.

#!/bin/bash
CORE="1" # Создавать потоков

if [ "$1" = "-h" ]; then
echo 'Использование: paket_convert.bash <каталог для поиска файлов> <каталог для помещения результатов>'
echo 'Задействовано потоков: '"$CORE"
exit 0
fi

rm -R /tmp/ffmpeg/
rm /tmp/convert.bash
mkdir /tmp/ffmpeg/
id='1' # Начальный индекс файла
cd "$1"
mkdir "$2"
ALL=$( find -P ./ -type f | wc -l )

	# Создание второстепенного скрипта /tmp/convert.bash
	# $1 - id файла. $2 - путь к папке, куда надо положить результат. Файлы блокировок расположены в /tmp/ffmpeg/, имя = id, содержится строка с отн. адресом файла на перекодирование.
echo 'ALL=$( find -P ./ -type f | wc -l )' >> /tmp/convert.bash
echo 'FILE=$( cat /tmp/ffmpeg/$1 )' >> /tmp/convert.bash
echo 'DIR=${FILE%/*}' >> /tmp/convert.bash
echo 'LONG_DIR=${#DIR}+1' >> /tmp/convert.bash
echo 'NAME=${FILE:LONG_DIR}' >> /tmp/convert.bash
echo 'FILENAME=${NAME%.*}' >> /tmp/convert.bash

#
# здесь всякие варианты строк ffmpeg на все случаи жизни
#
echo 'ffmpeg -i "$FILE" -map 0:0 -map 0:1 -s 634x360 -acodec copy -vcodec libx264 -profile high -level 42 -qmax 22 "$2"/"$FILENAME".mp4 > /dev/null 2>&1' >> /tmp/convert.bash


echo 'rm /tmp/ffmpeg/"$1"' >> /tmp/convert.bash
echo 'echo $1 из $ALL завершено' >> /tmp/convert.bash
chmod +x /tmp/convert.bash
	# Конец создания второстепенного скрипта

# Начинаю крутить цикл
		find -P ./ -type f | while read FILE
		do
while [ $( ls -1A /tmp/ffmpeg | wc -l ) -ge "$CORE" ]; do
	sleep 20
done

echo "$FILE" >> /tmp/ffmpeg/"$id"
/tmp/convert.bash "$id" "$2" &
echo $id'/'$ALL" кодируется ""$FILE"
let id++
sleep 2
		done

# жду завершения задач
while [ $( ls -1A /tmp/ffmpeg | wc -l ) -gt "0" ]; do
	sleep 3
done

Собственно что произошло на компах с 10 и 11 дебианом и ffmpeg 4.1 и ещё каким то: в выводе ffmpeg начинают появляться ошибки о неправильных фреймах, битых данных, между ними проскакивают сообщения вида «кусок_имени_реально_существующего_файла не найден» ну и собственно куски имён. Через примерно минуту (2-3 цикла ожидания) основной скрипт наворачивается и перестаёт корректно считать потоки - запускает копии sleep, но не запускает convert.bash. После переборки определённого числа обрубков имён - заканчивает список и ждёт завершения задач.

Метод научного тыка показал, что в этом процессе ключевым является наличие в convert.bash строки ffmpeg -i "$FILE" {какие нибудь операции} "$2"/"$FILENAME".mp4. Самба/реальная ФС - не важно. 1 или много потоков - не важно. Аудио или видео - не важно. Кодек copy или реальное перекодирование - не важно. Наличие спецсимволов или пробелов в именах и путях - не важно.
В отрыве от ffmpeg все компоненты отрабатывают корректно, списки полные, имена целые, файлы-блокировки ставятся и удаляются, потоки считаются верно. Если оставить только ffmpeg -i "$FILE" без выходного файла - косяк не проявляется. Если вместо ffmpeg файлы дёргаются другими программами, например ffplay или vlc, или cp "$FILE" "$2"/"$FILENAME".mp4 - косяк не проявляется.

И самое интересное: изолирование ffmpeg в convert.bash в отдельном терминал командой xterm -e ffmpeg -i "$FILE" -acodec copy "$2"/"$FILENAME".mp4 вроде бы решает проблему! Но это же какой то хаос и трындец. было бы неплохо понять WTF тут происходит.

Перемещено hobbit из general

 , ,

kirill_rrr
()

Dolphin спамит процессы thumbnail.so

Собственно дельфин в lxde/qt5ct, дебиан 10.

Разумеется миниатюры, но не всегда они могут строиться удачно и тогда копии thumbnail.so остаются висеть в памяти и никто не занимается их чисткой. Лишняя полсотня процессов по определению лишняя, а иногда это стадо может занимаь существенный объём оперативки, так что вопросом надо как то заняться.

Наблюдается ли пробема у других пользователей дельфина? В том числе в КДЕ? Известен ли какой то выключатель, или придётся таки запустить сборку мусора через хрон?

 ,

kirill_rrr
()

lvm, чего ждать при сбоях и что потом делать?

Задача простая: объединить несколько дисков в одно блочное устройство, забить файлопомойкой на ехт4. Никаких сложных конфигураций raid, никаких снапшотов и всяких быстрых кешей и прочего.

Но что произойдёт когда диски начнут отваливаться? Будет ли ФС так же легко восстанавливаться как и на обычном диске? Как будет выглядеть переподключение логического тома на горячую, без перезагрузки системы?

З.Ы. Яндекс вываливает много всяких странных и сложных случаев, а простых вариантов как будто никто не описывал. Хотелось бы заранее знать что меня ждёт прежде чем я солью 2 терабайтника в одну кучу.

З.З.Ы. И сопутствующий вопрос: а как оно будет выглядеть если решить вопрос через btrfs? Я где то читал что она сама по себе может занимать сразу несколько дисков.

 ,

kirill_rrr
()

Лайки на лоре

В связи с тихим и незаметным их появлением...

* Нужно
* Пусть будут, но нужен выключатель
* Зло

Перемещено hobbit из polls

 лайки

kirill_rrr
()

Dolphin в отрыве

Собираю окружение на базе lxqt, Дельфин в роли файлового менеджера. Остаётся последний косяк: не работает настройка ассоциации типа файлов, очевидно из за отсутствующего куска КДЕ. В консоль ошибку не светит.

Кто нибудь знает что именно нужно установить чтобы не тянуть всё кде?

 , ,

kirill_rrr
()

Ограничение скорости сети

Предыстория: в связи с войной бобра с ослом по всему миру я внезапно обнаружил, что ютуб/youtube-dl перестал быть универсальным и надёжным источником видео. Большинство альтернативных ресурсов активно сопротивляются скачиванию, а веб-плееры работают как {много нецензурных выражений}... Короче плохо.

Но главная проблема для меня в том, что я вынужден экономить трафик, что невозможно при использовании веб-плеера потому что прежде чем я мог бы выбрать низкое качество или получить ссылку на видео для скачивания оно успевает выкачать пару сотен Мб, которые тут же будут отброшены. А некоторые особо упоротые плееры вообще игнорируют настройку качества и продолжают тянуть 1 Мб/с даже если указать 240р.

Предполагаемый костыль: занизить скорость сети до ~20-50Кбайт/с, сделать что нужно и снизить оверхед до 1-10Мб. Потом или выкачать видео или снять ограничение и спокойно досмотреть в браузере.

Проблема: найденные мной инструкции предполагают использование traffic controll и скриптов над ним, а оно отбрасывает входящие пакеты, что может и работает в большинстве случаев, но вот с веб-плеерами приводит к зависанию загрузки с вероятностью 90+% до получения работоспособной страницы. Схема сети: смартфон с симкой (кнопочник, андроид4) и режим модема через юсб или wifi.

Собственно вопрос: альтернативные способы ограничения скорости сети без отбрасывания пакетов и разрыва соединений из за этого?

 , ,

kirill_rrr
()

Взаимодействие GTK3 с gpu

Дебиан 11, ядро 5.10, nouveau, gf9200m, 256М видеопамяти, поддержка блоба прекращена. Имеется критический баг, не позволяющий работать: запуск браузеров (firefox+vivaldi одновременно, или один из них с несколькими окнами и вкладками) приводит к полному зависанию графики. 2 бразуера вешают всё быстро и наверняка, обычная работа в 1 из них - не сразу, но в перспективе 1-2 часов наверняка. Симптомы напоминают зависание видеодрайвера или исчерпание видеопамяти. WM и его режимы значения не имеют.

Собственно каки боком здесь gtk3: на дебиан10 в примерно той же конфигурации софта, только с более старыми версиями можно словить тот же висяк если установить какую нибудь тему гтк3, значительно отличающуюся от адвайты и начать долго гонять браузеры (что хромоклоны, что фокс сейчас на гтк3).

Есть предположение, что гтк3 что то отрисовывает с использованием видеокарты и способствует падению. Соответственно вопрос: если я прав насчёт использования гпу, то есть ли там какой то выключатель, чтобы перевести её на софтовый рендер и исключить её из уравнения?

 , ,

kirill_rrr
()

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