LINUX.ORG.RU

Сообщения InterVi

 

FyneDesk: элегантная DE на go + куча классных приложений

Форум — Talks

Искал не напряжные кроссплатформенные фреймворки (спойлер: всё грустно) и наткнулся на Fyne (на самом деле давно был в закладках, но потыкал только сейчас). Проект пилят с 2018, но он ещё молодой и особой популярности у него (НЕЗАСЛУЖЕННО) нет, судя по количеству приложух.

крч, некоторые приложухи с галереи сайта:

  • Fin: логин-менеджер
  • FyneDesk: DE в стиле старой убунты на Unity
  • Fybro: простой мессенджер для Telegram, Discord, WhatsApp (как Pidgin когда-то, пока плагины под него не сдохли без поддержки)
  • YTB Downloader: простая качалка для YouTube, ничего лишнего
  • Task Manager: список задач, тоже ничего лишнего

Мне очень зашёл стиль, который не GTK и не QT, которые сильно изуродовались в последнее десятилетие. Никаких кнопок в полэкрана и всего такого — нормальный, человеческий GUI.

Накатывается легко — это же гошечка, там всё компилится в пару команд. Опакетить бы такую прекрасную находку…

Wayland поддерживается, уже давно (с 2020 где-то).

Особенно зашёл FyneDesk — я считаю, его легко допиливать под себя, да там и упор сделан именно на эту фичу. И он воплощает именно тот минимализм, которого так не хватает во всяких разожравшихся XFCE, которые сегфолтятся и до сих пор нормально не поддерживают вяленд.

@Qui-Gon глянь, это получше голого wayfire будет, который тоже сегфолтится на каждом клике. Наконец-то человеческая DE, под которую легко писать — никаких тебе си, крестов, легаси, питон-конфигов сборки на миллион строк (ведь сраный си принципиально несовместим с концепцией пакетного менеджера), растов и прочего неподдерживаемого оверхед говна. (предыстория баттхёрта)

 , ,

InterVi
()

ungoogled chromium выкинули из реп

Форум — Talks

Он несколько лет присутствовал в chaotic-aur. И вдруг я вижу его только в AUR, обновлённым на несколько версий. В репах пусто. Такое уже было, хз повторится ли этот опыт. Странно для пакета с 353 голосами, что он не в extra, а только в маргинальных репах. Добавить bin пакет в AUR разработчики не хотят.

Держу в курсе.

Кто собирал хромиум — сколько он собирается? Есть ли смысл пытаться на слабом ноуте?

Зависимости у него интересные:

:: 6 dependency также будет установлен для этой операции.
   extra/gn                 -> 0.2201.feafd101-1
   (make dependency of ungoogled-chromium)
   extra/gperf              -> 3.1-5
   (make dependency of ungoogled-chromium)
   extra/lld                -> 19.1.6-1
   (make dependency of ungoogled-chromium)
   extra/python-installer   -> 0.7.0-10
   (make dependency of python-future)
   extra/rust               -> 1:1.84.0-1
   (make dependency of ungoogled-chromium)
   extra/rust-bindgen       -> 0.71.1-1
   (make dependency of ungoogled-chromium)

 ,

InterVi
()

XFCE, как переключать раскладку под wayland?

Форум — Desktop

Желательно виджет в трей, ну или чтоб просто сочетание клавиш работало. Есть вменяемые рецепты? Смог найти только горы каких-то xml конфигов хрен пойми чего.

 , , ,

InterVi
()

ipv6 не хочет работать, как починить dns?

Форум — General

Проблема та же, что обсуждалась на арчефоруме. Только не пойму, что мне сделать с dnscrypt, чтобы работало — такие кейсы с ним не гуглятся.

[root@hard ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether f8:75:a4:7b:3a:5b brd ff:ff:ff:ff:ff:ff
3: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 28:39:26:a4:b7:01 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.101/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp1s0
       valid_lft 5282sec preferred_lft 5282sec
    inet6 fe80::6b5a:d14c:950f:a23d/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@hard ~]# ip -6 route
fe80::/64 dev wlp1s0 proto kernel metric 1024 pref medium
[root@hard ~]# ping -6 2407:a080:7000:10e::a
ping: connect: Сеть недоступна

 , , ,

