LINUX.ORG.RU

Сообщения nuxster

 

Нативный сервер WoW для Linux

Галерея — Скриншоты

В процессе моих прошлых изысканий на тему нативной Diablo II для Linux, случайно наткнулся на интересный проект – AzerothCore. Это нативный сервер World of Warcraft для Linux. Он снабжён отменной инструкцией по сборке и запуску, относительно нетребователен к ресурсам и позволяет играть как с ботами так и с друзьями. Имеется большой каталог различных модулей. Увы, нативного клиента пока нет, но, благо, оригинальный отлично идёт под Wine. Всё крутится на стареньком Mac Mini под управлением Debian 12. Для игры требуется клиент версии 3.3.5a — это дополнение World of Warcraft: Wrath of the Lich King.

P.S. Жаль, что пока нет нативных Аллодов Онлайн для Linux, а так хочется 😥

>>> Просмотр (3999x1000, 5031 Kb)

 azerothcore, ,

nuxster
()

Gnome+Wayland выключение экрана после блокировки

Форум — Desktop

Доброго времени суток, уважаемые! Не так давно пользуюсь Gnome и совсем недавно заметил, что на стационарном компьютере при блокировке экрана (Win+L) не выключается монитор. Дисплей становится чёрным но он всё равно подсвечен и светодиодный индикатор горит синим цветом, как при обычном режиме работы монитора, обычно при отключении он становится оранжевый. На ноутбуке такой проблемы не наблюдается, там дисплей действительно выключается. К слову, в Sway и i3 подобного не наблюдалось.

Пробовал различные советы из интернетов, вроде:

dbus-send --session --dest=org.gnome.ScreenSaver \
 --type=method_call /org/gnome/ScreenSaver \
 org.gnome.ScreenSaver.SetActive boolean:true

Дисплей блокируется, но не отключается. Кто-то сталкивался с подобным, как лечить?

Из софта:

  • Debian 12.7
  • Kernel 6.1.0
  • Gnome 43.9

 , ,

nuxster
()

Нативная Diablo II в Linux

Галерея — Скриншоты

Немного поизучал вопрос нативного запуска Diablo в Linux.

С первой частью проблем нет, есть прекрасный проект DevilutionX, который позволяет нативно запускать Diablo I и Diablo I Hellfire. Я даже полностью смог перепройти Diablo I. Для запуска Diablo II я нашёл два проекта: OpenDiablo2 и AbyssEngine. Первый написан на Go и заброшен, репозиторий на Github readonly. Второй – проект на языке C, вроде как живой, но это не точно.

Что получается по итогу:

  • OpenDiablo2 (скриншот 1,2 слева направо) – удалось собрать и запустить. Есть звуки и музыка, можно походить по карте но никаких взаимодействий с окружающим миром. Не получается принять задание, с кем-то поговорить, открыть сундук, войти в подземелье, врагов тоже нет.

  • AbyssEngine (скриншот 3 слева направо) – так же собирается и запускается. Заставка, звук – есть, но дальше титульного экрана не пройти, т.к. нет кнопок выбора игры.

Оба проекта работают только с оригинальными mpq-файлами, благо у меня есть дистрибутивы Diablo II и Diablo II LoD. Все тесты проводил на Debian 12. Если кто-то знает полностью рабочий проект, пожалуйста, поделитесь! Очень хочется перепройти Diablo II.

З.Ы. В Diablo II Resurrected играл на приставке, очень понравилось. Но оригинал всё же более ламповый и родной.

>>> Просмотр (3840x1024, 2901 Kb)

 abyssengine, , diablo2, opendiablo2

nuxster
()

Podman rootless и сети

Форум — Admin

Доброго времени суток, уважаемые! Раньше всё как-то с докером работал и особо не погружался под капот, а сейчас появилась необходимость переходить на podman в rootless и начинаю наступать на грабли. Если запускать контейнер от рута или в привелегированном режиме, то создётся бридж cni-podman0 и контейнер нормально взаимодействует с другими подсетями, виртуальными машинами и внешним миром. А если запускать в rootless (под непривелигированным пользователем), то мост не создаётся автоматически. Конечно, наверно, можно создавать сеть руками, указывать её в параметрах запуска контейнера (я не проверял) и всё будет хорошо, но есть подозрение, что что-то можно подкрутить и всё будет работать как нужно. Подскажите пожалуйста можно ли как-то решить эту ситуацию или режим rootless как раз не предназначен для этого?

