Касание Ubuntu изменяет параметры настройки системы из командной строки ("тихий" режим конкретно)?

Я ищу способ автоматически установить мой Телефон Ubuntu на "тихий" режим в течение ночи и автоматически выключить "тихий" режим утром (я продолжаю забывать поворачивать его от меня). Я полагаю, что это могло быть сделано через некоторое задание крона, но чтобы сделать это, мне нужен некоторый способ изменить параметры настройки системы телефонов из командной строки, и я не могу понять это.

И gsettings и dconf, кажется, имеют связанные с "тихим" режимом настройки, но значение этих настроек, кажется, не связано вообще с реальными настройками. Изменение настроек с помощью gsettings/dconf не отражается в параметрах настройки системы, и изменение его в параметрах настройки системы не отражается в gsettings/dconf. Таким образом, я ищу способ изменить параметры настройки системы из командной строки.

Спасибо

5
задан 19 July 2016 в 16:56

2 ответа

Решением (выход)

, По-видимому, dbus является вещь, которая могла использоваться для изменения настроек. Короткая версия - то, что следующий сценарий Python, когда работал как корень, выключает "тихий" режим:

import dbus

session = dbus.SystemBus()
proxy = session.get_object('org.freedesktop.Accounts','/org/freedesktop/Accounts/User#####')
interface = dbus.Interface(proxy,'org.freedesktop.DBus.Properties')
interface.Set('com.ubuntu.touch.AccountsService.Sound','SilentMode',False)

немного более длительная версия:

qdbus --system

, Кажется, перечисляет все сервисы, связанные с системой dbus.

qdbus --system org.freedesktop.Accounts

, Кажется, перечисляет пути, связанные с тем сервисом.

qdbus --system org.freedesktop.Accounts /org/freedesktop/Accounts/User#####

, Кажется, перечисляет все методы и свойства, связанные с тем путем (в этом случае путь к определенному пользователю). Это имело следующие соответствующие методы:

method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)    
method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface_name)
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
method QString org.freedesktop.DBus.Introspectable.Introspect()

Здесь GetAll и Методы установки требуют имени интерфейса, которое мы можем узнать путем вызывания Анализировать функции как это:

qdbus --system org.freedesktop.Accounts /org/freedesktop/Accounts/User##### org.freedesktop.DBus.Introspectable.Introspect

, Который печатает подобный xml документ экрану, показывающему интерфейсные определения. Получение значения "тихого" режима сделано следующим образом:

qdbus --system org.freedesktop.Accounts /org/freedesktop/Accounts/User##### org.freedesktop.DBus.Properties.Get com.ubuntu.touch.AccountsService.Sound SilentMode

проблема теперь состояла в том, что я не мог выяснить, как отформатировать его так qdbus, интерпретирует аргумент как булево значение, которое является, почему я закончил тем, что использовал Python в качестве обходного решения.

1
ответ дан 23 November 2019 в 10:35

Это, кажется, работает (с ОТОЙ 11, подключение с SSH):

amixer -q -D pulse sset Master toggle

Редактирование: От https://askubuntu.com/a/444183

1
ответ дан 23 November 2019 в 10:35

Другие вопросы по тегам:

Похожие вопросы: