Solução (ish)
Aparentemente dbus é algo que pode ser usado para alterar configurações. A versão curta é que o seguinte script python, quando executado como root, desativa o modo silencioso:
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)
A versão ligeiramente mais longa é:
qdbus --system
Parece listar todos os serviços associados ao sistema dbus.
qdbus --system org.freedesktop.Accounts
Parece listar os caminhos associados a esse serviço.
qdbus --system org.freedesktop.Accounts /org/freedesktop/Accounts/User#####
Parece listar todos os métodos e propriedades associados a esse caminho (nesse caso, um caminho para um usuário específico). Isto teve os seguintes métodos relevantes:
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()
Aqui os métodos GetAll e Set requerem um nome de interface que podemos descobrir chamando a função Introspect assim:
qdbus --system org.freedesktop.Accounts /org/freedesktop/Accounts/User##### org.freedesktop.DBus.Introspectable.Introspect
Que imprime um documento semelhante ao xml na tela que mostra as definições da interface. Obter o valor do modo silencioso é feito da seguinte forma:
qdbus --system org.freedesktop.Accounts /org/freedesktop/Accounts/User##### org.freedesktop.DBus.Properties.Get com.ubuntu.touch.AccountsService.Sound SilentMode
O problema agora é que eu não consegui descobrir como formatá-lo, então qdbus
interpreta um argumento como um valor booleano, e é por isso que acabei usando o python como solução alternativa.