ПО:

  • Debian Linux 12
  • Kernel 6.1.0-25-amd64
  • podman 4.3.1
  • crun 1.8.1
  • conmon 2.1.6
  • slirp4netns 1.2.0

Параметры дефолтной сети podman:

{
  "cniVersion": "0.4.0",
  "name": "podman",
  "plugins": [
    {
      "type": "bridge",
      "bridge": "cni-podman0",
      "isGateway": true,
      "ipMasq": true,
      "hairpinMode": true,
      "ipam": {
        "type": "host-local",
        "routes": [{ "dst": "0.0.0.0/0" }],
        "ranges": [
          [
            {
              "subnet": "10.88.0.0/16",
              "gateway": "10.88.0.1"
            }
          ]
        ]
      }
    },
    {
      "type": "portmap",
      "capabilities": {
        "portMappings": true
      }
    },
    {
      "type": "firewall"
    },
    {
      "type": "tuning"
    }
  ]
}

 , ,

nuxster
()

GNOME для любителя тайлинга

Галерея — Скриншоты

Долгое время пользовался различными тайлинговыми WM и в целом всё устраивало, но что-то захотелось мне попробовать GNOME… Установил, потыкал палочкой, начал обживаться: пробовать различные плагины и настройки. Пришел к выводу, что автоматизировать развертывание GNOME с большим количеством плагинов и настроек будет гораздо тяжелее чем какой-нибудь Sway, а для меня это критично. Какие-то плагины не завелись вовсе, другие завелись со второго раза, третьи не завелись на второй/третий раз. В общем, решил использовать только те, которые есть в репозиториях Debian. Цель: добиться удобного, для меня, управления GNOME с клавиатуры, используя плагины из пакетной базы Debian и разворачивать всё при помощи ansible.

Управление окнами довольно удобно настраивается через gsettings, как и горячие клавиши, отключение/включение различных функций, например, уведомлений. А вот оформление окон, а именно толщина заголовков, меняется где-то в теме оформления. В идеале вообще от них избавиться. Возможно кто-то уже проделывал что-то подобное, буду признателен за содействие.

Очень люблю Debian, но не люблю тот набор пакетов, который ставится по умолчанию с GNOME. Чтобы не тянуть весь это хлам я сперва устанавливаю минимальный Debian, затем отключаю установку рекомендованных пакетов, а после устанавливаю gnome-core и все остальное. Т. к. каждый раз мне очень лениво проделывать весь этот путь, я использую ansible для автоматизации процесса.

Что на скрине:

  • Debian 12.6
  • GNOME 43.9
  • VSCodium 1.91
  • kitty 0.26
  • ranger 1.9
  • cmus 2.10
  • fish 3.6
  • duf 0.8
  • Vial 0.7.1

Задействованные плагины gnome-shell:

  • drive-menu
  • tiling-assistant
  • ubuntu-appindicators
  • caffeine
  • no-overview

Все это крутится на Lenovo Thinkpad X1 Carbon G11. Клавиатура - Lotus 58. Трекбол какой-то китайской фирмы Jomaa, но довольно удобный, умеет запоминать 2 устройства + приемник.

>>> Просмотр (1920x3240, 2040 Kb)

 ,

nuxster
()

Источники звука в pipewire/pulseaudio

Форум — Desktop

Доброго времени суток, народ! Продолжаю ковырять Pipewire и наткнулся на интересную особенность связанную с тем, что источники звука ведут себя неожиданным образом. Заранее прошу прощения, я не очень хорошо ориентируюсь в терминологии. Если у нас есть выход (наушники или монитор с динамиком), то у нас есть такая сущность как @DEFAULT_AUDIO_SINK@. Мы можем упоминать ее в различных командах для изменения уровня громкости звука.

pamixer --source @DEFAULT_AUDIO_SINK@ -i 1
pamixer --source @DEFAULT_AUDIO_SINK@ -d 1
wpctl get-volume @DEFAULT_AUDIO_SINK@

Такая же история с @DEFAULT_AUDIO_SOURCE@ если у нас есть микрофон:

