LINUX.ORG.RU

Сообщения question4

 

Прокрутка мышью дёргается туда-сюда

У очередной мыши с возрастом возникла всё та же проблема. Когда я быстро вращаю колесо прокрутки, прокручиваемая страница время от времени заметно дёргается в противоположную сторону. Недалеко, но заметно, и раздражает. На новых мышах этого нет, появляется с возрастом. Чистка от пыли и волос не помогла. Недостаточно чистил? Взять пылесос помощнее?

Кто как чистит свои мыши?

P.S. Большая часть моих мышей дома и на бывших работах — дешёвые Genius. Но я спросил о том, кто как эту проблему решает и для других мышей — от мусорных ноунеймов, до дорогих и навороченных.

 

question4
()

Скриншоты видео размазываются

Скриншоты видео, сделанные встроенным инструментом Firefox выходят размазанными. Например, с https://rutube.ru/video/6a20ed30f8b1368f21d36605b43f8ba0/?t=10 и https://t.me/kozakrichala/49394 выходит https://0.vern.cc/v.png и https://0.vern.cc/9.png — наложенные элементы управления чёткие, само видео размазано до нечитаемости. Аналогично с превью, которые появляются при наведении мыши на табы открытых страниц. При этом средствами DE скриншоты получаются нормальные.

Запустил с чистым профилем — скриншоты делаются нормально. Отключил напоминание «picture-in-picture» — стало размазывать. Создал новый профиль — повторить не удалось, размазывает с самого начала.

Firefox 140.5.0 (ESR). Версия 137 не размазывала. Gentoo.

В чём проблема?

UPDATE: В 145.0.1, вроде, прекратило размазывать.

 

question4
()

ЛОР в ELinks

Сейчас пришлось писать на ЛОР из Elinks, обнаружил проблему: поле «Сообщение» для ввода текста на странице комментария – всего 1 строка высотой и 21 символ шириной. Такое же поле «Сообщение» на странице создания новой темы – 20 строк по 21 символ.

Нельзя ли эти поля увеличить? Для комментария – больше строк, для обоих – хотя бы 76 символов шириной (или какой сейчас стандарт консолей).

P.S. Пробовал только в чёрной теме.

 ,

question4
()

xf86OpenConsole: VT_ACTIVATE failed: Operation not permitted. Switching VT failed

При запуске X Window в логе возникает предупреждение:

(WW) xf86OpenConsole: VT_ACTIVATE failed: Operation not permitted

и затем ошибка:

(EE) xf86OpenConsole: Switching VT failed

Куда копать?

Xorg.0.log для разных драйверов:
radeon: https://pastebin.com/mrhp1UKT
amdgpu: https://pastebin.com/MQSbey9R
загрузка без /etc/X11/xorg.conf: https://pastebin.com/0sYmK5Br

dmesg: https://pastebin.com/T5j9b9e0
конфиг ядра: https://pastebin.com/t9yp9W6j
lspci -kk: https://pastebin.com/3M5H0fTv

 , ,

question4
()

Райзен не поддерживает опкоды Вишеры

Гадство. Бинарники, скомпилированные с оптимизацией под AMD FX не работают на топовом Ryzen. Хотя казалось бы…

P.S. Инструкции по решению этой проблемы написали ещё в 2018-м. Просто я с этим до сих пор не сталкивался. https://wiki.gentoo.org/wiki/Fix_My_Gentoo

P.P.S. https://wiki.gentoo.org/wiki//etc/portage/package.env — как этого избегать хотя бы для ключевых программ. И тут возникает дилемма: dev-lang/python оптимизировать очень желательно, но без него не будет работать пересборка :)

 , ,

question4
()

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

https://shaochenze.github.io/blog/2025/CALM/
https://github.com/shaochenze/calm

Чем отличается предлагаемый подход?

 ,

question4
()

Wget и touch в Termux спотыкаются на двоеточии

Понадобилось срочно скинуть на телефон пачку PDFов. python -m http.server, на телефоне в Termux wget -m http://192.168.1.57:8000/

В ответ ошибка:

192.168.1.57:8000/index.html: Operation not permitted                          
Cannot write to ‘192.168.1.57:8000/index.html’ (Operation not permitted).

