LINUX.ORG.RU

Сообщения nuxster

 

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

Доброго времени суток, народ! Продолжаю ковырять 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

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

Доброго времени суток, уважаемые! Долго боролся с 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 гарнитур

Доброго времени суток, уважаемые! Может кто-то из присутствующих погружен глубоко в тонкости настройки 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
()

Debian Stable + SwayWM + Systemd

Доброго времени суток, уважаемые! Использую стабильный 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

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

Есть машинка с 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 виртуалка запускается нормально.

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

 , debian12, ,

nuxster
()

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

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

ifconfig-push 10.13.0.25 10.13.0.26

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

 

nuxster
()

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

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

 ,

nuxster
()

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

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

 , ,

nuxster
()

Glade Gtk.Assistant

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

 ,

nuxster
()

Gtk.Paned циклическое переключение панелей по клавише TAB

Доброго времени суток! Подскажите пожалуйста как реализовать переключение между панелями Gtk.Paned клавишей Tab, таким образом, что бы фокус не уходил на другие элементы формы, например кнопки, т.е. клавиша TAB в программе использовалась как цикличное переключение между панелями. Есть там такой сигнал cycle-child-focus, я так понимаю он как раз для этого предназначен?

 

nuxster
()

PyGTK двойной клик мышкой

Доброго времени суток! Перерыл весь гугл но так и не нашел подходящего рецепта. Почему то Gdk.EventType._2BUTTON_PRESS возвращает аж 3 события вместо одного. Подскажите пожалуйста как отловить даблклик левой кнопки мышки.

 pygyk,

nuxster
()

Python проверка символов в Gtk.Entry

Доброго времени суток! Подскажите пожалуйста, как можно произвести проверку вводимых символов в Gtk.Entry в процессе хи ввода? Пробовал вешать функцию на сигнал changed, но как то тормознуто получается, может есть способ ускорить этот процесс?

Еще подскажите пожалуйста, как можно поменять свойство Gtk.Label, сделать шрифт жирным и изменить его цвет?

nuxster
()

Python Gtk.TreeView и Popup Menu

Доброго времени суток! Не могу разобраться вот с такой штукой: У меня есть Gtk.Tree View в котором есть какая то информация и есть Gtk.Popup Menu, которое выпадает при щелчке правой кнопки мышки на каком нибудь элементе TreeView. Я могу клацать по пунктам меню и запускать функции. Но у меня не получается передать информацию из строки TreeView на которой я вызвал меню в мои функции. Подскажите пожалуйста как это сделать. Вот так вот я вызываю меню:

 self.treeviewR_popup = builder.get_object('treeviewR_popup')
        if event.button == 3:
            x = int(event.x)
            y = int(event.y)
            timez = event.time
            pthinfo = treeView_right.get_path_at_pos(x, y)
            if pthinfo is not None:
                path, col, cellx, celly = pthinfo
                treeView_right.grab_focus()
                treeView_right.set_cursor(path, col, 0)
                self.treeviewR_popup.popup(None, None, None, None, event.button, event.time)

 , , , ,

nuxster
()

Glade + python = приложение с поддержкой плагинов

Доброго времени суток! Пишу программу, функционал которой, необходимо расширять по средствам плагинов. Функции реализованные в плагинах необходимо отображать на главном окне программы. Приемлемо было бы это сделать либо на вкладках, либо при выборе плагина из списка слева, а отображение функционала в области справа (по типу как это сделано MMC). В общем я хочу понять как сделать следующее:

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

 , , ,

nuxster
()

Linux Mint 16 Cinnamon + fingerprint

Доброго времени суток! Подскажите пожалуйста, как в минте запилить fingerprint, что бы он всегда запрашивал отпечаток пальца когда требуются рутовые права. В Ubuntu 12.04 все работает, делал вот по этому мануалу

 , , min 16

nuxster
()

USB Grub Multiboot iso

Доброго времени суток! Слышал, что можно сделать флешку, которая сможет загружать расположенные на ней iso-образы, при помощи grub. Причем вроде как можно сделать так, что при добавлении нового образа ни чего в конфиге grub править не требуется. Нашел в инете кучу спсобов как сделать мультизагрузочную флешку, но они все заточены под определенный iso'шники. Поделитесь пожалуйста мануалом позволяющим сделать описанное выше.

 , ,

nuxster
()

Падение Empathy в Ubuntu 12.04

Доброго времени суток! Подскажите пожалуйста, существует ли решение для баги, которая проявляется в падении icq-аккаунта в empathy при добавлении нового контакта. P.S. Ubuntu 12.04 LTS x64

 , ,

nuxster
()

Thunderbird авторизация

Доброго времени суток! Настраиваю автоконфигурирование почтовых клиентов в локальной сети, таким вот образом. Подскажите пожалуйста существует ли параметр для указания пароля учетной записи почты. Если такая опция отсутствует, подскажите можно ли хотя бы сделать так, что бы клиент спрашивал один раз пароль, а то запрашивает его при подключении к IMAP и к SMTP. Еще интересует параметр, позволяющий не загружать письма на локальную машину, вернее только те, которые были открыты.

 , ,

nuxster
()

Thunderbird и внешние параметры

Доброго времени суток! Подскажите пожалуйста, можно ли как то заставить Thunderbird взять настройки почты (логин и пароль) из файла или консольного параметра?

 

nuxster
()

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