pamixer --source @DEFAULT_AUDIO_SOURCE@ -i 1
pamixer --source @DEFAULT_AUDIO_SOURCE@ -d 1
wpctl get-volume @DEFAULT_AUDIO_SOURCE@

А вот если у нас нет микрофоно, но есть монитор с динамиком, подключенный по HDMI, то @DEFAULT_AUDIO_SINK@ == @DEFAULT_AUDIO_SOURCE@ и если выолнить команды:

wpctl get-volume @DEFAULT_AUDIO_SINK@
wpctl get-volume @DEFAULT_AUDIO_SOURCE@

то мы получим результат соответствующий данным с @DEFAULT_AUDIO_SINK@:

➜  wpctl get-volume @DEFAULT_AUDIO_SINK@
Volume: 0.49

~
➜  wpctl get-volume @DEFAULT_AUDIO_SOURCE@
Volume: 0.49

А команда:

wpctl set-mute @DEFAULT_AUDIO_SOURCE@ 0

отключает динамик.

Как можно отключать\запрещать @DEFAULT_AUDIO_SOURCE@ при его реальном отсутствии?

 debian pipewire pulseaudio

nuxster
()

Правила для Wireplumber/Pipewire

Форум — Desktop

Доброго времени суток! Расскажите пожалуйста, кто знает, как создавать правила для Pipewire. Знаю, что там очень широкий спектры возможностей, мне нужно для всех api.alsa.pcm.source сделать мьют и задать определенный уровинь громкости по умолчанию. Пробовал разное, что-то вроде:

table.insert(alsa_monitor.rules, {
  matches = {
    {
      { "factory.name", "equals", "api.alsa.pcm.source" },
    },
  },
   actions = {
     update-props = {
       node.param.Props = { channelVolumes = [ 0.5 0.5 ] }
     }
   }
  },
})

В файле ~/.config/wireplumber/main.lua.d/80-main.lua Не работает. А вот:

  apply_properties = {
   ["priority.driver"] = 800,
  },

Работает. Не пойму как добраться до нужных мне параметров.

 wireplumber pipewire

nuxster
()

Настройка уровня громкости в pipewire

Форум — Desktop

Доброго времени суток, уважаемые! Долго боролся с pulseaudio и решил попробовать pipewire. Но тут натыкаюсь на ровно такие же проблемы. После перезагрузки системы или перезагрузки юнита wireplumber настройки уровня громкости сбрасываются, выключенный микрофон включается, при подключении bluetooth гарнитуры уровень громкости улетает в 100%. Как установить значения по умолчанию я не нашел, так же как и подгрузку ранее установленных параметров. Может кто-то погружен достаточно хорошо в эту тему и сможет подсказать как подкрутить эти параметры?

  • Debian 12.5
  • kernel 6.1.0-20-amd64
  • sway 1.7-6
  • pipewire 0.3.65-3+deb12u1
  • pipewire-alsa 0.3.65-3+deb12u1
  • pipewire-audio 0.3.65-3+deb12u1
  • pipewire-bin 0.3.65-3+deb12u1
  • pipewire-pulse 0.3.65-3+deb12u1
  • libpipewire-0.3-0 0.3.65-3+deb12u1
  • libpipewire-0.3-modules 0.3.65-3+deb12u1
  • wireplumber 0.4.13-1
  • bluez 5.66-1+deb12u1

В Интернетах народ предлагает:

sleep 10 && alsactl --file ~/.config/asound.state restore

Можно ли задать правило для wireplumber или pipewire что бы каждый микрофон был по умолчанию в мьюте и при включении микрофон имел определенный уровень громкости?

 debian pipewire sway

nuxster
()

Громкость в pulseaudio для bluetooth гарнитур

Форум — Desktop

Доброго времени суток, уважаемые! Может кто-то из присутствующих погружен глубоко в тонкости настройки pulseaudio? Проблема следующая: при подключении bluetooth наушников или гарнитуры (пробовал разные) уровень громкости подскакивает до 100%, при отключении возвращается к исходному. С проводными девайсами такой проблемы не наблюдается. Можно ли синхронизировать уровень громкости звука для всех устройств или запоминать уровень для разных устройств?

