LINUX.ORG.RU

Избранные сообщения Bfgeshka

Пользовательские сервисы OpenRC: инструкция по применению

 , , ,

Как я уже писал раньше, в систему инициализации OpenRC недавно добавлена возможность запускать сервисы в пользовательской сессии. В этой статье я покажу, как этим пользоваться, на примере pipewire в Alpine Linux.

Что было раньше

Раньше в пакете с pipewire поставлялся (и до сих пор поставляется) скрипт /usr/libexec/pipewire-launcher, который предлагалось прописывать в конфиге sway. Особенность этого сетапа в том, что после остановки Sway все запущенные им в background процессы оставались висеть в памяти, и перед последующим запуском их предлагалось прибивать с помощью pkill. Не говоря уже про полное отсутствие логов, их не было.

( читать дальше... )

Lrrr
()

Гитара + Linux + СПО: быстрое руководство 2025

 , , ,

Рассмотрим сначала базовую задачу — как играть, при использовании преимущественно СПО. Про запись гитары, и про коммерческое ПО - возможно, будет отдельно.

Итак, у вас есть гитара, и вы хотите использовать компьютер как гитарный процессор для нее, вместо гитарного комбика. Что надо знать, актуальный список пунктов на 2025 год:

( читать дальше... )

James_Holden
()

MuseScore Studio 4.5

 ,

Группа Мультимедиа

Выпущена новая версия свободного нотного редактора MuseScore Studio, написанного на C++ с использованием Qt/QML и распространяемого на условиях GPLv3+.

( читать дальше... )

>>> Видео к релизу

>>> Подробности (musescore.org)

AP
()

Qod. Опубликовал исходники компилятора, над которым работаю

 , qod, ,

Финально определился с названием языка, подчистил разные хвосты и написал README. Теперь наконец-то можно посмотреть на нечто большее, чем просто фрагменты кода в постах на форуме: https://github.com/wandrien/qod/

Драфты по дизайну языка пока еще не готовы. Если перед НГ завала работы не будет, то может выложу их в течение пары недель. Черновики пишу на русском, осилить всё чётко сформулировать на английском в разумные сроки я точно не смогу. На русском-то не всегда получается.

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

А пока можно посмотреть на сам код вживую.

wandrien
()

PlutoVG 1.0.0

 , , ,

Группа Разработка

11 марта состоялся первый значительный выпуск 1.0.0 библиотеки двухмерной векторной графики PlutoVG, написанной на языке C и распространяемой по лицензии MIT. У библиотеки нет сторонних зависимостей.

Возможности библиотеки:

  • стили рисования линий;
  • сплошное, градиентное и текстурное закрашивание;
  • шрифты и текст;
  • обрезка и композиция;
  • трансформации;
  • изображения.

( читать дальше... )

>>> Список изменений на GitHub (github.com)

dataman
()

Что почитать C++ программистам

 ,

Предлагаю вашему вниманию две бесплатные электронные книги. Первая написана мной: «Вредные советы для C++ программистов» (PDF-формат). Это переработанный под печать вариант «60 антипаттернов для С++ программиста». Если вы уже читали 60 антипаттернов, то, пожалуй, читать новый вариант смысла нет. А если нет, то рекомендую — это и возможность местами улыбнуться, и польза.

