LINUX.ORG.RU

Сообщения Mapper720

 

Buildiso не работает (error: failed retrieving file 'extra.db' from mirror.easyname.at : Connection timed out)

Форум — General

Пытаюсь собрать собственную сборку Manjaro, руководствуясь этой статьёй.

Запускаю buildiso -p generic-oem-xfce. Дальше происходит следующее:

...
  en_US.UTF-8... done
Generation complete.
 --> Restoring [/var/lib/manjaro-tools/buildiso/generic-oem-xfce/x86_64/rootfs/etc/pacman.conf] ...
  -> Configuring lsb-release
  -> Cleaning [rootfs]
==> Done [Base installation] (rootfs)
 --> Loading Packages: [Packages-Desktop] ...
==> Prepare [Desktop installation] (desktopfs)
 --> overlayfs mount: [/var/lib/manjaro-tools/buildiso/generic-oem-xfce/x86_64/desktopfs]
 --> mirror: https://mirror.easyname.at/manjaro/stable/$repo/$arch
==> Creating install root at /var/lib/manjaro-tools/buildiso/generic-oem-xfce/x86_64/desktopfs
  -> Installing packages to /var/lib/manjaro-tools/buildiso/generic-oem-xfce/x86_64/desktopfs
:: Synchronizing package databases...
 core                                           148,9 KiB   398 KiB/s 00:00 [###########################################] 100%
 extra.db failed to download
 multilib                                       145,3 KiB   335 KiB/s 00:00 [###########################################] 100%
error: failed retrieving file 'extra.db' from mirror.easyname.at : Connection timed out after 10002 milliseconds
error: failed to synchronize all databases (download library error)
==> ERROR: Failed to install packages to new root
==> ERROR: Failed to install all packages
==> ERROR: A failure occurred in make_image_desktop().
    Aborting...
 --> overlayfs umount: [/var/lib/manjaro-tools/buildiso/generic-oem-xfce/x86_64/desktopfs]
 --> umount overlayfs: [/var/lib/manjaro-tools/buildiso/generic-oem-xfce/x86_64/desktopfs]

Полный лог здесь.

С какого перепугу buildiso вообще лезет к mirror.easyname.at - учитывая, что сервер аж австрийский - непонятно. Сколько ни пытайся генерировать-перегенерировать списки зеркал - всё бесполезно, я даже grep’ом выполнял поиск, чтобы убедиться, что ни в одном системном файле нет «mirror.easyname.at». Всё равно будет «failed retrieving file ‘extra.db’ from mirror.easyname.at», иногда в самом начале сборки, иногда спустя 5-7 минут.

ИЧСХ, через браузер mirror.easyname.at прекрасно открывается. Возможно, в нём отсутствует какой-то конкретный пакет, но тогда непонятно, какой именно и как его всё-таки установить.

Гугл молчит, статья на Manjaro wiki тоже делает вид, что ничего подобного быть не может.

Куда копать?

 , ,

Mapper720
()

buildiso завершается с ошибкой invalid symlink: '/usr/lib/libnss_files.so.2

Форум — Linux-install

Пытаюсь собрать собственную сборку Manjaro. Действую по инструкции, описанной здесь.

При запуске buildiso -p xfce сперва всё идёт нормально, но заканчивается всегда одинаково:

==> Creating updated database file '/var/lib/manjaro-tools/buildiso/xfce/x86_64/mhwdfs/opt/mhwd/pkg/mhwd.db.tar.gz'
 --> Configuring mhwd db ...
  -> Disabling rt3562sta driver
  -> Disabling r8168 driver
 --> overlayfs umount: [/var/lib/manjaro-tools/buildiso/xfce/x86_64/mhwdfs]
 --> umount overlayfs: [/var/lib/manjaro-tools/buildiso/xfce/x86_64/mhwdfs]
  -> Cleaning [mhwdfs]
==> Done [drivers repository] (mhwdfs)
==> Prepare [/iso/boot]
 --> overlayfs mount: [/var/lib/manjaro-tools/buildiso/xfce/x86_64/bootfs]
  -> Copying initcpio ...
==> Starting build: '5.10.240-2-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [miso_shutdown]
  -> Running build hook: [miso]
  -> Running build hook: [miso_loop_mnt]
  -> Running build hook: [miso_pxe_common]
==> WARNING: Possibly missing firmware for module: 'softing_cs'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'mlxsw_spectrum'
==> WARNING: Possibly missing firmware for module: 'liquidio'
==> WARNING: Possibly missing firmware for module: 'nfp'
==> WARNING: Possibly missing firmware for module: 'bna'
==> ERROR: invalid symlink: '/usr/lib/libnss_files.so.2'
==> ERROR: invalid symlink: '/usr/lib/libnss_dns.so.2'

Если на этом не прервать сборку - iso-файл соберётся, но грузиться не будет (проверено).

Ошибка практически не гуглится. Где-то была рекомендация:

sudo mv /usr/lib/libnss_dns.so.2 /usr/lib/libnss_dns.so
sudo ln -sf /usr/lib/libnss_dns.so /usr/lib/libnss_dns.so.2

sudo mv /usr/lib/libnss_files.so.2 /usr/lib/libnss_files.so
sudo ln -sf /usr/lib/libnss_files.so /usr/lib/libnss_files.so.2

Не помогло.

Есть идеи, как исправить?

PS. Полный лог buildiso: https://paste.manjaro.ru/view/902792a4

 ,

Mapper720
()

Нормальная температура жёсткого диска

Форум — General

Приобрёл жёсткий диск WD Red на 6 тб. Поместил его в USB-бокс (пластиковый), подключил, отформатировал в Ext4 - работает, по крайней мере, файловый менеджер его видит. В ближайшее время хочу проверить на бэдблоки, но пока этого не делал.

Смущает температура. После включения она была 24°C, потом постепенно (за пару-тройку часов) поднялась до 39°C - и это, заметим, без какой-либо нагрузки ВООБЩЕ.

Вроде как температура 35-40°C считается оптимальной. Также стоит учесть, что диск помещён внутрь пластикового бокса (снизу есть вентиляционное отверстие, но вряд ли оно само по себе, без активного охлаждения, играет большую роль). Можно было бы температуру списать на этот бокс, но есть одно の: к ПК подключено ещё несколько HDD, чья температура существенно ниже.

  1. Диск внутри системника (WD Blue, 2Tb) - всего лишь 30°C. По крайней мере, без нагрузки.

  2. Внеший HDD (Asus, 2 тб, в противоударном прорезиненном и водонепроницаемом корпусе) - 29°C (несмотря на оный корпус). При просмотре с него FullHD видео температура поднимается до 33°C.

  3. ещё один WD, на сей раз Red, на 1 тб, тоже в пластиковом USB-боксе - 36°C (без нагрузки).

То есть получается, что температура в «оптимальном» диапазоне, но до неоптимального ей один шаг. К тому же она заметно отличается от всех остальных подключенных дисков. Особенно это обращает на себя внимание с учётом того, что автор одного из отзывов на сайте ситилинка писал, что «диск холодный», и даже под нагрузкой ни разу температура не превышала у него 39°C. А у меня, получается, 39°C без какой-либо нагрузки. Интересно, что будет, когда я запущу какой-нибудь текст, вроде badblocks? У меня есть вентилятор, специально предназначенный для охлаждения подобной электроники, но не уверен, что даже он удержит температуру в диапазоне до 45°C, если даже в простое она 39.

Понятно, что закрытый пластиковый бокс на охлаждение влияет, но рядом лежит точно такой же диск (разве только ёмкость меньше) в точно таком же боксе - и он заметно холоднее (36°C против 39°C).

ChatGPT уверяет, что всё в норме, а то, что один WD Red горячее другого WD Red, связано с большей ёмкостью. Но можно ли ему доверять в этом вопросе - неясно.

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

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

ЗЫ. Вывод команды sudo smartctl -A -d sat /dev/sde. Вроде ничего подозрительного.

smartctl 7.5 2025-04-30 r5714 [x86_64-linux-6.12.34-1-MANJARO] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   253   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   225   225   021    Pre-fail  Always       -       3725
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       8
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   100   253   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       10
 10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       5
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       0
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       11
194 Temperature_Celsius     0x0022   121   109   000    Old_age   Always       -       29
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0

 , ,

Mapper720
()

Как создать загрузочный iso из уже установленной и настроенной Manjaro?

Форум — Desktop

Я установил Manjaro XFCE. Обновил. Через pacman -S и yay -S доустановил нужные пакеты. Всё настроил, в том числе расположение панелей и их содержимое, темы оформления, шрифты и прочее, настройки чего хранятся в /home..

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

Ещё раз. В итоговый iso должны войти

  1. сама ОС;
  2. все программы, установленные мной через pacman/yay
  3. Всё содержимое /home
  4. В остальном это должна быть обычная установочная флешка с Manjaro.

ВСЁ СИЕ ДОЛЖНО УСТАНАВЛИВАТЬСЯ БЕЗ ИНТЕРНЕТА! Это важно. Смысл затеи именно в том, чтоб иметь образ, который позволит установить систему со всеми необходимыми мне пакетами, при отсутствии возможности подключиться к интернету.

Какие есть способы это сделать? Какие простые, какие продвинутые? Плюсы и минусы каждого?

ЗЫ. Нейросети много говорили про manjaro-tools, но не знаю, может ли доверять этим ответам. В частности, позволит ли этот manjaro-tools вшить в образ заранее скачанные пакеты (а не составить список пакетов, которые будет автоматически качать при установке) и содержимое /home.

 , , ,

Mapper720
()

Нужен совет по созданию макроса в LibreOffice

Форум — Development

Представим, что у меня есть строка вида

[私.watashi]はペンギンです

Нужно сделать так, чтоб она превратилась в

私はペンギンです,

причём над первым знаком должна быть подпись «watashi».

https://imgur.com/a/31DQlJ4

Вообще делается это просто: Формат - Фонетическое руководство (Азия). Дальше нужно только ввести подпись и указать выравнивание по центру.

https://imgur.com/lVqKvOp

Но как быть, если у меня сотни такого текста и вручную всё сие проделывать придётся до Второго пришествия?

Пришлось впервые в жизни задуматься о макросах, но в них ничего не смыслю. Пробовал посмотреть уроки на ютубе - всё фигня какая-то попадается, на уровне "запусти макрос - выскочит окошко «hello world».

Кто-нибудь может дать дельные советы? Желательно, чтоб макрос писался на Python, ибо по нему есть хоть какие-то базовые знания.

 , ,

Mapper720
()

Не запускается Steam (бесконечный экран загрузки)

Форум — Games

Ещё пару недель назад стим запускался без проблем. Железо с тех пор не поменялось никак. А сегодня его запустить не получилось - бесконечный экран загрузки: https://i.redd.it/fwhr0ommda6c1.png

Пробовал удалять и переустанавливать, из официальных репозиториев и из flatpak. Не помогло.

Пробовал удалять папку .steam и аналогичные папки в .cache и .local - не помогло.

С помощью Timeshift откатил систему до состояния «только что после установки и настройки» - всё та же бесконечная загрузка. Хотя на момент создания этой контрольной точки всё работало прекрасно.

С видеодровами всё в порядке: Blender на GPU отлично рендерит.

Полный вывод консоли здесь: https://pastebin.com/ZKHjmxFR

Что происходит?

OS - Manjaro

Update: вот здесь описание точно такой же проблемы: https://github.com/ValveSoftware/steam-for-linux/issues/8859

Разница лишь в том, что на https://store.steampowered.com/ я залогинился без проблем.

 ,

Mapper720
()

Левая кнопка мыши отключается при работе с графическим планшетом

Форум — General

Уже некоторое время замечаю странное явление: спустя некоторое время работы с графическим планшетом (XP-PEN) перестаёт работать левая кнопка мыши. Курсор двигается, ПКМ срабатывает, как надо, клавиатура тоже работает. Ничего не зависает. Просто клик ЛКМ не производит никакого эффекта, независимо от того, куда именно кликаешь.

Помогает переход в текстовый режим (Ctrl Alt F1) и немедленный возврат обратно в графический (Ctrl Alt F7). Но помогает совсем ненадолго, потом снова ЛКМ перестаёт работать.

Перезапуск xfce4-panel вроде результата не дает.

Раньше годами использовал планшет Wacom - ничего похожего не наблюдалось. Хочу ещё попробовать другую ОС, типа Ubuntu или Linux Mint - потом отпишу, каков будет результат.

В чём может быть проблема? В каком направлении копать?

ОС: Manjaro XFCE

 , ,

Mapper720
()

Javascript. Помогите найти ошибку

Форум — Web-development

Пытаюсь создать простенький тренажёр на заучивание японских иероглифов. Два типа заданий:

  1. Тебе показывают некое слово, нужно выбрать соответствующий ему иероглиф, нажав одну из девяти кнопок.
  2. То же самое, но иероглиф нужно ввести вручную (подразумевается, что юзверь будет работать со смартфона и использовать рукописный ввод).

При запуске программы всё вроде как работает, как и задумано, но через несколько циклов происходит странное: программа начинает полностью игнорировать один из типов заданий и выдаёт только что-то одно: либо 9 кнопок, либо ручной ввод. Хотя по задумке каждый раз тип задания должен определяться генератором случайного числа (0 или 1). И, повторюсь, первые несколько циклов всё в порядке.

Использование console.log показало следующее: когда вышеописанная проблема возникает, случайный выбор типа задания всё ещё срабатывает, как надо. Однако если рандом выбрал «неугодный» тип задания, то мгновенно функция update() (которая, в частности, запускает генератор случайных чисел и выбирает тип задания) запускается заново - до тех пор, пока рандом не выпадет на «правильное» задание.

Каждый раз в «опалу» попадает разный тип задания. Сейчас вдруг программа перестала предлагать нажать на одну из 9 кнопок, после обновления страницы и нескольких циклов - начинает предлагать ТОЛЬКО эти кнопки, забывая про второй тип задания.

С чем может быть связана ошибка?

Страница: https://mapper720.ru/kanji/kanji_js.html

Скрипт: https://mapper720.ru/kanji/kanji_js.js

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

一 один

二 два

三 три

四 четыре

五 пять

六 шесть

七 семь

山 гора (читается как «яма»)

田 рисовое поле

中 середина, центр

口 рот, отверстие

私 я

東 восток

京 столица (новая)

都 столица (старая)

日 солнце, день

本 книга

父 отец

母 мать

見 смотреть, видеть

 

Mapper720
()

Цифровой микроскоп для покраса миниатюр с поддержкой GNU/Linux

Форум — Linux-hardware

Похожие темы создавались ранее, но все очень старые, поэтому решил сотворить новую.

Ситуация: иногда крашу модели, распечатанные на 3D-принтере. На них присутствуют мелкие детали. Особенно много гемора с глазами: их размеры в лучшем случае 2х2 мм., и даже если найти исключительно маленькую кисть – всё равно не видно, куда оной тыкаешь.

В связи с этим задумался о покупке недорогого USB-микроскопа. На озоне выбор имеется, на али, видимо, ещё больше (туда пока не заглядывал). Но беспокоит вопрос: а будет ли всё сие работать под Linux и какой софт потребуется?

Я так понимаю, технически микроскоп - это та же камера с мощными увеличительными линзами. То есть если обычная вебка подключается (и работает, например, через cheese), то и микроскоп должен? Или вовсе не обязательно? У кого-нибудь есть опыт работы с такими устройствами в линуксах? Что лучше выбрать?

Цели приобретения описаны выше, ОС - Manjaro XFCE.

 , , , ,

Mapper720
()

Автозапуск скрипта от root'а без ввода пароля

Форум — General

Есть скрипт, который нужно запускать при каждом старте системы с правами root, но не докучать запросом пароля.

Перерыл уже кучу информации, но пока безрезультатно.

Что было сделано:

Сотворен файл /etc/systemd/system/mycommand.service содержания следующего:

[Unit]

Description=description

[Service]

ExecStart=/home/mapper720/script.sh

[Install]

WantedBy=multi-user.target

Далее, следуя советам из интернетов, отправляю в терминал sudo systemctl enable mycommand.service и получаю

Failed to enable unit: Unit file mycommand.service does not exist.

Помучав google duckduckgo ещё немного, натыкаюсь на это. Пробую повторить вышеприведённую команду (sudo systemctl enable...), указав уже полный путь к файлу mycommand.service. На этот раз никакой ошибки в терминале не высвечивается.

Дальше вбиваю - следуя советам на том же stackoverflow - sudo systemctl daemon-reload и перезагружаю ПК. При перезагрузке ничего не происходит.

Думал, может, скрипт вызывается слишком рано и что-то там прогрузиться не успевает? Добавил задержку (sleep 7s) - ничего не поменялось.

Что делать? ОС - Manjaro.

P.S. Если кто будет советовать смотреть логи - указывайте, КАКИЕ ИМЕННО логи и ЧТО именно в них смотреть. Опыта работы с логами нет совсем.

 , , , ,

Mapper720
()

Принтер Canon LBP7100Cn

Форум — Linux-hardware

Имеется у меня сабжевый принтер. Довольно старый. Когда-то успешно печатал под линуксами, но с какого-то момента Canon решили отрубить поддержку. Теперь новых дров на линуксы нет, а старые ставить бесполезно - не печатает.

Можно ли как-то реанимировать принтер? Может, существуют какие-то универсальные или опенсорсные драйвера?

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

ОС - Manjaro, XFCE.

 , ,

Mapper720
()

У некоторых приложений не отображаются окна

Форум — Desktop

У некоторых приложений не отображаются окна. На переключателе рабочих столов их контуры присутствуют, но на экране - пусто. Сталкивался с такой проблемой в Flameshot и MakeHuman, также такое было в Substance Painter’е, но после переключения на бета-версию (в настройках стим-версии) вроде прошло.

https://imgur.com/w4jLSSO

Во ВСЕХ указанных случаях проблема наблюдалась при открытии диалога выбора файла (куда сохранять или, в случае с SP, откуда открывать).

Например, если сделать скриншот с помощью Flameshot’а, а потом попытаться сохранить его на диск, то окно сохранения файла будет невидимым. При этом если нажать Enter, файл сохранится, но из-за невидимости окна невозможно выбрать ни имя файла, ни путь сохранения.

С чем такое может быть связано?

Manjaro. Xfce.

 , , ,

Mapper720
()

Cron не срабатывает от рута

Форум — General

Мне нужно, чтоб в определённое время запускался некий скрипт с правами root. Что имеется сейчас:

sudo crontab -e

SHELL=/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

@reboot sleep 5; /home/mapper720/mountCrypt.sh

Первых двух строк (SHELL... и PATH...) изначально не было, они добавлены после прочтения очередного совета в интернетах, но ничего от этого не поменялось.

Пробовал @reboot заменить на * * * * *, но ни при перезагрузке, ни каждую минуту никакой скрипт не срабатывает (хотя при вызове вручную из консоли всё нормально).

В чём дело? Файлы /var/log/cron и /var/log/syslog, которые обычно призывают в такой ситуации изучать, в моей ОС (Manjaro) отсутствуют. Ранее в Xubuntu проблема также наблюдалась.

 , , ,

Mapper720
()

Часы отбивают на один час больше. Иногда. И только в Firefox.

Форум — Web-development

Имеется такая страница. Часы на ней должны в начале каждого часа отбивать столько раз, сколько сейчас часов. В 9 утра отбить 9 раз, в 15:00 — три раза и т.д.

Вроде всё работает, но есть странная проблема: иногда они отбивают на один час больше, чем надо. Из сегодняшних наблюдений:

12:00 — всё ок

13:00 — всё ок

14:00 — 3 удара в колокол вместо положенных двух

15:00 — 4 удара

16:00 — всё ок. Но при вызове функции из консоли в 16:04 отбил 5 раз.

19:00 — всё ок. Спустя несколько минут вызываю функцию из консоли - отбивает 8 раз.

Проблема наблюдается в Firefox — как десктоптном, так и на Android. В Opera и Chromium (опять же: и на ПК, и на смартфоне) всё в порядке.

Вот функция, вызываемая в начале нового часа. Её же я вызывал через консоль браузера.

function newHour() {
    let now = new Date();
    
    // Который час?
    full_hours = now.getHours();

    // Потребен 12-часовой формат. Аще час больше 12 - надо из оного 12 вычесть. Например, 16-12==4
    if (full_hours > 12) {
        full_hours -= 12;
    }

    // Аще средонощие, отбить двана́десять
    if (full_hours == 0) {
        full_hours = 12;
    }

    // Аще ныне 1 час, то благовестник отбивает дважды.
    // Сего ради костыль: аще full_hours == 1, умножать их на 2834 милисекунд не благословляется!
    if (full_hours == 1) {
        playback(b1);
    }
    else {
        // Первый удар благовестника будет не сразу по запуску функции, но через 2834 мсек
        // Посему один раз отбиваем ДО запуска функции, а затем бьём остальные (сколько там останется)
        playback(b1);
        let timerId = setInterval(() => { playback(b1); }, 2834);
        console.log("Hours: " + full_hours);

        /* Один "лишний" удар уже был в начале, до setInterval'а, посему теперь надо отбить на 1 меньше.
           Но сие не касается FIREFOX'а. Ему почему-то надо оставить full_hours, как есть. 
           Поэтому проверяем браузер и по итогам оставляем full_hours без изменений (вычитаем 0) (Firefox)
           или вычитаем 1 (все остальные)
        */
        let crutch = 1;
        if (navigator.userAgent.includes("Firefox")) {
            console.log("Тревога: FIREFOX DETECTED! Костыль активирован!");
            crutch = 0;
            console.log("The crutch is " + crutch + " now");
        }
        
        setTimeout(() => { clearInterval(timerId); }, (full_hours - crutch) * 2834); // из еличества часов вычитаем crutch
    }
    }

Имеются ли на ЛОРе тайновидцы, халдеи и гадатели, способные изъяснить происходящее?

И вдогонку вопрос. Можно ли бой курантов организовать с помощью цикла for? Как-то типа

for (i=1; i<full_hours; i++) {
функция_проигрывания_одного_удара_в_колокол;
пожождать_пару_секунд;
}

У меня указанная схема не сработала.

 , , ,

Mapper720
()

Оптимальный способ проигрывания множества звуков на странице (AudioContext, buffer)

Форум — Web-development

Сразу оговорюсь: я не программист, особенно не программист на js, мне нужно решить одну конкретную задачу и забыть о существовании js на многие годы. Поэтому просьба не посылать меня читать гору толстых учебников.

Собственно, задача: сделать так, чтоб при нажатии определённых клавиш на клавиатуре проигрывались те или иные звуки. Аудиофайлы лежат в той же папке, что и скрипт.

Первоначально делалось так:

const r0 = new Audio("ringing_0.ogg");
r0.currentTime=0; r0.play();

И это работало, но с одной проблемой: при нажатии на кнопку звук, проигрываемый сейчас, мгновенно обрывался, и начинал проигрываться заново. Что сильно режет слух. Но убирать r0.currentTime=0 нельзя: звук вообще не будет воспроизводиться, пока текущее воспроизведение не закончится.

Тогда я поменял код:

r0.cloneNode(true).play();

Теперь играет довольно красиво, но возникла другая проблема: если нажимать кнопку слишком часто, звук начинает захлёбываться.

В интернетах много советов по использованию AudioContext'а, но с ним проблема: почему-то ВСЕ уроки, которые я находил, требуют использовать XMLHttpRequest для запроса звукового файла с сервера. В результате — куча непонятного кода, который ещё и не работает. Например, здесь описан следующий порядок действий:

0. Скачать файл через XMLHttpRequest;

1. Добавить полученный ответ к буферу;

2. Создать bufferSource и проигрывать его при каждом вызове;

Наткнулся на видео, где предлагается httprequest заменить на fetch. В результате код приобретает более простой и короткий вид:

async function getresponse() {
let response2 = await fetch ("http://mapper720.ru/belltowers/transfiguration/ringing_0.ogg");
}

Остаются невыясненными следующие вопросы:

0. Как полученный с помощью fetch аудиофайл добавить к буферу?

1. Как вообще работает этот буфер? Можно ли, например, после загрузки страницы непрерывно проигрывать буфер, в который по нажатию кнопки закидывать некий аудиофайл, или принцип работы иной?

2. И можно ли вообще обойтись без всяких httprequest'ов, fetch'ей и тому подобного? Файл-то вон он, под носом, в одной папке со скриптом, зачем тогда вообще эти сложности?

 , , ,

Mapper720
()

Blender 3.0

Новости — Мультимедиа
Blender 3.0
Группа Мультимедиа

 , , geonodes,

Mapper720
()

Некоторые программы резко стали запускаться аномально долго

Форум — Desktop

Недавно начал замечать странность в работе системы: некоторые программы запускаются ОЧЕНЬ уж долго. Изначально думал, что криво работает VLC Player, но потом заметил, что проблема не с ним одним.

Кликаю иконку Simple Screen Recorder’а - проходит 26 секунд прежде, чем программа откроется. OBS Studio, Flameshot - то же самое. РОВНО 26 секунд каждый раз - засекал. VLC Player внезапно начал снова запускаться быстро - непонятно почему.

Раньше ничего подобного не наблюдалось. Если загрузить систему с LiveUSB - всё запускается мгновенно, никаких проблем.

Другие программы, в т.ч. тяжёлые - Firefox (с кучей сохранённых с прошлого сеанса вкладок), LibreOffice, Blender, Steam, Substance Painter, GIMP и др. - запускаются почти мгновенно.

То есть программы, которые стали запускаться по 26 секунд, «выбраны» совершенно случайно и друг с другом имеют мало общего.

Есть идеи, куда копать?

ОС: Xubuntu 20.04 LTS 48 Гб памяти AMD Ryzen 7 GTX 1070

 , , ,

Mapper720
()

Релиз LibreOffice 4.1.1

Новости — Офисные приложения
Группа Офисные приложения

29 августа The Document Foundation анонсировала LibreOffice версии 4.1.1 для Windows, Mac OS X и Linux. Это первый минорный релиз LibreOffice 4.1, он содержит множество улучшений в поддержке проприетарных форматов.

>>> Подробности в блоге разработчиков

 

Mapper720
()

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