Директория 192.168.1.57:8000/ создалась успешно, но wget писать в неё не может. Лет 5 назад на старом телефоне это работало. В чём проблема теперь?

Файлы скинул, задействовав порт 80 через sudo. Просто интересно, решаема ли проблема.

UPDATE: Похоже, wget ни при чём. mkdir внутри директории «192.168.1.57:8000» работает, но touch — нет, и копирование в неё — тоже. Аппарат Huawei, версия прошивки 14.2.0.180(C10E2R5P2)

Лечится?

 , ,

question4
()

Кто-нибудь знает, что в Python Software Foundation случилось?

https://pyfound.blogspot.com/2025/10/NSF-funding-statement.html

С год назад подали на грант правительства США на усиление безопасности Python и PyPI. Заявку одобрили. Сейчас должны были перевести полтора миллиона долларов, но обнаружилось новое требование — PSF должен был подтвердить, что не работает и на время гранта не будет работать по каким-либо программам, продвигающим или пропагандирующим DEI или другую дискриминационную идеологию, нарушающую федеральные законы США против дискриминации. PSF отказался.

Я правильно понял, что они по DEI получают гораздо больше этих полутора миллионов, поэтому отказались?

Кто хочет, может сделать новость.

 

question4
()

Жёсткий диск заикается

Не очень старый Seagate (изготовлен в 2018, работает с 2022) внезапно начал «заикаться»: при чтении файла процесс зависает с характерным тихим «бряком» диска, затем какое-то время тарахтит, как дисковод на сбойном секторе. Времени возиться с этим не было, поэтому терпел, хотя заикания случались всё чаще.

Пару дней назад компьютер отключил мониторы из-за длительной неактивности, после чего прекратил реагировать на внешние раздражители. Кроме Alt-SysRq, на которую мигал светодиодами клавиатуры. После ресета GRUB отказался грузиться.

Загрузился со старого диска (Toshiba), который при последнем включении работал нормально — на нём тоже начались заикания, с паузами до 2 минут. Сделал на нём загрузочные флешки, опробовал, хотел переделать — на этом диске GRUB тоже отказался грузиться. То есть виновата материнская плата, которая портит диски.

В итоге переставил Seagate в другой системный блок, загрузился с флешки и просканировал fsck — нашлось несколько ошибок, которые были исправлены. За сутки заикания не проявлялись.

Вопросы:

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

  2. Как оценить нанесённый диску ущерб? Как эти сбои сказались на достоверности данных в таблице SMART?

 , ,

question4
()

Добавить текстовый комментарий в WebP

Хочу добавить 1400-байтный комментарий к картинке. exiv2 -c отвечает «Установка Image comment в WebP изображений не поддерживается». webpmux требует созданный сторонней программой файл exif (или xmp) и не проверяет его валидность, если использовать *.exv, сделанный exiv2, другие программы этот комментарий не видят.

Чем его добавить?

Или WebP принципиально не могут содержать текст?

 ,

question4
()

Отключить %s в командной строке Midnight Commander

Я хочу внести некоторые изменения в содержимое директории, не меняя её время модификации. Примерно так:

$ ls -ld --time-style=+%s book213/
drwxr-xr-x 2 tkzv tkzv 4096 1752784766 book213
$ cd book213; rename ... ... ... ; cd ..
$ touch book213 -d @1752784766

Если я выполняю команду с %s при видимых панелях MC, вместо %s автоматически подставляется выделенный файл. То есть выполняется что-то вроде ls -ld --time-style=+book213 book213/

Как отключить эту подстановку? Помимо закрытия панелей.

Частичный ответ:
ls -l --time-style=+%%s ... — штатное экранирование для MC, как я понял. Работает при открытых панелях, но не работает без них.
ls -l --time-style=+%\s ... — работает и там, и там.

 

question4
()

Итераторы в lxml

Есть сохранённые файлы HTML, в которых много ненужного: джаваскрипты, стили, SVG… Пытаюсь удалить.

Я попробовал так:

import lxml.html
h = lxml.html.parse('page001.html')
root = h.getroot()
for e in root.iter():
    if type(e.tag) != str:
        e.drop_tree()
    if e.tag in ('link', 'script', 'svg', 'footer', 'style') and ... e.attrib ... :
        e.drop_tree()