Теперь про вторую книгу: «Путеводитель C++ программиста по неопределённому поведению». Здесь я был редактором, автор: Дмитрий Свиридкин. Книга опубликована частями, ссылки на которые приведены ниже. Сейчас Дмитрий перерабатывает материал под книжное издание, но это отдельная история.

  1. Часть 1: предисловие, что такое неопределённое поведение, и как оно проявляется, сужающие преобразования и неявное приведение типов.
  2. Часть 2: переполнение целых знаковых чисел, числа с плавающей точкой, integer promotion, char и знаковое расширение.
  3. Часть 3: висячие ссылки, string_view, синтаксический сахар с ложкой дёгтя (range-based for), self-reference, std::vector и инвалидация ссылок.
  4. Часть 4: списки захвата лямбда-функций, кортежи, внезапная мутабельность, неявные ссылки, use-after-move, lifetime extension.
  5. Часть 5: Most Vexing Parse, неконстантные константы, семантика перемещения, std::enable_if_t против std::void_t, забытый return.
  6. Часть 6: эллипсис и функции, operator [], iostreams (счастливой отладки!), оператор запятая, function-try-block, типы «нулевого» размера.
  7. Часть 7: NULL-терминированные строки, std::shared_ptr, (не)явное приведение типов, как передать стандартную функцию и ничего не сломать.
  8. Часть 8: бесконечные циклы и проблема остановки, рекурсия, ложный noexcept, переполнение буфера.
  9. Часть 9: (N)RVO vs RAII, разыменование нулевых указателей, static initialization order fiasco, static inline, нарушение ODR, зарезервированные имена.
  10. Часть 10: тривиальные типы и ABI, неинициализированные переменные, С++20 unbounded ranges, невиртуальные виртуальные функции, VLA.
  11. Часть 11: невалидные указатели, placement new для массивов, data race, повторный захват mutex, сигнало(не)безопасность, как сделать всё правильно и уйти в deadlock.
  12. Часть 12: std::vector::reserve и std::vector::resize, невыровненные ссылки, время жизни и смерти, статический анализ и UB, заключение.

И последнее: если пропустили, в конце 2024 года, как всегда, вышла подборка про самые интересные из найденных нами багов: Топ-10 ошибок в C и C++ проектах за 2024 год.

Andrey_Karpov_2020
()

DNS-Over-QUIC для блокировки рекламы и не только

 , , ,

DNS-Over-QUIC для блокировки рекламы и не только

Протокол QUIC, в отличие от UDP поддерживает шифрование и работает быстрее чем TCP, который часто используется для шифрованных DNS-запросов. Данная инструкция актуальная, так как Google все-таки начал удаление поддержки блокировщиков рекламы из своего браузера. Кроме того, она пригодится тем, кто хочет скрыть свое пребывание в Интернете от тотальной слежки.

( читать дальше... )

rtxtxtrx
()

О Gentoo

 , , , ,

Здравствуйте! Вопрос будет о тмпфс и своп-файле. Так вот. Я обнулил диски с Гентой и после пары недель отдыха от компьютера решил снова установить Генту и поэтому составляю план установки Генту.

При составлении плана установки Генту у меня появились вопросы.

У меня 32 гига ОЗУ. Во-первых, насколько оправдан размер тмпфс в 25 гигов (/tmp 8 /var/tmp/portage 16 /run 1)?

Во-вторых, можно ли одновременно использовать zram и zswap? Работать это должно так сначала заполняется ОЗУ и когда заполнится ОЗУ то данные будут сжиматься в zram (8 гигов пусть будет) а на всякий случай если вдруг так случится что заполнится zram то данные будут идти через zswap в своп-файл (4 гигов пусть будет). То есть приоритет у zram допустим 100 а у zswap 10. Норм или нет? Помогите. А точно это домашний ПК и я не планирую одновременно обновлять мир и играть в игры то есть теоретически 32 гига ОЗУ должно хватить а всё остальное это на всякий случай и если вдруг так случится. БЯМ говорит что всё окей но я погуглил и вот тут же на ЛОРе нашёл темы в которых это обсуждалось и в этих темах были озвучены разные мнения. Кто-то за кто-то против…

Ещё один вопрос. Кто-то использует Hardened профиль на относительно современном железе? Нет ли проблем с совместимостью (в частности с Nvidia)? Насколько заметно снизилась производительность? И ещё один вопрос. AppArmor или SELinux? В пользу AppArmor простота и меньшее потребление ресурсов (?) а в пользу SELinux большие возможности (?) и на моём процессоре разница в потреблении ресурсов должна быть незаметна. Также Генту вроде как больше для SELinux? Даже SELinux профиль есть…

P.S. я назвал кота Псом в честь Котопса. Как вам?

trichetyre
()

Разработка эмулятора продолжается

 ,

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

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

peeruoeso
()

EA открыла исходный код Command & Conquer Red Alert

 ,

EA открыла исходный код Command & Conquer Red Alert
Группа Игры

Компания Electronic Arts (EA) объявила об открытии исходного кода игры Command & Conquer Red Alert под лицензией GPL. Вместе с ней также стали доступны исходные коды Command & Conquer Tiberian Dawn, Renegade и Generals - Zero Hour.

