LINUX.ORG.RU

Сообщения hobbit

 

Устраняем конфликты слияния в Weblate

Форум — Development

И снова добрый день.

Как возможно, некоторые помнят, у моего проекта на гитхабе есть коллективный перевод на сервисе Hosted Weblate. Недавно я получил предупреждение о конфликте слияния репозитория перевода с основным. Weblate предлагает «типичный рабочий процесс» для устранения конфликтов слияния:

    Коммит всех ожидающих изменений и блокировка переводимого компонента.
    wlc commit; wlc lock
    Добавить экспортированный посредством Weblate репозиторий как дистанционный.
    git remote add weblate https://hosted.weblate.org/git/doublecontact/translations/ ; git remote update weblate
    Объединить изменения Weblate и разрешить любые конфликты.
    git merge weblate/master
(*)
    Отправить изменения в вышестоящий репозиторий.
    git push origin master
    Теперь Weblate должен видеть обновленный репозиторий, и вы сможете разблокировать его.
    wlc pull ; wlc unlock

(*) В помеченном месте очевидно, и надо исправить нестыковки во всех конфликтных файлах и сделать git commit. Авторы инструкции этого не написали, видимо, сочли это очевидным - hobbit

В целом эта инструкция оказалась правильной. Я ожидал, честно говоря, подлянок со стороны git (ибо побаиваюсь всяких страшных слов вроде merge, stash и rebase), но как раз git меня приятно удивил, молча отработав. Зато возникла пара нюансов со стороны wlc — консольного клиента самого Weblate.

Первое. Для установки wlc предлагается два способа: через docker и через pip3. Я сначала зачем-то полез в docker. Подключился к докерхабу, с помощью docker search нашёл нужную строчку weblate/wlc… вот только попытка её скачать через docker pull возвращает ошибку «manifest unknown». Я в докере нуб, и теоретически возможно, что я что-то недонастроил. Но например, пример демонстрационного веб-сервера от Prakhar Srivastav, описанный на хабре (prakhar1989/static-site), у меня успешно грузится и запускается. Если кто-то знает, где собака порылась — welcome в комментарии.

Зато pip3 мигом поставил мне нужную утилиту. С ней я дальше и работал.

Второе. Запись wlc commit и др. предполагает, что wlc на машине разработчика сконфигурирован и настроен на нужный проект. Пример конфига приведён в той же инструкции, но он не совсем удачен. Ну то, что вместо APIKEY в секции keys надо подставить 16-ричное число из своего профиля — догадаться нетрудно. А вот как правильно заполнить параметр translation из секции weblate, я гадал долго (в примере из доки написано weblate/master). Правильный вариант - «проект/компонент». В моём случае это компонент «переводы», т.е.

https://hosted.weblate.org/api/
translation = doublecontact/translations

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

Надеюсь, кому-нибудь пригодится.

 , weblate,

hobbit
()

Клеим и режем PDF

Форум — Desktop

Добрый день.

Как выяснилось, про эту программу даже когда-то была новость на ЛОРе, но лишний пиар не помешает, поскольку в другом месте ЛОРа человек на полном серьёзе спрашивал «В Windows есть PDFsam, есть ли в линуксе что-то подобное»?

Так вот, PDFsam есть и в линуксе. Только что поставил pacman-ом в Manjaro. Тянет Java (для кого-то это недостаток). Умеет разбивать PDF на несколько по страницам, размеру или по закладкам. Объединять последовательно или чередованием. Ну и некоторые возможности по редактированию, а также по экспорту в офисные форматы (впрочем, тут надо смотреть, возможно для последней задачи лучше взять LibreOffice).

Простой (можно сказать, примитивный) GUI из набора больших кнопок. ИМХО, для задачи «раз в месяц что-то быстро покоцать», самое то. Да, тем, кому нужна пакетная обработка, не подойдёт, нужны более другие инструменты.

Я доволен.

Брать у официалов

 , ,

hobbit
()

Интересный синтаксис merge

Форум — Development

Доброй ночи, ЛОР.

Читаю инструкцию с hosted.weblate.org по разрешению конфликтов и натыкаюсь там на