ПО:

  • kernel: 6.5.0-0.deb12.4-amd64
  • sway 1.7-6
  • pulseaudio 16.1+dfsg1-2+b1
  • pulseaudio-module-bluetooth 16.1+dfsg1-2+b1
  • bluez 5.66-1+deb12u1
  • pavucontrol 5.0-2

 debian bluetooth pulseaudio

nuxster
()

XLink Kai на Raspberry Pi

Галерея — Скриншоты

Доброго времени суток, уважаемые!

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

Проект называется XLink Kai. Для меня он интересен тем, что ПО может работать на Linux и на одноплатниках типа Raspberry PI. Для быстрого старта есть инструкция на сайте. Я протестировал Xlink Kai, устанавливая на Raspberry Pi от первой B+ до 3-й B+ и XBox Original в качестве игровой консоли. Использовал различные варианты подключения (описаны на сайте) и разные носители. Стабильной и качественной работы добился на Raspberry Pi 3B+ c SD-картой U3 и проводной сеткой. Поддерживается работа с XBox Original/360/One, Playstation 2/3/4/PSP/Vita и т.д, полный список консолей и игр есть на сайте. Данный проект помимо «железных» игровых консолей позволяет играть по сети на некоторых эмуляторах игровых приставок. Я попытался протестировать Xemu, но данный эмулятор у меня работает нестабильно, буду еще копаться в этом направлении.

На скрине:

  • Debian 12 + Sway + Waybar
  • Xbox Original подключен через карту видеозахвата (картинка со звуком выводится через MPV)
  • Raspberry Pi с установленной на ней DietPi и XLink Kai
  • Игра Halo 2
  • Web-интерфейс XLink Kai

Веб-интерфейс XLink Kai доступен на localhost и на порту 34522 по умолчанию. Если вы будете устанавливать XLink на отдельном ПК или одноплатнике, как это делал я, самый простой и быстрый способ получить доступ к веб-интерфейсу - пробросить его порт себе на localhost:


ssh -L 34522:localhost:34522 nuxster@192.168.1.27 

Думаю, вебку можно просто перенастроить на нужный интерфейс, но я не стал в это вникать.

Так же, думаю, будет полезно запускать XLink Kai через systemd:

apt install dnsutils 

cat > /etc/systemd/system/xlink.service<<EOF 
[Unit] 
Description=XLink Kai 
StartLimitBurst=5 
StartLimitIntervalSec=200 
 
[Service] 
StandardError=journal 
StandardOutput=tty 
ExecStartPre=/bin/sh -c "until host google.com; do sleep 1; done" 
ExecStart=/usr/bin/kaiengine 
Restart=on-failure 
RestartSec=1 
Nice=-5 
 
[Install] 
WantedBy=network.target 
EOF 
 
systemctl daemon-reload 
systemctl enable xlink 
systemctl restart xlink 

Уверен, что можно сделать лучше\правильнее, мне просто нужно было его запустить.

Возможно, кто-то знает другие подобные проекты, прошу рассказать о них. Эта тема мне интересна, и я хочу поизучать ее какое-то время. Если кто-то испытывает такие же теплые чувства к старым играм и игровым железкам очень приятно было бы увидеть ваши посты.

>>> Просмотр (1918x3237, 978 Kb)

 , , , xlink

nuxster
()

Debian Stable + SwayWM + Systemd

Форум — Desktop

Доброго времени суток, уважаемые! Использую стабильный Debian 12, запускаю swaywm как unit systemd. Периодически получаю перезагрузку swaywm и в логах вижу следующие ошибки:

-- Boot 585a550b3f0e442e9530636e1f212371 --
Oct 25 17:48:40 localhost sway[65485]: wl_display_dispatch: Broken pipe
-- Boot adcd59965aa44ef2b0a1af42f85d0e5e --
Oct 25 20:10:18 localhost sway[1439]: The provided value is outside of the valid range
-- Boot 4166d524c0f145a0aaaf4c60f0cf9f49 --
Oct 26 08:50:28 localhost sway[1433]: The provided value is outside of the valid range

Сам юнит /etc/systemd/system/sway@7.service:

[Unit]
Description=Sway compositor
StartLimitBurst=5
StartLimitIntervalSec=200