Теперь исходный код этих игр доступен под лицензией GPL и может быть модифицирован и расширен сообществом фанатов. Это также позволяет создавать версии этих игр для различных платформ в будущем. В течение последнего года EA работала над восстановлением исходного кода этих классических игр C&C из архивов Perforce.

( читать дальше... )

>>> GitHub EA

>>> Подробности на phoronix.com (phoronix.com)

CrX
()

Gifsicle 1.96

 , , , ,

Gifsicle 1.96
Группа Мультимедиа

После годового перерыва состоялся выпуск 1.96 консольной утилиты Gifsicle, предназначенной для создания и редактирования изображений и анимаций в формате GIF (wikipedia.org), а также для получения информации о файлах в этом формате. В комплект поставки также входят утилиты gifdiff и gifview (для X11) для сравнения и просмотра файлов GIF, соответственно.

( читать дальше... )

>>> Исходный код на GitHub

>>> Список изменений на lcdf.org/gifsicle (lcdf.org)

dataman
()

miniaudio 0.11.22

 , , miniaudio,

miniaudio 0.11.22
Группа Разработка

24 февраля, после более года разработки, состоялся выпуск 0.11.22 кроссплатформенной библиотеки захвата и воспроизведения звука miniaudio, написанной на языке C и распространяемой, как общественное достояние. miniaudio работает на всех основных настольных и мобильных платформах без сторонних зависимостей.

( читать дальше... )

>>> Список изменений на GitHub (github.com)

dataman
()

Tcl/tk. GUI на SVG-виджетах. Часть I

 , , , ,

Хочу представить свой пет-проект . Создан он в недрах tсl/tk, который, по моему мнению, многие недооценивают. В статье речь пойдет не столько о tcl (хотя все примеры и сам проект написаны именно на нем), а сколько о tk.

( читать дальше... )

TclTk
()

Какой лаунчер использовать для minecraft на arch?

 ,

Всем привет! Какой лучше всего использовать лаунчер кубиков на арче? И может есть специальный лаунчер именно для арча?

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

superpro22222
()

ANAKRON — новый моноширный растровый шрифт с поддержкой кириллицы

 ,

https://github.com/molarmanful/ANAKRON

Перемещено dataman из opensource

anonymous
()

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

 , ,

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

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

  • Fin (fyne.io): логин-менеджер
  • 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
()

Лучший способ определить, на какой ФС находится файл.

 , , фс

Может есть что-то попроще, чем прочитать /etc/mtab и проверить, какой смонтированной ФС принадлежит путевое имя файла? Программа на Си.

zloy_starper
()

Astroterm — карта звёздного неба в терминале

 , , ,

Группа Мультимедиа

Студент Корнеллского университета Далтон Лус представил открытый проект astroterm – карту звёздного неба в терминале. Исходный код программы написан на C и немного на Python и опубликован на GitHub под лицензией MIT.

Особенности:

🔭 выбор любой даты, времени и местоположения для исследования прошлых, настоящих или будущих небесных явлений
📐 просмотр Луны, звёзд и планет с максимальной точностью, которую позволяет графика терминала
🌘 точные фазы Луны в режиме реального времени
🌌 подробные формы созвездий
⚡ лёгкая и быстрая ASCII-графика

>>> ГитХаб проекта

>>> новость на Хабре

>>> гифка с работой программы, которая не влезла на ЛОР из-за размера

avgust23
()

Во что поиграть, если у тебя нет современного железа?

 ,

Привет, ЛОР!

Серьезная просьба к вам: поделитесь играми, в которые стоить поиграть человеку, который никогда не играл в сталкера, халфу, диаблу и хочет наверстать упущенные крутые проекты. По крайней мере, в народе ходят слухи, что они могут быть «о боже, 10 из 10».

Условия запуска: проц со встройкой или старые видеокарты типа radeon 4650.

Пожелания:

  1. Эра до PS4 (говорят, что тогда оптимизация ещё существовала).
  2. 3D или изометрия.