И затем посмотрел результат print(lxml.etree.tostring(root, pretty_print=True).decode())

В результате удалились линки и скрипты из секции head (например, root[0][12]), но не удалился SVG из глубин body (root[1][0][1][3][0][0][0][2][0][0][0]).

Немного покопавшись, понял: нельзя удалять элементы массива, по которому идёт for от начала к концу (в обратном направлении — можно). Но тогда почему это работало для первых элементов?

 , ,

question4
()

Сжатие сжатых файлов

Лет 20 назад архиватор StuffIt внедрил интересный метод упаковки в формат .sitx: для хорошо известных форматов, использующих сжатие, например, JPEG, исходный файл перед упаковкой разжимался, затем архиватор сжимал его методом PPMd. При распаковке те же данные распаковывались из PPMd, и затем упаковывались в JPEG методом Хаффмана. За счёт большей эффективности PPMd, обещали сжатие JPEG-ов на треть. (Википедия пишет, что на четверть.) Вроде бы то же делалось для PNG, GIF, ZIP, TIFF, PDF, адоубовских форматов… Но под Линукс для этого формата не было даже распаковщика.

Идея интересная. Кто-нибудь пытался реализовать что-то подобное в свободных архиваторах?

Сейчас наткнулся на информацию, что владельцы StuffIt прекратили его развитие и поддержку в 2019-м. Сайт https://stuffit.com/ пока жив, но сертификат истёк 1 октября.

 ,

question4
()

Можете опознать программу?

https://upload.wikimedia.org/wikipedia/commons/e/e1/Mass_Spectrometer_Analysis_Results_(4687970545).jpg — кто-нибудь может опознать программу на мониторе?

Когда-то давно в Дуолинго наткнулся на фото экрана монитора с масс-хроматограммой в качестве иллюстрации «анализа». Сделал скриншот, чтобы поискать, но нашлись более срочные проблемы. Сейчас наткнулся на него, поискал, нашёл в Википедии: https://es.wikipedia.org/wiki/Archivo:Mass_Spectrometer_Analysis_Results_(4687970545).jpg Фотографией иллюстрировали анализ проб воды после аварии Deepwater Horizon (точнее, подготовку эталонов для сравнения). LC/MS или, скорее, GC/MS.

Кто-нибудь может опознать использованную программу?

P.S. Расширения файлов и директорий похожи на Agilent, но Agilent ChemStation, с которыми я имел дело, выглядели иначе.

 , ,

question4
()

diff zip-архивов

  1. Существует ли готовая программа, способная сравнивать архивы, как diff сравнивает директории? То есть выводить список различий текстовых файлов в тех же форматах, понятных patch. Всё, что я нашёл — предельно примитивные zipcmp и folderdiff, которые только выводят имена различающихся файлов. И советы, как сделать подобный скрипт. Выглядит несложно.

  2. Форматы документов ODT и DOCX — набор файлов XML в архиве ZIP. Подобный diff мог бы помочь сравнивать офисные документы. Почему его до сих пор не сделали? Содержимое XML при многократных сохранениях слишком сильно преобразуется? Много случайного мусора? Элементы тасуются в произвольном порядке?

  3. А что если обобщить? Пусть архив будет форматом-контейнером (OLE, RIFF, PNG, что ещё можете предложить…), а сравниваемое содержимое — любыми данными, для которых текстовый diff или побайтное сравнение несёт какую-то человекочитаемую информацию, и патч можно легко наложить/откатить. Так кто-нибудь делал?

Никакую практическую задачу не решаю. Просто в очередной раз столкнулся со сравнением бинарных документов, стало любопытно.

ОТВЕТ: Судя по скриншотам, это умеет diffoscope: https://diffoscope.org https://try.diffoscope.org
Хотя в комментариях пишут, что его подход может не быть оптимальным для сравнения XML. Попробую как-нибудь.

 , ,

question4
()

Как быстрее?

Не спится. Мучает вопрос. Мешают ли флешки друг другу?