git merge weblate/master

Это что за синтаксис такой со слешем? Сколько статей прочитал - у git merge был один параметр, имя ветки, с которой слияние идёт. Это «откуда/куда», что ли?

 

hobbit
()

Русские команды для KTurtle

Форум — Desktop

Добрый вечер, ЛОР.

На старой машине с дебианом у меня стояла и работала KTurtle 0.8.1 beta (KDE 5.28.0). Можно было выбирать 2 языка команд - английский и русский. При выбранном русском языке команды набирались на русском, в файл сохранялись в виде английских ключевых слов и обратно подгружались на русском.

Теперь в Manjaro у меня KDE 5.76.0 и KTurtle 20.08.3. В меню «Язык команд» под два десятка языков. Я выбираю русский, но это ни на что не влияет. Команды из файла загружаются английскими словами, на русские ключевые слова программа ругается. При этом интерфейс самой программы — русский (переводил @Skull, насколько я понял).

Мне надо доустановить какой-то пакет, или это бага?

 , ,

hobbit
()

А это не перебор?

Форум — Linux-org-ru

@Shaman007, я понимаю, человек явно погорячился, и вероятно, пару его последних комментариев стоило отправить с минусом под снос. Но бан с формулировкой «попытка угрозы»… Какая там угроза?

По беседе вы там оба были хороши, КМК. Начиная с твоего наезда авторитетом на @saahriktu. (Я не говорю, что @saahriktu был прав.)

 ,

hobbit
()

Минус больше не символ

Форум — Desktop

Добрый день, ЛОР.

В поcледних версиях Midnight Commander столкнулся с тем, что минус в верхнем ряду клавиатуры ведёт себя так же, как и минус на цифровой, т.е. вместо ввода соответствующего символа вызывает окно снятия выделения.

Сначала я это увидел на самособранном mc с гитхаба в стареньком дебиане. Особого значения не придал, думал, криво собрал.

Но теперь та же самая проблема обнаружилась в mc 4.8.25, поставленном pacman-ом в Manjaro KDE. (Если что, это другой комп, и настройки я переносил НЕ с той системы, которая упомянута в предыдущем абзаце.)

Это как-то лечится настройками, или пора багрепорт заводить?

P.S. по идее, где-то таки должно настраиваться, поскольку у свежесозданного пользователя минус срабатывает как символ. Но у этого свежесозданного он и с цифровой клавиатуры работает как символ…

P.P.S. Оказывается, официальный FAQ mc с некоторых пор рекомендует вводить + и -, предваряя их комбинацией Ctrl+q. Куда катится этот мир… Вопрос, чем же настройки нового пользователя отличаются от моих, остаётся актуальным.

 

hobbit
()

Видеоэндоскоп

Форум — Linux-hardware

Заинтересовался вот таким девайсом:

https://www.ozon.ru/product/endoskop-gibkaya-kamera-usb-dlya-android-i-pc-1m-194135857/

В описании упоминаются только Android и Windows. Как понять, поддерживает ли это устройство «обычный» Linux? Может, есть какой-то общепринятый протокол/драйвер на такие штучки?

 

hobbit
()

Это вот что сейчас такое было?

Форум — Desktop

Доброй ночи, ЛОР.

Я тут по совету @ChekPuk поставил на новенький компьютер Manjaro KDE. Пока впечатления в целом положительные, даже есть родной DeadBeef из реп.

Соответственно, на смену старенькому Firefox ESR из Debian Stretch пришёл Firefox 83. Запускаю его из-под старого /home. Браузер пишет, что мол, у вас теперь новый профиль. Ну ладно. …И я вижу, что он действительно новый: ни истории, ни закладок.

Чертыхнувшись, лезу в ~/.mozilla. Смотрю, там два профиля, старый и новый. В profiles.ini дефолтом стоит новый. Переправил на старый (переменная Default в первой секции инишника) — всё вернулось.

Не, ну хорошо, я на линуксе не первое десятилетие и могу конфиг поправить. Но ведь кого-то менее опытного такое может реально поставить в тупик, были данные и нет.