[Service]
StandardError=journal
StandardOutput=journal
ExecStartPre=/usr/bin/chvt %I
ExecStart=/usr/bin/sway
TTYPath=/dev/tty%I
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
PAMName=login
User=nuxster
WorkingDirectory=/home/nuxster
EnvironmentFile=/home/nuxster/.config/sway/env
Restart=on-failure
RestartSec=1
StandardInput=tty
Nice=-5

[Install]
WantedBy=graphical.target

/home/nuxster/.config/sway/env

PATH=/home/nuxster/bin:/usr/bin
TERM=

XDG_CURRENT_DESKTOP=sway
XDG_RUNTIME_DIR=/run/user/1000
XDG_DATA_HOME=/home/nuxster/.local/share
XDG_CONFIG_HOME=/home/nuxster/.config

#FZF_DEFAULT_COMMAND="rg --files"

# Disable client-side Qt decorations
QT_WAYLAND_DISABLE_WINDOWDECORATION=1

# Requires that qt5ct package is installed
#QT_QPA_PLATFORMTHEME=qt5ct

KITTY_ENABLE_WAYLAND=1
MOZ_ENABLE_WAYLAND=1
MOZ_USE_XINPUT2=1

# Required for IntelliJ
_JAVA_AWT_WM_NONREPARENTING=1

QT_QPA_PLATFORM=wayland
GDK_BACKEND=wayland
GTK_USE_PORTAL=0

# For Waybar
LC_TIME=en_US.UTF-8
# For qalc
LC_NUMERIC=en_US.UTF-8

Версии ПО такие:

  • kernel: 6.1.0-13-amd64
  • swaywm: 1.7-6
  • systemd: 252.17-1~deb12u1

 , ,

nuxster
()

Debian 12 Qemu amdgpu Permission denied

Форум — General

Доброго времени суток, уважаемые!

Есть машинка с Debian 12, минимальная установка + sway, все пакеты ставились с опцией –no-install-recommends.

Железо:

  • CPU: AMD Ryzen 9 7940HS
  • GPU: Radeon 780M Graphics

Софт:

  • kernel: 6.1.0-13-amd64
  • libdrm-amdgpu1: 2.4.114-1+b1
  • firmware-amd-graphics: 20230210-5
  • qemu: 1.7.2
  • virt-manager: 1:4.1.0-2

Через virt-manager создаю VM, выбираю:

  • Video: Virtio + галочка 3D acceleration
  • Display: Type - Spice server, Listen type - None, галочка OpenGL

При старте получаю ошибку:

Error starting domain: internal error: qemu unexpectedly closed the monitor: /usr/share/libdrm/amdgpu.ids: Permission denied

2023-10-18T08:29:40.189364Z qemu-system-x86_64: -device {"driver":"virtio-vga-gl","id":"video0","max_outputs":1,"bus":"pcie.0","addr":"0x1"}: missing object type 'virtio-gpu-gl-device'

Без OpenGL и 3D acceleration виртуалка запускается нормально.

Подскажите, пожалуйста, куда копать.

 , , ,

nuxster
()

Micro-NAS на RPI

Галерея — Скриншоты

Завалялась у меня Raspberry Pi 3B+ и SSD в непонятном состоянии. Решил собрать сетевой мини dlna/ftp/smb-сервер. Можно быстренько закинуть фото/видео с любого устройства и посмотреть на телике. Помрет - не жалко. Для быстрого накатывания нужного софта и конфигов написал небольшой скрипт. Теперь думаю доработать его чтобы он скачивал последнюю версию DietPi, разворачивал на sd-карту и через chroot устанавливал софт и подтягивал конфиги, например, с гита. Еще думаю попробовать сразу собирать образ packer’ом со всем необходимым мне содержимым.

В конструкции используется:

Hard

  • Raspberry Pi 3B+
  • FAN 5V
  • SSD ADATA SU800
  • Корпус напечатанный на 3D-принтере: link

Soft

  • DietPi
  • minidlna
  • samba
  • vsftpd

На моем ПК (с прошлых скринов ничего не изменилось):

  • Debian trixie/sid
  • swaywm
  • waybar
  • wofi
  • fish
  • kitty
  • rangerfm
  • tmux

>>> Просмотр (1920x1080, 1944 Kb)

 , dietpi,

nuxster
()

Моё текущее рабочее место

Галерея — Рабочие места

