Вы могли бы хорошо использовать alsa - Если существует a /dev/snd
каталог, затем это, вероятно, случай. Кроме того, согласно Alsa-мини-практическому руководству, результатам выполнения cat /proc/asound/cards
должен содержать информацию о Вашей звуковой карте.
Сессия:
dbus-send --session \
--dest=org.freedesktop.DBus \
--type=method_call \
--print-reply \
/org/freedesktop/DBus \
org.freedesktop.DBus.ListNames
Система:
dbus-send --system \
--dest=org.freedesktop.DBus \
--type=method_call \
--print-reply \
/org/freedesktop/DBus \
org.freedesktop.DBus.ListNames
Можно также использовать DFeet, если Вы предпочитаете инструмент GUI.
qdbusviewer
Ваш лучший друг; это позволяет Вам отправлять сообщения D-шины также:
qdbusviewer: could not exec '/usr/lib/i386-linux-gnu/qt4/bin/qdbusviewer': No such file or directory
– kasperd
29.12.2014, 01:54
d-feet
как ответ для создания этого более видимым
– mivk
12.02.2017, 16:18
Путь питона - прекрасный путь.
Системные службы:
import dbus
for service in dbus.SystemBus().list_names():
print(service)
Сеансовые службы:
import dbus
for service in dbus.SessionBus().list_names():
print(service)
gdbus
является частью glib2 и поддерживает дополнения Bash. Вот как это использовать (в Fedora):
bash-4.4$ source /usr/share/bash-completion/completions/gdbus
bash-4.4$ gdbus call --system --dest <TAB><TAB>
Это покажет все возможные адресаты. Чтобы получить список доступных интерфейсов, DBus экспортирует метод org.freedesktop.DBus.ListNames
. Вы можете вызвать его, запустив:
gdbus call --system --dest org.freedesktop.DBus \
--object-path /org/freedesktop/DBus \
--method org.freedesktop.DBus.ListNames
К сожалению, это приводит к нечитаемому результату. К счастью, вывод правильный python, так что это возможно:
gdbus call --system --dest org.freedesktop.DBus \
--object-path /org/freedesktop/DBus \
--method org.freedesktop.DBus.ListNames | \
python -c 'import sys, pprint; pprint.pprint(eval(sys.stdin.read()))'
Обычно я так не делаю, но это хорошая уловка, чтобы держать руку на пульсе. Я использую gdbus
для самоанализа и проверки концепций, прежде чем переходить к коду. Завершение bash экономит много времени и позволяет избежать опечаток. Было бы неплохо, чтобы gdbus
отображал более приятный вывод.
dbus-send
илиgdbus
? – Khurshid Alam 08.01.2015, 11:06