Повторяя операцию на учётке жены, перечитал это сообщение про новый профиль. О как… Я правильно понял, что таким образом пользователей склоняют к заведению Firefox account? Типа заведёте, будет вам и экспорт, и импорт. Или я всё-таки понял неправильно?

Замечу, что с Thunderbird ничего подобного не было, он сразу показал актуальную почтовую базу.

Проблема решена, возможно, кому-то даже поможет. Но всё-таки, что это было?

Update: в комментариях подсказали про about:profiles.

 

hobbit
()

Нужен ли на десктопе VirtualBox при живом kvm?

Форум — Desktop

Добрый день, ЛОР.

Немного покопавшись недавно с kvm, я подумал, что в связке с virt-manager он уже вполне дружелюбен не только для серверов, но и для десктопа разработчика, которому на виртуалках надо тестировать свои наработки. А может, чем чёрт не шутит, и для игр (проброс видеокарты и всё такое). То бишь как конкурент виртуалбоксу.

У меня не за горами сборка нового системника, где наконец-то на смену древнему Q8200 придёт процессор с аппаратной виртуализацией, а значит, можно будет сделать домашний kvm. (Нет, на ноуте у меня процессор поновее, но на ноуте дисковые ресурсы ограничены, поэтому плодить на нём виртуалки это так себе идея.) На хосте, скорее всего, будет стоять Debian Buster (но это не точно).

Вопрос: остались ли у VirtualBox преимущества в качестве «десктопного» виртуализатора? Я вот вижу только два:

  1. виртуалбокс кроссплатформенный в части хоста, т.е. виртуалку я легко могу отдать человеку с виндой. А kvm чисто линуксовое решение, т.е. придётся колхозить перегон из qcow2 в vdi (хотя я последних виртуалбоксов не видел, может, они уже и qcow2 из коробки умеют, образа от вмвари научились же);

  2. настройка сети в kvm до сих пор гораздо менее интуитивно понятна, чем в виртуалбоксе (см. мою тему про сетевой мост), возможно, это касается и других видов настроек.

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

Замечания, опровержения, дополнения?

 , ,

hobbit
()

Чем сделать автоматическую трассировку

Форум — Development

Добрый день, ЛОР.

Судя по всему, я хочу какой-то гибрид из gdb, ltrace (и, возможно, valgrind).

gdb позволяет смотреть трассировку программы при попадании на точку останова.

ltrace выводит все вызовы библиотечных функций (но только библиотечных).

А можно ли каким-то инструментом (например, тем же gdb, но ни в мане, ни в «инструкциях от Васянов» я ничего похожего не нашёл) запустить свою программу и получить полный лог её хождения по собственным функциям от начала до конца? Без брекпойнтов, чтобы программа могла работать в условиях, максимально приближенных к боевым? Понятно, можно нашпиговать каждую функцию отладочным выводом на std::cout, но может, можно это как-то автоматизировать?

 , ,

hobbit
()

Сломан поиск неюникодных строк в mcedit

Форум — Desktop

Добрый день, ЛОР.

В пятницу собрал последний Midnight Commander из мастера гитхаба. Пару дней полёт был нормальный, но сегодня выловил багу: в mcedit перестал работать поиск строк в неюникодных файлах.

К примеру, у меня большой файл в CP1251. Я его открываю, через Alt+E выбираю нужную кодировку, файл отображается. Я ввожу для поиска русское слово «Самара», и редактор его не находит, хотя в файле оно есть. При этом в ходе поиска он выдаёт окно прогресса, по которому видно, что слово «Самара» превратилось в квадратики. ОС - 64-разрядный дебиан (старенький, притом старенький же mc 4.8.3 на нём эту ошибку не совершал, всё работало).

Думаю над тем, чтобы запостить багрепорт, но надо понять, когда появилась ошибка, и проявляется ли она на разных системах. Я у себя дома посмотрю Федору, там, по идее, должен быть mc 4.8.23. Может кто-нибудь подтвердить или опровергнуть ошибку на более-менее актуальных версиях mc?

 

hobbit
()

