LINUX.ORG.RU

Сообщения hobbit

 

Ищу аналоги Adobe Captivate

 ,

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

Ищу аналоги Adobe Captivate под линукс, желательно опенсорсные.

В гугле забанили либо не предлагают ничего, либо предлагают скриншотилки экрана. Но Captivate — это не просто скриншотилка, это решение для создания учебных материалов. В том числе на основании скриншотов. И с возможностью экспорта всего этого чуда в вездесущий HTML5.

Есть что-то подобное?

hobbit
()

Шрифты, надстрочники и подстрочники в Inkscape

 

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

Inkscape 1.0.1, Linux Manjaro. Добавляю текстовый объект, начинаю менять его свойства. Хотелось бы иметь возможность добавлять на векторную картинку обозначения с надстрочными и подстрочными индексами.

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

Вопрос 2. Реализовано ли это для части объекта? Я нашёл шрифт с поддержкой верхнего индекса, пишу слово из 6 букв, выделяю 3 последних символа, выбираю «верхний индекс» - верхним индексом рисуется только последний символ. Ну и у меня подозрение, что это тоже зависит от шрифта, см. вопрос 1.

hobbit
()

Последний комментарий

 

Добрый вечер.

Я тут у одного регистранта вижу в профиле «Последний комментарий» от декабря, делаю поиск его комментариев — последний комментарий августовский.

С чем связано? Глюк движка? Или дата «Последний комментарий» показывается с учётом удалённых?

hobbit
()

Вызывается ли файл .profile в 2021 году

 ,

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

В инструкции по установке texlive-full предписывается отредактировать файл ~/.profile. Но вот я у себя в хомяке такого файла не наблюдаю. И при создании c нуля тестового пользователя kamikadze :) он тоже не создаётся.

Создать файл я могу руками, не вопрос, но использует ли его система? Или PATH теперь надо прописывать в какое-то «более другое» место?

hobbit
()

Battle.net падает

 ,

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

Manjaro KDE. Снёс wine 5.22 из pacman, поставил wine-6.0-rc3-staging-tkg-amd64 из репозитория @Kron4ek.

Запускаю инсталлятор WoW. Он качает обновление Battle.net и запускает его. Появляется окно с логином и паролем, нижняя часть окна с кнопками не подгружается, крутится прогресс. Начинают вылетать диалоговые окна «В программе Battle.net обнаружена серьёзная ошибка. Программа будет закрыта».

В консоли в это же время (кусок лога):

02d4:fixme:d3d_shader:print_glsl_info_log     0(24) : warning C7050: "vs_out[29]" might be used before being initialized
02d4:fixme:d3d_shader:print_glsl_info_log     0(24) : warning C7050: "vs_out[30]" might be used before being initialized
02d4:fixme:d3d_shader:print_glsl_info_log     0(24) : warning C7050: "vs_out[31]" might be used before being initialized
0324:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
030c:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
0334:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFA, 07D3FEF8
0338:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFA, 07E4FEF8
030c:fixme:ntdll:EtwEventRegister ({d2d578d9-2936-45b6-a09f-30e32715f42d}, 02DFD660, 0712F808, 0712F808) stub.
0324:fixme:ntdll:EtwEventRegister ({d2d578d9-2936-45b6-a09f-30e32715f42d}, 02DFD660, 0712F808, 0712F808) stub.
030c:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
0324:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
0324:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0360:fixme:winsock:WSALookupServiceBeginW (0x93cf2f4 0x00000ff0 0x93cf330) Stub!
[1222/195423.134:ERROR:network_change_notifier_win.cc(142)] WSALookupServiceBegin failed with: 0
0360:fixme:iphlpapi:NotifyAddrChange (Handle 0x93cf470, overlapped 0x7b65d90): stub
0360:fixme:wlanapi:WlanEnumInterfaces (00000001, 00000000, 093CEFDC) semi-stub
0360:fixme:wlanapi:WlanEnumInterfaces (00000001, 00000000, 093CEFDC) semi-stub
0350:fixme:file:NtLockFile I/O completion on lock not implemented yet
0324:fixme:thread:QueryThreadCycleTime (FFFFFFFE,0071EE00): stub!
0024:fixme:win:FlashWindowEx 0031C0BC - semi-stub
01f0:fixme:file:ReplaceFileW Ignoring flags 2
01f0:fixme:dwrite:dwritefactory3_GetSystemFontSet 0x11d61a00, 0xd17f87c: stub
wine: Unhandled exception 0x80000003 in thread 324 at address 03C38D60 (thread 0324), starting debugger...
017c:fixme:winsock:server_ioctl_sock Unsupported ioctl 4004747b (device=4004 access=1 func=d1e method=3)
017c:fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (SIO_IDEAL_SEND_BACKLOG_QUERY)

Unhandled exception — строка, непосредственно предшествующая ошибке. Программа, тем не менее, не закрывается, и окно это вываливается ещё 10 раз с такими же записями в логе. После этого окно логина продолжает висеть. Последние сообщения в логе:

0210:fixme:dxgi:d3d11_swapchain_Present1 Ignored present parameters 0x71e8f4.
038c:fixme:file:ReplaceFileW Ignoring flags 2
0424:fixme:file:ReplaceFileW Ignoring flags 2
^[[5~^[[5~0024:fixme:win:GetPointerDevices (0031C5CC 00000000): partial stub
0024:fixme:system:GetDisplayConfigBufferSizes (0x2 0031C5CC 0031C5C8): semi-stub
0024:fixme:system:DisplayConfigGetDeviceInfo Unimplemented packet type: 11
0024:fixme:win:FlashWindowEx 0031970C - semi-stub
0024:fixme:win:FlashWindowEx 0031C8C4 - semi-stub

Из этого состояния программа уже не выходит.

Куда копать?

hobbit
()

Снова про mc.ext

 ,

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

После переезда на Manjaro обнаружил, что в Midnight Commander 4.8.25 перестал работать файл расширений ~/.config/mc/mc.ext. К примеру, нажатие Enter-ом по zip-архиву никуда не переходит, в то время как ручной переход в xxx.zip/uzip:// работает замечательно. Аналогичная картина с другими расширениями. У владельца хомяка есть права на запись и чтение ~/.config/mc/mc.ext.

Я помню, что-то аналогичное было лет 8 назад, когда это всё переезжало из ~ в ~/.config. Опять переехало? Но ведь команда «Команда -> Редактировать файл расширений» открывает именно этот файл!

hobbit
()

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

 , weblate,

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

Как возможно, некоторые помнят, у моего проекта на гитхабе есть коллективный перевод на сервисе 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

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

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

hobbit
()

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

 , ,

Добрый день.

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

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

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

Я доволен.

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

hobbit
()

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

 

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

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

git merge weblate/master

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

hobbit
()

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

 , ,

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

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

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

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

hobbit
()

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

 ,

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

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

hobbit
()

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

 

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

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

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

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

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

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

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

hobbit
()

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

 

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

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

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

hobbit
()

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

 

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

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

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

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

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

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

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

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

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

hobbit
()

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

 , ,

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

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

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

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

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

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

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

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

hobbit
()

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

 , ,

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

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

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

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

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

hobbit
()

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

 

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

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

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

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

hobbit
()

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

 ,

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

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

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

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

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

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

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

hobbit
()

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

 ,

Доброй ночи, ЛОР.
Разбирая в своей программе структуры 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
()

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

 

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

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

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

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

Нет?

hobbit
()

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