InterVi
()

minetest переименовали в luanti

Форум — Talks

Уже пару недель как, новость (есть перевод на опеннете). Процесс пока только начался, потихоньку переименовывают свои ресурсы.

И ещё минорный 5.9.1 вышел. На новость нет ни сил, ни времени, поэтому сюда пишу. Чтобы напомнить о классной игре.

Его иногда засирают за баги (а у кого их нет?) и за выбор пути развития. Последнее лично мне нравится: вместо приколоченного гвоздями геймплея можно собрать игру на свой вкус, как конструктор. Что я и делаю периодически. Но в основном в voxelibre играю.

В оригинал отыграл ~10 лет, больше не вывожу. Тормозит как мразь, сжирает все ресурсы, родной лаунчер говно страшное, пиратские — ещё большее говно с вирусами, интерфейс под full hd нормально не масштабируется, а если захотеть поставить моды… продолжать могу долго. В minetest, теперь уже luanti, всё намного лучше. Даже норм звуки в модах подъехали (на мой вкус лучше, чем в оригинале).

Такие дела. Был один ЛОРовский сервачок, давно. Но всплыл. Эх, жаль…

 , ,

InterVi
()

при сборке контейнера ломается база

Форум — Admin

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

PostgreSQL Database directory appears to contain a database; Skipping initialization