Посоветуйте фреймворк/заготовку для веб-приложения

Форум — Web-development

Добрый день, ЛОР.

Не холивара ради, образования для (c) @anonymous (но по совести говоря, не уверен, что получится выяснить что-то интересное и не скатить тему в холивар).

Я даже не уверен, что вкладываю правильный смысл в слово «фреймворк»… Что меня интересует. Предположим, я хочу сделать веб-приложение с пользователями, сессиями и авторизацией (ну там новый багтрекер, или что ещё для коллективной работы/общения), и я не хочу писать эту авторизацию с нуля. Есть какая-нибудь библиотека под свободной лицензией, в которой это уже сделано, и программисту остаётся писать только прикладную логику?

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

Языки можно разные, хоть PHP, хоть Java, хоть Go, хоть сишечка. Я пока просто хочу понять, где что есть. Да, в гугле не забанен, но тут ещё надо понять, какие слова для гугления правильные. Я в этой области нуб, когда-то что-то клепал на PHP, но это было очень давно и недолго.

Можно, конечно, пойти от противного, посмотреть, как это сделано в каком-нибудь Nextcloud и отсечь лишнее — но это на крайний случай.

Да, просьба не спрашивать, чем существующие багтрекеры не устраивают, багтрекер — это же только пример.

 ,

hobbit
()

Что нам делать с пьяным Quoted-printable

Форум — Development

Доброй ночи, ЛОР.
Разбирая в своей программе структуры vCard и vMessage, я наткнулся на поля, которые помечены как quoted-printable, но на самом деле таковыми не являются.
RFC 2045 определяет Literal representation только для ASCII-символов, всё остальное оборачивается в HEX (что-то типа =D0=9E=D0=BB=D0=B5=D0=B3). Такой quoted-printable у меня обрабатывался давно и обрабатывался нормально.
Но вот я столкнулся с полями, где указано ENCODING=QUOTED-PRINTABLE, а дальше идёт чистый текст в UTF8. В шестнадцатиричку закодированы только переносы (=0A=0A). Варианты действий:

  1. игнорировать такие поля как неправильные. Самый простой и самый плохой подход (пользователь потеряет данные);
  2. ввести искусственный хак — при обнаружении non-ASCII символов в «кодированном тексте» возвращать его как уже декодированный (возможно, заменив =0A на символы перевода строки);
  3. сделать полноценный парсер с учётом юникода.

Сейчас я остановился на варианте 2. Это дёшево и сердито (и имхо, справедливо по отношению к такого рода данным). Смущает только, что я не знаю, какие ещё символы придётся обрабатывать отдельно.

По уму, если делать вариант 3, надо пробегаться по всем юникодным символам в ожидании знака =, и то, что с него начинается, уже трактовать как 16-ричку. Но при этом надо уметь для каждого UTF8-символа определять его длину, чтобы не принять за = какой-нибудь средний байт какого-нибудь 4-байтного символа. Алгоритм определения, в принципе, найти можно. Вопросов только 2: стоит ли этим заморачиваться для уже нестандартного случая, и нельзя ли сделать это как-нибудь проще?

 ,

hobbit
()

Форум командной строки

Форум — Talks

Доброй ночи, ЛОР.

Пришла тут в голову идея сабжа. Нет-нет, я не про имитацию зелёной консоли на сайте из джаваскрипта. Такое я уже видел.

Я про настоящую командную строку. Типа подключаюсь я к хосту через обычный SSH со всеми полагающимися защитами, но вместо терминала с юниксовыми командами получаю специфический терминал со специфическими командами, типа посмотреть список тем, послать комментарии, самозабаниться отредактировать свой профиль и др.

Почему-то кажется, что люди такое наверняка давно уже придумали, а может и реализовали.

Нет?

 

hobbit
()

Нужен ли сертификат для локального Jabber

Форум — Admin