Моё рабочее место в данный момент выглядит так. На фото можно увидеть:

  • Ноут Lenovo ThinkPad x230 (Core i7);
  • Ноут Lenovo ThinkPad T14 (Core i7);
  • Монитор Acer KG271;
  • Клавиатура Lotus 58;
  • Трекбол Logitech MX Ergo;
  • Часы Huawei Watch GT-2;
  • Asus Tinkerboard в качестве мини-NAS’а.

На ноутах:

  • Debian Sid (Bookworm);
  • SwayWM;
  • Waybar;
  • Wofi;
  • Kitty;
  • Fish;
  • RangerFM;
  • DevilutionX.

>>> Просмотр (4608x3072, 1259 Kb)

 , , , ,

nuxster
()

Debian Sid + SwayWM

Галерея — Скриншоты

Планирую переход на Sway. Постепенно пилю удобное мне окружение, но многий нужный мне софт работает не в полном объеме, частично решается установкой xwayland.

ПО которое можно наблюдать:

  • Debian bookworm/sid
  • SwayWM
  • Waybar
  • tofi
  • mako-notifier
  • wob
  • thunar
  • ranger
  • du
  • udiskie
  • cmus
  • galendae

Шрифты:

  • Sans Regular
  • Source Code Pro Medium

Оформление:

  • GTK+: Midnight-GrayNight
  • Icons: Qogir-ubuntu-dark
  • Cursor: DMZ-Black

Ищу замену привычному софту, кое-где перехожу на консольные решения. Без xwayland пока не работает gimp (версия из официального репозитория) и vscodium. Thunar в основном использую для удобного хождения по smb шарам, если есть консольная альтернатива - подскажите.

>>> Просмотр (1920x3240, 523 Kb)

 , ,

nuxster
()

Debian Sid + Awesome WM

Галерея — Скриншоты

Какое-то время пилю это окружение, пытаюсь сделать его минималистичным и лаконичным (в рамках своих критериев), при этом не утратить юзабилити. Возможно кто-то из пользователей Awesome WM поделится своими секретами или наработками.

ПО которое можно наблюдать:

  • Debian bookworm/sid
  • awesome 4.3
  • thunar 4.16.10
  • ranger 1.9.3
  • rofi 1.7.3
  • fish 3.5.1
  • kitty 0.21.2
  • blueman 2.3.1
  • duf 0.8.1
  • gnome-disk-utility 42.0

Шрифты:

  • SauceCodePro Nerd Font
  • Sans Regular
  • fonts-font-awesome 5.0.10

Оформление:

  • GTK+: Midnight-GrayNight
  • Icons: Qogir-ubuntu-dark
  • Cursor: DMZ-Black

>>> Просмотр (1921x3240, 784 Kb)

 , ,

nuxster
()

OpenVPN один пользователь и несколько устройств

Форум — Admin

Доброго времени суток, уважаемые! Возможно-ли для нескольких устройств одного пользователя задать разные статические ip? Например, если прописать в /etc/openvpn/ccd/username:

ifconfig-push 10.13.0.25 10.13.0.26

то мы задаем статический ip конкретной учетной записи, а как задать разные статические ip, например, для ноутбука и домашнего ПК? Может быть как-то по мак-адресу устройства это можно сделать? В документации я ни чего не нашел.

 

nuxster
()

Цветовые схемы для MC

Форум — General

Доброго времени суток, народ! Посоветуйте цветовую схему для MC в темных тонах. Пытался сам наваять, но с дизайном у меня беда. :-(

 ,

nuxster
()

Python/Django обработка doc,docx,xls,odt,ods-файлов

Форум — Development

Приветствую, уважаемые! Подскажите пожалуйста имел ли кто дело с обработкой документов Оффиса в python, задача в том, что бы поместить значение переменной (текст в utf-8) в определенное место в отформатированном документе (что то вроде шаблонных переменных {{ var }})? Попробовал такие вещи как Appy.Dot и django-appypod, но не заработали они у меня. Подскажите пожалуйста куда копать.

 , ,

nuxster
()

Glade Gtk.Assistant

Форум — Development

Народ подскажите пожалуйста есть ли какой нибудь туториал по работе с Gtk.Assistant или руководство по работе с ним в GLADE?

 ,

nuxster
()

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