Вкус автора:

  • Vampire: The Masquerade — Bloodlines (когда хочешь поиграть в шахматы, но блондинка уходит в отказ)
  • Condemned: Criminal Origins (когда насолил алкашам из соседнего подъезда)
  • Prince of Persia (1, 2, а вы что, не чувствуете, как Дахака, встав на карачки, преследует вас?)
  • Assassin’s Creed (первая часть навеки, а то всё бабы-бабы)
  • F.E.A.R. 2 (да-да, первая часть лучше, но мне заходит вторая, пмс - дело серьезное, да ещё и с графоном)
  • Sanitarium (а кто не катал свои подружку на санках?)
  • Deponia (вы выносите мусор регулярно?)
  • Manhunt (когда соседи не дают поспать после суток)
  • Dark Messiah of Might and Magic (когда нужно научится бить с ноги в короткие сроки)
  • Need for Speed: Most Wanted (когда дпс по-настоящему любит тебя)

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

Вот совсем не заходят мне эти ваши герои меча и магии 3 - в топку их. Есть только слабость к слэшэрам. Не надоели до сих пор, даже приметил «The Lord of the Rings: War in the North», о коей никогда раньше не слышал.

Reptile
()

Игры в терминале

 , , ,

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

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

Теги для поисковых ботов (жрите мои любимые ботики): ascii games, terminal games, ncurses games, tty games, console games, cli games, tui games, text-based games, command line games, игры в терминале, игры в консоле, игры для командной строки.

Критерии отбора:

  1. Язык программирования: Си(в приоритете), си++. Остальные пока не рассматриваются. Потенциальные в будущем - ада, фортран, бейсик, паскаль. Жирный пайтон идет лесом, хипстерские гоу, раст и иже с ними туда же.
  2. Открытые исходники с лицензиями, позволяющими модификацию, не препятствующие распространению. Свободные и одобренные дядюшкой Столлманом в приоритете.
  3. Зависимости. Без sdl и других графических либ. Опционально пускай будет, например, для музыки. Но не навязывается. NCurses и подобные библиотеки для работы с терминалом всяко одобряются и котируются. Не приветствуются в зависимостях всякие гугловские юнит тесты и другие чёрт ногу сломит либы. Для маленьких терминальных игр эта мишура не нужна.

Источники игорей:

  1. https://ttygames.wordpress.com/
  2. https://github.com/ligurio/awesome-ttygames
  3. https://inconsolation.wordpress.com/
  4. https://kmandla.wordpress.com/
  5. https://ibiblio.org/pub/linux/games/ Артефакты прошлого. Игры для терминала надо искать. Не всё собирается с современным компилятором.
  6. gopher://sdf.org/9/users/saahriktu/bttf/gamez_p0.tar.lzma (использовать lynx) - сборник ascii игр, собранный камрадом @saahriktu
  7. https://www.youtube.com/user/livibetter/videos
  8. https://zenway.ru/tag/ASCII
  9. https://blends.debian.org/games/tasks/console
  10. ASCII игры по Linux
  11. Поиск на github.com, gitlab.com по соответствующим запросам
  12. Поиск рогаликов на http://www.roguebasin.com/index.php?title=Category:Roguelike_games
  13. Все поисковики, даже малоизвестные иногда выдают страницы, на которые не попадешь с гугла или яндекса.

Сами игори:

!!!NEW!!! 1. 8f (linux.org.ru) - Терминальный вариант карточной игры Сумасшедшие восьмёрки (Crazy Eights).

  1. Alienwave - Сложная Galaga-подобная игра с хорошим ascii-артом.
  2. Bricktick - Красивый клон арканоида с бонусами.
  3. CLines - Качественная реализация всеми известной офисной игры Color Lines.
  4. Dominoes - Реализация одного из вариантов игры Домино.
  5. Lwrace - Бегаем символом «O», собираем «$», избегаем «#», уворачиваемся от «o».
  6. Morpion solitaire - Отличная реализация отличной же тетрадной игры Join Five.
  7. MyMan - Пакман для терминала с множеством настроек.
  8. Peg-solitaire.c - Добротная реализация одноименной настольной игры с 5-ю раскладками.
  9. XT gyoretsu - Воссозданная с любовью и с ncurses старая тетрадная игра.
  10. Ztrack - Псевдо-тридешные гоночки с красивым бэкграундом.
  11. to be continued
nab_linux
()