pdflatex → lualatex: почти бесшовный переход
Простейшая шапка для документа, ориентированного на русскую типографику. Проверено на дистрибутиве TeX Live 2025. Кодировка по умолчанию юникодная.
( читать дальше... )
Простейшая шапка для документа, ориентированного на русскую типографику. Проверено на дистрибутиве TeX Live 2025. Кодировка по умолчанию юникодная.
( читать дальше... )
Alacritty — быстрый и минималистичный терминальный эмулятор с поддержкой ускорения через GPU. Я попробовал много разных терминалов. Меня в принципе устраивал и Konsole, но он объективно подтормаживает и трудно кастомизируется. Из современных я пробовал Ghostty, Kitty, Wezterm, но у них всех недостатки. Они тянут слишком много зависимостей, а также запускают скрипты на Python или Lua. В Alacritty же нет ничего лишнего. И отдельно напишу, что он поддерживает более стабильный (как покосившийся сарай, который, тем не менее, падать не спешит) X.Org. Единственным его недостатком является отсутствие лигатур.
( читать дальше... )
Пришел в контору, а там крутится Linux Kerio Connect аж с 2013 года. Всё бы ничего, но лицух катастрофически не хватает. Разрабы перешли на годовые подписки, что совсем не приемлемо. Open Source наше всё! Пробовать на зуб всё подряд нет никаких сил. У кого есть опыт общения с разными почтовыми продуктами интересно ваше мнение! В списке требований следующее:
Это хороший антиспам фильтр (пользовательские правила, SpamAssassinm, работа с блеклистами типа SpamHouse).
Общая адресная книга для клиентов Outlook, календари.
Антивирь например ClamAV.
Фильтр вложений.
Удобное логирование разбитое на разделы (группы) в админ панели.
Из читаного, перечитанного вырисовываются три кандидата. MailCow, iRedMail ну и ручная сборка на основе Posfix, Dovecot и.т.д. Сам ничего из этого не щупал. Посему хотелосьбы услышать мнение тех кто реально имел дело. Возможно есть и более правильные кандидаты?
Как правильно запускать на основной машине, от основного юзера (с хомяком в котором ~/.ssh/id_rsa.pub например) игры, которые естественно проприетарные и иногда даже неофициальной сборки, где есть риск закладки и зловреда, но запускать их в чистой виртуалке невозможно т.к. значительно падает производительность. Заходить в другой tty, либо заводить другой компьютер для игр, это очевидные варианты, но неудобные и не всегда возможные.
Спасибо за ответы.
Я использую настройки
--vo=gpu --profile=high-quality --gpu-context=x11egl --gpu-api=opengl --opengl-es=yes --hwdec=no --fbo-format=rgba16fЧастенько на своей печке играю, решил поглядеть, как дела с запуском игорей нативно без XWayland.
DE: GNOME 45.
Собственно, игры:
Всё запущено без иксов, как видно в выводе xlsclients. Зачем – вопрос сложный, так-то и с иксами работает не хуже. А то и лучше, т.к. в Wayland нет возможности установить кастом иконку окна без .desktop файла. Пока.
В Wine и SDL2 играх проблем не заметил – всё играется, курсор из окна не убегает. SDL2 ещё и libdecor поддерживает нормально искоропки, так что в гномовском композиторе заголовки у таких игр нормальные. glfw его тоже поддерживает, но работает кривовато из-за VulkanMod. А без него завести Minecraft нативно ещё-то приключение. Но, как проверял давно, связка работала неплохо. (потом только в 1.17 отломали).
Окно в glfw ресайзится кривовато, баг в реализации CSD и в нормальных композиторах (Kwin/wlroots) не проявляется.
Из других игорей ещё проверял Cyberpunk 2077, работает так же отлично. Конкретно wine-wayland – win, хотя есть проблемы с контекстным меню и сворачиванием. В играх оно, естественно, не нужно и не проявляется.
P.S. Вообще, изначально ждал wine-wayland из-за неприятного бага с зависанием игр на RAGE при любом вводе. Но в итоге в winex11 его тоже починили, хотя изначально думал, что вот она, победа wayland.
Завести несложно:
SDL2 - SDL_VIDEODRIVER=wayland (можно добавить в /etc/environment, но не советую).
wine (9.0+) - wine regedit -> HKCU\Software\Wine\Drivers\Graphics установить в значение wayland,x11.
Minecraft (как в других играх с GLFW не представляю) - поставить VulkanMod, игра запустится с wayland автоматически. Был способ завести без него, но работает ли он - не знаю. У меня игра просто игнорирует существование внешнего libglfw с включённым wayland.
Как я уже написал, смысла от такого не особо много. Но оно работает.
P.S. Пока писал, ничего в фоне не вылетело. Вдруг кому интересно.
Железо видно на самом скриншоте, разве что видеокарта - RX 580, но с прошивкой от 470. Потому что я ниосилил нормально андервольтнуть видеокарту, проще стало потерять 4% фпс путём «даунгрейда». Заодно потребление упало, и кулеры почти не слышно.
Ren'Py — это игровой движок для визуальных новелл, доступен на Windows, Linux, MacOS, iOS, Android.
Этот движок с самого начала поддерживает несколько платформ, но иногда разработчики платных игр на этом движке не компилируют свою игру под линукс.
Последовательность действий следующая:
1. понять, что за версия. Надо посмотреть в меню игры или добавить код в игру, который будет показывать версию движка;
2. Найти подходящую версию движка, собранную для linux;
3. скачать и распаковать эту версию;
4. подсунуть туда ресурсы игры;
5. запустить нативный бинарник.
Теперь разберем эту последовательность действий на конкретной игре, Shining Song Starnova:
1. Смотрим в меню, чтобы понять какая версия движка. К сожалению этот пункт главного меню был удален при разработке. Поэтому создаем файл version.rpy в директории game в корне игры со следующим содержимым:
screen show_version():
vbox:
text "Made with: [renpy.version_only]"
textbutton "About":
action ShowMenu("about")
init python:
config.overlay_screens.append('show_version')
После этого запускаем игру, далее загружаем игру или начинаем игру заново. После этого видим
Made with: 6.99.14.3.3347
2. Это значит что нам нужна ветка 6.99.14.3.
3. Находим и скачиваем renpy-6.99.14.3-sdk с официального сайта, здесь. Распаковываем архив renpy-6.99.14.3-sdk
4. Копируем с перезаписью директорию game из корня игры в директорию launcher из корня renpy-6.99.14.3-sdk.
5. Запускаем renpy.sh(./renpy.sh) из корня renpy-6.99.14.3-sdk
Часть 1 Часть 2 Часть 3 Часть 4 Часть 5 Часть 6 Часть 7 Часть 8 Часть 9
UART это протокол, по которому микроконтроллер может взаимодействовать с компьютером. Его можно использовать для печати отладочных сообщений, или для полноценного взаимодействия с программой, запущенной на компьютере. USART это что-то вроде расширенной версия UART, которую мы использовать не будем, в документации обычно используется именно этот термин.
( читать дальше... )
Часть 1 Часть 2 Часть 3 Часть 4 Часть 5 Часть 6 Часть 7 Часть 8 Часть 9
Все файлы можно взять тут.
В данной серии статей мы попробуем поработать с процессором STM32 с помощью GNU утилит, немного познакомимся с ассемблером и отладкой.
Примеры написаны для популярной платы blue pill, построенной на микроконтроллере STM32F103C8T6.
( читать дальше... )
RPG Maker MV - это игровой движок для RPG игр, доступен на Windows, Linux, MacOS.
RPG Maker MV фактически — это приложение на базе JavaScript-фреймворка NW.js. То есть для запуска конкретной игры надо скопировать в директорию с игрой ту же версию NW.js, что и скомпилирована для Windows. Или скопировать совместимую версию.
Процесс запуска такой:
1) Скачать NW.js последней версии, например, собранный с официального сайта здесь;
2) Распаковать полученный архив;
3) Скопировать содержимое архива в директорию с игрой (предварительно сделать бекап);
4) Протестировать, работает ли (запустить ./nw в директории с игрой);
5) Если не работает, то повторить начиная с пункта 1, но с более старой версией NW.js. И повторять пока не заработает.
У меня таким образом работали:
- Monster Girl 1000;
- The Dead End;
- Zombies_Retreat_2;
- The Zombie Island [Osanagocoronokimini](там пришлось немного адаптировать потому что по дефолту там все сохраняется в «/save», а в линуксе доступа туда нет, поправил на «save» и все стало хорошо)
Для нативной работы игр на RPG Maker VX Ace на Linux можно использовать mkxp-z. У меня работали так из коробки Black Souls и Black Souls 2, остальные не захотели, они походу WinAPI из руби дергают или там скрипты ломаются из-за разницы в версии руби, а переписать скрипты на руби я пока не осилил.
Перемещено hobbit из development
Перемещено maxcom из desktop
Всем доброго времени суток! Настал четверг, а с ним и новые скриншоты. Хотел бы поделиться своими впечатлениями и опытом использования такого великолепного wm как Hyprland.
Немного предыстории: мой путь в линухе начался с Elementary OS с их прекраснейшим Pantheon. Но шло время, а с дебиан-базед дистрами у меня не ладилось. Потом была манжарка с КДЕ, потом арч с КДЕ, потом awesome wm, потом sway и со sway я уже перескочил на сабж.
Не то чтобы я свидетель или фанат/хейтер какого-либо тулкита, но со всеми были те или иные проблемы, которые я не мог решить в силу разных обстоятельств. С пантеоном просто сумасшедшие обрезания окон (тот же Tweaks обрезало выше кнопки «применить») у КДЕ проблем было меньше, но там так же возникали какие-то невменяемые просадки фпс, которые так или иначе решались, что-то постоянно делалось и проблемы то уходили, то приходили. Бесконечное колесо генотьбы.
Оговорюсь сразу, что монитор у меня 34" потому я всегда посматривал в сторону фреймовых вм, а Bismouth кдешный не мог дать мне нужного опыта.
Awesome не зашел буквально сразу из-за иксов, под иксами у меня артефачит странным образом монитор, какие-то промаргивания случаются время от времени, потому выбор оказался у меня довольно невелик: под вяленым более-менее работают sway (как эталон работоспособности) и hyprland (о котором слышал мнения, что он не допилен).
Просидев на sway добрых 3 месяца я пришел к выводу, что мне не хватает поведения окон. Я сторонник экономии места на мониторе, а потому я сижу без гапсов и без рамок (так даже эстетичнее на мой взгляд). Без них порой очень сложно понять, куда же переключился фокус, в пылу работы я зачастую терял местоположения фокуса, а потому начал плотно задумываться о hyprland как о вм с анимашками. Накатил его, и увидел что он хорош.
Своими анимациями он вернул меня в славные времена Pantheon, где все было так уютно и мило. Но при этом остался полноценный функционал sway. В качестве анимации для окна, которое принимает фокус я поставил модуль hyprfocus (https://github.com/VortexCoyote/hyprfocus)
и добился желаемого поведения. Просто отлично.
Что еще хотелось бы сказать по существу и о главных различиях со sway:
Hyprland рендерится силами GPU. Стоит отдельно отметить рендеринг браузера, никакого тебе тиринга, окна ресайзятся очень и очень плавно, sway тут все-же курит в сторонке.
Анимация окон реализована с помощью кривой Безье, которую можно настраивать и крутить как тебе угодно, можно сделать красиво, можно добиться просто абсурдного поведения окон и тем самым несказанно себя порадовать.
Скорость анимаций настраивается, их можно отключить.
Можно закруглить окна, можно легко настроить затемнение неактивных окон, конфиг после его изменения не нужно обновлять сочетанием клавиш, он автоматически сразу же обновляется после сохранения.
Немного придется изменить модули waybar, но не критично. Сам конфиг файл, как продемонстрировано на скриншоте очень и очень напоминает таковой у I3/Sway, так что переход безболезненный.
С перемещением фокуса перемещается так же курсор мыши, становится прямо в центре окна принявшего фокус.
Анимашки и правда красивые и приятные глазу. Есть неплохое API, если покурить то написать модуль самому на С++ не составит труда. Развивается WM семимильными шагами, каких-либо артефактов, странного поведения я за месяц не заметил. Все работает так же железно и стабильно как и у Sway (привет обзорщикам hyprland с ютаба)
и да, на всякий случай скажу, что если вдруг кто-то решит перейти со sway на hyprland чтобы опробовать то не забудьте поставить xdg-desktop-portal-hyprland. а конфликтующий от свея удалить. Чуть допилить напильником вейбар и все отлично будет работать, я sway к слову так и не удалил, места он не занимает а я может еще и вернусь к нему, ибо переход между ними совсем уж безболезненный.
Задавайте ответы.
Скачиваю аудиокнигу с ютуба в виде mp3, без ненужного видео. Автор потрудился поставить в описании таймкоды. Вопрос - может ли данная утилита после скачивания и вытаскивания mp3, порезать его по ним с именованием по описанию?
Скачать и сохранить только .mp3:
yt-dlp -x --audio-format mp3 -f "bestaudio/best" --write-description https://youtu.be/DtBkEqADtKQ
Смотрим скачанное описание:
cat 🐙[УЖАСЫ]\ Джеймс\ Герберт\ -\ Туман.\ Аудиокнига.\ Читает\ Олег\ Булдаков\ [DtBkEqADtKQ].description
...
00:00:00 Пролог
00:04:19 Глава 1
00:11:54 Глава 2
00:29:51 Глава 3
...
07:37:13 Глава 20
08:03:05 Глава 21
08:57:46 Глава 22
...
Вот по этим таймингам я и хочу порезать. И чтобы всё сложилось в отдельную папку с файлами по описанию после тайминга. Такое возможно?
Как мне правильно поставить пакеты для того, чтобы в Steam заработал Vulkan?
Информация о текущих установленных пакетах:
pacman --list -S | grep amd
core amd-ucode 20220119.0c6a7b3-2 [installed]
extra amdvlk 2022.Q1.2-1
extra xf86-video-amdgpu 21.0.0-2 [installed]
community opensmtpd-filter-rspamd 0.1.7-2
community rspamd 3.1-3
community ruby-kramdown 2.3.1-2
community yamdi 1.9-4
multilib lib32-amdvlk 2022.Q1.2-1 [installed]
steam@lh:/home/user$ pacman --list -S | grep vlk
extra amdvlk 2022.Q1.2-1
multilib lib32-amdvlk 2022.Q1.2-1 [installed]
steam@lh:/home/user$ pacman --list -S | grep vulkan
extra vulkan-extra-layers 1.2.189.0-1
extra vulkan-extra-tools 1.2.189.0-1
extra vulkan-headers 1:1.3.204-1 [installed]
extra vulkan-html-docs 1:1.3.204-1
extra vulkan-icd-loader 1.2.203-1 [installed]
extra vulkan-intel 21.3.5-1
extra vulkan-mesa-layers 21.3.5-1 [installed]
extra vulkan-radeon 21.3.5-1 [installed]
extra vulkan-swrast 21.3.5-1
extra vulkan-tools 1.2.203-1 [installed]
extra vulkan-validation-layers 1.2.203-1
multilib lib32-vulkan-icd-loader 1.2.203-1 [installed]
multilib lib32-vulkan-intel 21.3.5-1
multilib lib32-vulkan-mesa-layers 21.3.5-1
multilib lib32-vulkan-radeon 21.3.5-1
multilib lib32-vulkan-validation-layers 1.2.203-1
steam@lh:/home/user$ pacman --list -S | grep radeon
extra vulkan-radeon 21.3.5-1 [installed]
community radeontool 1.6.3-4
community radeontop 1.4-1
multilib lib32-vulkan-radeon 21.3.5-1
steam@lh:/home/user$ pacman --list -S | grep steam
multilib steam 1.0.0.74-1 [installed]
multilib steam-native-runtime 1.0.0.70-2 [installed]
steam@lh:/home/user$
Здравствуйте, любители свежей олдятинки!
Провёл ревизию и выяснил, что есть вполне живые и работоспособные движки к классическим игрушкам. Вот некоторые примеры:
Давно хотел осциллограф себе домой, но как-то всё не было причины для покупки. Наконец она появилась и теперь я осваиваю новёхонький Rigol DS1054Z. В процессе освоения возникла необходимость иметь результаты измерений на компьютере. Сам по себе этот осциллограф умеет экспортировать результаты в csv на флешку, но это не очень удобно – перетыкать туда-сюда флешку. Производитель предоставляет софт, но он только под оффтопик.
После непродолжительных поисков, я нашёл открытый софт для управления осциллографами и др девайсами по сети LXI Tools. Всё что требуется, это поддержка устройством команд SCPI. Моя модель осциллографа полностью совместима и позволяет менять задавать параметры, получать результаты измерений и изображения экрана и всё это по сети. Есть графический интерфейс и cli утилита. Можно подключить осциллограф к устройству и полностью контролировать его удалённо. Довольно легко даже автотесты написать.
На скрине измерения частоты поданной с выхода GPCLK0 Raspberry Pi 3B+.
Недавно было высказано мнение, что Virtualbox фуфло и нет никакого смысла в нем даже для запуска Windows в качестве гостя.
Я задумался, и решил пропробовать поднять Windows 10 гость через Virt Manager.
И уперся в казалось бы, простейший вопрос - как создать shared папку? Кто использует винду на KVM, подскажите, как вы делаете.
ИТАК, РЕШЕНИЕ!!! Со встроенной в qemu самбой. Есть в треде, но там пропущен один пункт и оно не работает. Здесь - полное.
Создаем виртуальную машину с Win10 в Virt Manager, все по дефолту.
Удаляем сетевую карту (дефолтную) из оборудования.
Включаем редактирование XML в настройках Virt Manager, переходим на вкладку XML и добавляем:
В тег <domain>
xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0"
И одновременно с этим - именно одновременно! Иначе никакие изменения сохраняться не будут! Меняем /path/to/folder на свой путь.
В конец перед </domain>
<qemu:commandline>
<qemu:arg value="-net"/>
<qemu:arg value="nic"/>
<qemu:arg value="-net"/>
<qemu:arg value="user,smb=/path/to/folder>
</qemu:commandline>
<video>
<model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/>
<alias name="video0"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/>
</video>
security_default_confied = 0
seccomp_sandbox = 0
security_driver = "none"
7.После этого в винде:
Проводник -> Этот компьютер -> Подключить сетевой диск
на адрес
\\10.0.2.4\qemu
ВАЖНО!!! Чтобы был доступ не только на чтение, qemu должен иметь права на работу с расшаренной папкой. А через Virt Manager он запускается по умолчанию не от имени текущего пользователя! (В отличие от прямого запуска qemu_system из консоли, как многие тут любят, и с чем проблемы нет).
Исправляем это в /etc/libvirt/qemu.conf
user = "username"
group = "groupname"
где username, groupname это ваш текущий пользователь и группа, которому принадлежит расшариваемая папка!
Плюс к этому - есть способ через Virtio FS, расписан тут. Подключает папку как локальный диск, без всякой самбы, и с высокой производительностью. Но - там какие-то заморочки с правами на запись, я пока не разобрался, и в этом случае перестает работать Выключить -> Сохранить (состояние виртуалки).
Вот ссылка на источник, из которого брался процесс настройки для этого случая
https://libvirt.org/kbase/virtiofs.html
А кто неосилятор - тот может запустить системную самбу, вместо встроенной в Qemu и порадоваться красивому костылизму.
Какие патчи используете? Я остановился на:
1.autostart. Позволяет запускать аплекухи из ~/.dwm/autostart.sh
2.systray. Добавляет systray в панель
3.noborder. Убирает border, если в теге открыто одно окно
4.pertag. Позволяет на каждом теге иметь независимый layout и mfact
5.cfacts. Добавляет возможность горизонтальный размер окна
6.cyclelayouts. Позволяет циклически менять layout
7.zoomswap. Запоминает расположение окна при его перемещении в мастер область. Если его переместить из мастер области, то окно возвращается на своё место. К примеру, есть три окна 1,2,3. Когда мы перемещаем в мастер область окно по MODKEY+XK_Return в мастер область, а потом делаем еще раз MODKEY+XK_Return, то окно возвращается в позицию 3(по дефолту окно помещается в позицию 2
Интересно было бы услышать, кто что юзает помимо этого
На YouTube на канале corehard стали доступны видеозаписи следующих докладов с прошедшей в конце ноября конференции C++ CoreHard 2019:
Ссылка на плейлист: https://www.youtube.com/playlist?list=PLgsLnJ-wgYTaGUCiwpLKtJ4XkSy_vf9C-
На YouTube на канале corehard стали доступны видеозаписи следующих докладов с прошедшей весной конференции C++ CoreHard 2019:
Доброго времени всем! Накидайте вариантов, кто чем пользуется, расскажите, пожалуйста.
| следующие → |