Продолжаю мучать вопрос о совместимости Jabber-конференций с картинками и HTTP upload. На сей раз не в интернете, а на личном сервере в локалке.
Сервер: ejabberd 20.04 (Debian Bullseye). HTTP upload настроен, каталог для сохранения изображений в конфиге задан.
Клиент: gajim 1.2.1.
Кнопка прикрепления файлов доступна, при её нажатии открывается окно выбор файла, я выбираю картинку (специально взял маленькую, лого дебиана из /usr/share/pixmaps), жму Open… и ничего не происходит. Запустив gajim под терминалом, вижу после нажатия Open собщение об ошибке:

xx.xx.2020 xx:xx:xx (W) gajim.c.m.httpupload  (jabber.my) TLS verification failed: The certificate does not match the expected identity of the site

Вообще, немножко странно, что в пользовательской программе это выводится в консоль, а не в message box какой-нибудь. Попробую написать по этому поводу разработчикам gajim. Но это вопрос отдельный, а сейчас думаю, как исправить саму ошибку.
В ejabberd.yml прописана ссылка на некий умолчальный /etc/ejabberd/ejabberd.pem, который, как я понимаю, в текущей ситуации не подходит.

certfiles:
  - "/etc/ejabberd/ejabberd.pem"

Если это имеет значение — имя хоста (jabber.my) прописано в hostname, с DNS я ещё не связывался (клиент и сервер пока на одном хосте).

Вопрос 1. Нужно ли вообще в локальной сети (она совсем локальная, выхода в интернет нет) делать сертификат для Jabber, или есть способ это обойти?
Вопрос 2. Если сертификат всё же нужен, как его правильно приготовить? Я видел вроде бы толковые доки по приготовлению pem именно для ejabberd, но они для интернета: создаём запрос, передаём в удостоверяющий центр, получаем ответ, «клеим» файл pem. А в локалке что делать? (А, ещё только что заметил, что те доки для SSL, не для TLS, не знаю, насколько велика разница.)

 ,

hobbit
()

Gajim-httpupload в дебиане и вообще

Форум — Desktop

Добрый день.

В старом Gajim 0.16.6 в окошке «Плагины» были две вкладки - «установленные» и «доступные». А в Debian Stretch был отдельный пакет с плагином gajim-httpupload.

Теперь смотрю на более новый Gajim 1.2.2 из Debian Bullseye. Про пакет gajim-httpupload на сайте дебиана написано, что это виртуальный пакет и предоставляется пакетом gajim (который установлен). В самой программе вкладки «доступные» больше нет, ну по крайней мере, у меня. В установленных показаны плагины для OMEMO и PGP (они-то по-прежнему установлены пакетами). Есть кнопка установки плагина из ZIP (найти б, откуда этот ZIP брать)

Вопрос: где теперь брать плагины к Gajim (в частности, gajim-httpupload) и как ставить?

 , ,

hobbit
()

Ищу быструю материнскую плату

Форум — Linux-hardware

Добрый день, ЛОР.

Думаю собирать новый системный блок. Один из недостатков, который меня раздражал в старом 11-летнем системнике - от нажатия кнопки питания до появления GRUB проходило аж 22 секунды (это был Classic BIOS, да, Gigabyte GA-EP43-DS3).

Реклама UEFI обещала радикальное ускорение, и это было похоже на правду — на моём ноутбуке (Sony 2013 г.в.) с UEFI GRUB появляется аж через 3,5 секунды после нажатия на Power. Если бы добиться такого или даже чуть худшего на десктопе, меня бы это вполне устроило.

Теперь смотрю на десктопные «мамки». Во-первых, очень трудно для конкретной модели найти время загрузки, приходится искать сторонние отзывы. Во-вторых, нахожу я вот такое сравнение (не совсем по моей части, мне больше интересны платы под AMD, а тут про интел, но тем не менее) и медленно офигеваю:

https://www.citilink.ru/catalog/computers_and_notebooks/parts/motherboards/809751/rev17720/

Сравнивается 5 моделей разных производителей. Время от включения системы до начала загрузки ОС — от 11,97 до 13,2 с. Они это серьёзно? Нет, это не 22 секунды, но 13 секунд — такое и во времена classic BIOS можно было найти, и даже, кажется, побыстрее.

Да, и это сравнение безнадёжно устарело, оно 2014 года. Новее материалов не нахожу вообще.

Как мне в 2020 году найти материнку с быстрой загрузкой? Не выключать компьютер не предлагать, это не сервер, а десктоп, и люди из квартиры уходят на весь день, нефиг ему без толку молотить. Гугл с яндексом ничего путного сказать не могут (ну или я неправильно ищу).

Линукс здесь при том, что на собранный комп будет ставиться дебиан (нативно, никаких WSL), нужна материнка, совместимая с линуксом.

Интересуют и советы по конкретным моделям, и ориентиры, на какое время загрузки я вообще могу рассчитывать?

 , ,

hobbit
()

Настройка сети с хостом и локалкой

Форум — Admin

Добрый день, ЛОР.

Встала задача развернуть виртуальный сервер, к которому будет доступ из локалки (реальной) и с хоста.

В виртуалбоксе для этого обычно достаточно создать соединение типа мост, и проследить, чтобы у хоста и виртуалки были правильные IP.

А как такое сделать с QEMU/KVM? У меня запущен libvirtd (подключен как qemu:///system), работает виртуалка (и на хосте, и на виртуалке дебиан). Смотрю свойства сети в virt-manager. Виртуальное устройство хоста предлагается создать на базе 4 вариантов: NAT, 2 устройства хоста (по числу сетевых карт на хосте) и общее устройство. При этом выдаётся предупреждение, что «В большинстве конфигураций macvtap не подходит для организации сетевых соединений между физической и виртуальной системами».

В какую сторону копать?

 ,

hobbit
()

Передача файлов в конференцию

Форум — Admin

Добрый день, ЛОР.

Сразу несколько вопросов.

  1. Позволяет ли Jabber/XMPP передавать файлы не другому человеку, а выкладывать их в конференцию для общего пользования?

  2. Если да — реализована ли соответствующая функциональность в Pidgin? И если нет, то на какие клиенты надо смотреть? Поддерживает ли это кто-то из андроид-клиентов?

  3. Как это всё настраивать?

Сейчас я смотрю, у Pidgin есть команда «Вставить -> Файл». Но она при работе учётки jabber.ru серая/недоступная. Причём как в конференции, так и в окне для личной связи. Может, она вообще строго для других протоколов (IRC, например)?

Вообще, в моей задаче люди в джаббере уже сидят (как ни странно), у них свой ejabberd «для своих», не хватает им именно возможности обмениваться фотками, причём в конфе. Отсюда вытекает, что: 1) прежде чем «ломать» боевой сервер, мне надо потренироваться где-то ещё, либо на том же jabber.ru, либо, если нужны настройки сервера, поднять свой ejabberd; 2) советы забросить Jabber и сбежать на какой-нибудь Matrix будут рассматриваться в последнюю очередь и только в том случае, если я буду уверен, что на джаббере задача в принципе не решаема.

Да, я читал, что в Jabber есть три несовместимых метода передачи файлов. Но прежде чем собирать скудные крупицы информации по их настройке (сходу вообще не нашёл, но не исключаю, что плохо искал), хочу понять: это в принципе возможно? Если в конфу кидать файлы нельзя, дальше копать бессмысленно.

 , ,

hobbit
()

На что способна чистая консоль

Форум — Linux-hardware

Привет, ЛОР. :)

Время от времени натыкаюсь на споры @saahriktu и наезажающих на него. Время от времени хочу получить линукс и без иксов, и без вейланда (да-да, это специфический кейс, не для всех случаев жизни и постоянно я этим пользоваться не буду). Но вот вопрос — имеет ли оно вообще сегодня смысл…

  1. У современных видеокарт (последние лет 15 и до нашего дня) вообще остались «чисто текстовые» режимы, или они эмулируются графикой? Вот раньше драйвер мог шлёпнуть байт в видеопамять и получить текст. Сейчас такое работает?

  2. Если таковые имеются — есть ли что-нибудь побольше и покрасивее, чем 80x25?

Вот у меня в ноуте стоит AMD Radeon HD 7650M (не самая современная карта, да, но тем не менее), что из неё по этой части можно выжать?

 , ,

hobbit
()

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