2024-09-17 18:07:49.175 UTC [1] LOG:  starting PostgreSQL 16.4 (Debian 16.4-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-09-17 18:07:49.175 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-09-17 18:07:49.175 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-09-17 18:07:49.178 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-09-17 18:07:49.183 UTC [28] LOG:  database system was interrupted; last known up at 2024-09-16 22:50:19 UTC
2024-09-17 18:07:49.258 UTC [28] LOG:  database system was not properly shut down; automatic recovery in progress
2024-09-17 18:07:49.261 UTC [28] LOG:  redo starts at 0/1D7BCB8
2024-09-17 18:07:49.261 UTC [28] LOG:  invalid record length at 0/1D7BDA0: expected at least 24, got 0
2024-09-17 18:07:49.261 UTC [28] LOG:  redo done at 0/1D7BD68 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s
2024-09-17 18:07:49.264 UTC [26] LOG:  checkpoint starting: end-of-recovery immediate wait
2024-09-17 18:07:49.268 UTC [26] LOG:  checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.002 s, sync=0.001 s, total=0.006 s; sync files=2, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB; lsn=0/1D7BDA0, redo lsn=0/1D7BDA0
2024-09-17 18:07:49.272 UTC [1] LOG:  database system is ready to accept connections

И база становится девственно чиста. Собираю вот так:

sudo docker compose build
sudo docker compose up -d

хост:

Linux hostname 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug  2 20:41:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Пробовал снести все файлы — не помогло. Как они вообще могут пересекаться? Само приложение ничего странного не делает (вроде бы). Это VPS, поэтому железо протестировать не могу. Обновлял систему, перезагружал — всё работает и не ломается, даже база.

В логах приложения (на django) ничего интересного не вижу, все запросы проходят без ошибок, включая миграции. У моделей только CRUD, там просто нечему насиловать базу.

 , ,

InterVi
()

как распараллелить несколько команд?

Форум — Admin

Я часто пишу на скриптовых языках, в основном python + django. А у них нет нормального мультипотока. Это приводит к тому, что задачи по таймеру приходится выносить в отдельный контейнер.

Мне нужна тулза, которая пускает несколько команд в разных потоках и умеет писать логи, чтобы пускать несколько скриптов в одном контейнере. Есть такая? Идея лёгкая в реализации на нормальных яп, поэтому не хочу писать велосипед. Сам нашёл только очень странные решения вроде GNU parallel.

 ,

InterVi
()

ЛОР как эффект присутствия, у вас он есть?

Форум — Talks

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

Сегодня вот ardour сдох с сегфолтом на этапе парсинга конфигов. Уже когда всё раписал — в цветастой подсветке pacman.log увидел обновление libxml2:

[2024-06-13T11:39:32+0300] [ALPM] upgraded libxml2 (2.12.7-1 -> 2.13.0-1)

И откат помог. Поэтому поместил в теги — кто-нибудь ещё на это нарвётся, сегфолты могут быть и в других программах. 0x0000000000000000 in ?? () — опять сишники не справились с указателями.

А у вас есть этот ЛОР-эффект присутствия?

 , ,

InterVi
()

Ardour постоянно грузит процессор (даже когда ничего не вопроизводится)

Форум — Multimedia

В других DAW (например, LMMS) дорожки обрабатываются только во время воспроизведения или экспорта. В Ardour же это происходит постоянно, что создаёт неудобства, особенно в больших проектах. Можно ли это как-то пофиксить?

Если это важно: 8.6-1, арч. От типа дорожек (аудио или midi) не зависит (есть чисто с аудио, там то же самое).

Оффтоп, но там ещё настройки ZynAddSubFX слетают после закрытия проекта, хотелось бы тоже пофиксить.

 ,

InterVi
()

фриз диалога выбора файла

Форум — Desktop

В некоторых приложениях (например, телеграм) не могу выбрать файл — происходит зависание намертво при открытии даилога или когда уже выбрал. При этом полностью выжирается одно ядро. В KDE и mate просто долго висло с нагрузкой на проц, а в xfce вообще никак. Под другими юзерами такого поведения нет, там всё нормально. Какие конфиги в хомяке надо зачистить?

 ,

InterVi
()

почему KDE такое дерьмо?

Форум — Talks

Каждый мажорный релиз — всегда драма. Я пришёл на 4, всё было прекрасно. А в 5 сломали так, что целый год даже виджеты на рабочий стол нельзя было добавить, потому что они забивали проц на 100%. Ну и ещё много чего сломали, это стал просто мусор на несколько лет. Но всё-таки допилили. Обещали наконец стабильность, ведь теперь всё оптимизировано и нарезано на модули.

И вот опять… в новостях то всё классно. А на деле:

  • интерфейс сломан, виджеты поплыли
  • настроек нет, там тупо пустота, а тачпад это поделие вообще не видит
  • собственно, тачпадом пользоваться невозможно
  • перепахали все менюхи, хрен чего найдёшь

Остальное проверять не стал. В ближайшие N лет KDE опять будет неюзабельным куском говна.

НУ КАКОГО ЧЁРТА?!

Даже гном себе такого не позволяет.

 

InterVi
()

email без привязки к номеру

Форум — Talks

Реально ли? Нужен для ерундовой задачи, но добыть его нигде не могу. Покупать номера пока не хочется, а бесплатные не прокатывают. В некоторых местах якобы можно обойтись резервной почтой, но временные адреса оно не жрёт и сразу просит номер.

 ,

InterVi
()

поиски нормально email клиента

Форум — Desktop

Такая древняя и популярная технология, а клиент найти не могу. Он должен отвечать следующим требованиям:

  1. Минимализм, но не консоль. Никаких электронов и супер-комбайнов (как Thunderbird).
  2. Мульти-аккаунт.
  3. Есть хоть какая-то поддержка. Васянские ноунейм говнокоды компилить не буду.

Ближайшие клиенты:

  • Sylpheed: тупой (учётку нельзя удалить, лол), забагованный (imap не работает, только pop), грузит все письма вместо последних. В общем, слишком сыро.
  • Trojita: почти идеальный вариант (в некоторых папках почему-то отображает только в HTML без переключалки на plain). Но нет мульти-аккаунта (васянофорк даже без мейнтейнера в AUR не удовлетворяет 3 требование).
  • KMail: перегруженный интерфейс, супер-комбайн с прожорливым akonadi. Если был бы хотя бы без последнего — уже сойдёт.

Ну неужели больше ничего нет?

 ,

InterVi
()

паттерны для правильного (и типизированного) JavaScript

Форум — Development

Навеяно горячими стримами Мурыча. Я вот задумался: а ведь действительно, можно обойтись без TypeScript, если придумать удобные паттерны для JavaScript. Не хватает двух вещей:

  • Типизации на входе и на выходе, внутри тел функций и у констант она избыточна.
  • Интерфейсов. Для классов можно использовать наследование, но для объектов уже надо думать над валидаторами.

Без остального сахара можно обойтись.

Первое можно решить с помощью optional, как в Java. Можно написать один обработчик для всех типов (с методами getString, getInt и т. д.), или разные. Привязать к синглтону, чтобы мочь глобально отключать проверки в рантайме (например, по флагу в env). Так мы получаем удобные подсказки в редакторе и работающую проверку типов.

Вот с интерфейсами для Object / Array / Set / Map сложнее. Думаю, нужно поэкспериментировать с optional, чтобы на выходе тоже дёргались типизированные методы.

А чтобы получить типизированные интерфейсы для классов, просто наследуемся от типизированного родителя: где на входе и выходе методов optional, а тело просто делает throw new Error('not implemented').

Теоретически, это всё можно запихнуть в библиотечку. Но не знаю, дойдёт ли у меня до такого, я очень задолбался и могу разве что на своих проектах поэкспериментировать, когда (хз когда) такая возможность представится. Может, кто из ЛОРовцев осилит. Ну и высказывайте свои идеи, чтоб собрать их в кучу.

Хочется изобрести рабочую методологию для написания больших и запутанных проектов, а не использовать костыли вроде TypeScript. Это не кажется невозможным. Или может она уже есть, а я о ней не знаю? Из известного нравится подход Тимура Шемсединова: чистый JS с *.d.ts декларациями. Но это не совсем то.

 ,

InterVi
()

как подружить konqueror с khtml?

Форум — Desktop

установил khtml, выбираю его движком в настройках, но настройка всегда сбивается на WebEngine

 , ,

InterVi
()

nvim проверка грамматики (LO Writer для терминала)

Форум — General

Хочу писать markdown / txt файлы прямо в nvim, но для полноценной работы мне нужна поддержка languagetool. Сделать это можно через ltex-ls, только вот все плагины в архиве. Даже официальный coc-ltex обновлялся 2 года назад (но я этот JS-буллшит всё равно не хочу ставить). Попробовал grammar-guard — никакого эффекта, а попытка его конфигурировать вызывает вот это:

[lspconfig] Cannot access configuration for ltex-ls. Ensure this server is listed in `server_configurations.md` or added as a custom server.

Через mason накатил ltex-lsp, но тоже никакого эффекта. Есть идеи?

 , ,

InterVi
()

как IT и GNI/Linux испортили мне жизнь

Форум — Talks

Изложил, вот, свою историю и принёс вам лулзов про вход в IT.

Ъ: Тревога, выгорание, депрессия, синдром самозванца, перфекционизм, подсевшее зрение, забывчивость, слитая оффлайн жизнь. В общем, полный набор гика.

А у вас так же или я «счастливчик»?

 ,

InterVi
()

проброс порта из хоста в VirtualBox

Форум — Admin

Задача: на хосте запущен веб-сервер, нужно сделать его доступным в виртуалке. Как? Всю голову сломал, ничерта не получается. Хост — арч, виртуалка — win.

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

 , ,

InterVi
()

самый простой CI

Форум — Admin

Есть что-нибудь ещё проще, чем gocd? Мне нужно просто git pull (с паролем или ключом) по интервалу и запуск команды, если есть новые коммиты. Сам пока писать не хочу, вдруг такое уже есть.

 , ,

InterVi
()

как деплоить новый go в старые дистрибутивы?

Форум — Development

Есть проект на go 1.20.6, в нём используется go works, а модули рассортированы по директориям в internal. Точка входа — модуль cmd/main. Локально go mod download работает, а в cmd/main я просто делаю go build.

Но как это всё задеплоить на сервер? /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.32' not found я не смог победить, как ни пытался: новый glibc как всегда не собирается, а опакеченным я его не нашёл. После CGO_ENABLED=0 тоже крашится.

Хотелось бы докеризовать — это более правильный путь. Но в контейнере go в упор не видит модули, какой WORKDIR не используй. Нету их и всё тут. Соответственно, зависимости не выкачиваются и бинарник не собирается. Все найденные рецепты относятся к старым версиям, без works. А мне надо именно с works. Ничего путного не нашёл.

Помогите неосилятору.

 , ,

InterVi
()

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