Есть несколько флешек. Разного размера, с разными характеристиками. Нужно сохранить на них много файлов. С машины у которой все гнёзда USB одинаковые — 2.0 для определённости. Как быстрее: воткнуть самую быструю и сохранять на неё, или воткнуть все имеющиеся флешки, разбить файлы на группы, и одновременно сохранять на все флешки? (Разумеется, во 2-м случае возможна переброска из группы в группу, если какая-то флешка заметно быстрее и управится раньше.) Считаем, что скорость жёсткого диска больше суммарной скорости флешек.

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

 ,

question4
()

Копирование HTML с картинками

Делаю на веб-странице (для определённости — в firefox) Ctrl-A, переключаюсь в LibreOffice Writer, кликаю средней кнопкой мыши — вставляется красиво отформатированный текст и картинки. Можно даже сохранить как HTML с картинками.

А как сделать то же автоматически, не задействуя LibreOffice? В идеале — скриптом, который автоматически определяет, что буфер изменился, и тут же сохраняет содержимое.

Пробовал читать буфер скриптами на питоне средствами Qt6 и GTK4. Большая часть нагугленных скриптов устарели и или не работают, или крэшат интерпретатор. Методом тыка сумел найти отображение в виде HTML или текста для Qt6. Но не primary selection, а clipboard.

from PyQt6.QtWidgets import QAbstractItemView, QApplication, QTableView
from PyQt6.QtGui import QStandardItem, QStandardItemModel
app = QApplication([])
c = app.clipboard()

Далее c.mimeData().formats() выдаёт тот же список, что и xclip -t TARGETS, HTML можно получить c.mimeData().html(), текст — c.mimeData().text() или c.text(). Как я понял из хэлпа, c.Mode(1) должно переключить на selection вместо clipboard, но это не происходит.

Как в PyQt6 обращаться к primary selection?
Как в PyQt6 детектировать изменение primary selection?
Как LibreOffice извлекает картинки из скопированного с веб-страницы? — Ответ: похоже, парсит HTML и скачивает содержимое <img ...>. В таком случае, удалю простыни исследования xclip. чтобы не отвлекали.

 , , ,

question4
()

Вставить скопированный HTML в редактор

Выделяю в браузере на веб-странице текст, копирую. Переключаюсь в Kate/mcedit/VIm, вставляю — получаю текст без форматирования. Вся раскраска текста, все гиперссылки потерялись. (Обычно так и нужно.) Переключаюсь в Офис, вставляю — форматирование вставилось. Но извлекать гиперссылки из этого текста — та ещё задача.

А можно в консоли набрать xclip -out -selection clipboard -target text/html > page.htm, открыть файл в Kate/mcedit/VIm и получить искомые гиперссылки.

А сразу вставить HTML в Kate как-нибудь можно?

Про пункты меню «Исходный текст страницы» и «Исходный текст выделенного фрагмента» знаю, но они не всегда работают с динамическими страницами. Про инспектора DOM знаю, но он менее удобен, чем просто выделить мышью на странице.

Можно ли задавать mime-тип вставляемого в Kate и vim?

Промежуточный ответ: пока выяснил, как добавлять вызов произвольной команды в Kate и Vim и добавил вызов xclip.

 , , ,

question4
()

Тестовый вебсайт для воспроизведения проблем с curl-ом

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

Вопрос: какой самый простой способ поднять локальный HTTP-сервер с урезанной до предела скоростью скачивания (GET) и поддержкой докачки? Например, умеет ли так идущий в комплекте с Python http.server? Или есть реальный сайт, который удовлетворяет этим требованиям?

P.S. Poorconn не поддерживает докачку.

 

question4
()

jpegtran -crop теряет край

Есть 2 файла JPEG. 800х600 и 800х494. Я хочу объединить их по вертикали в один без потери качества. Горизонтальные серые полосы не мешают.

В сети рекомендуют увеличить один файл до суммарного размера -crop-ом и вставить туда другой -drop-ом. Но когда я делаю 1-му файлу jpegtran -crop 800x1104+0+0 -outfile tmp1.jpg 1.jpg, в нём изображение обрезается на высоте 592. -perfectничего не даёт, -verbose и -report ничего интересного не показывают. Как я понимаю, изображение разбито на квадраты 16x16, и нижний ряд квадратов (заполненных наполовину) отбрасывается. Как его сохранить?

 , jpegtran

question4
()

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