Apparently dbus is a thing that could be used to change settings. The short version is that the following python script, when ran as root, turns off silent mode:
session = dbus.SystemBus()
proxy = session.get_object('org.freedesktop.Accounts','/org/freedesktop/Accounts/User#####')
interface = dbus.Interface(proxy,'org.freedesktop.DBus.Properties')
The slightly longer version is:
Seems to list all the services associated with the system dbus.
qdbus --system org.freedesktop.Accounts
Seems to list the paths associated with that service.
qdbus --system org.freedesktop.Accounts /org/freedesktop/Accounts/User#####
Seems to list all the methods and properties associated with that path (in this case a path to a specific user). This had the following relevant methods:
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()
Here the GetAll and Set methods require an interface name which we can find out by calling the Introspect function like this:
qdbus --system org.freedesktop.Accounts /org/freedesktop/Accounts/User##### org.freedesktop.DBus.Introspectable.Introspect
Which prints a xml-like document to the screen showing the interface definitions. Getting the silent mode value is done as follows:
qdbus --system org.freedesktop.Accounts /org/freedesktop/Accounts/User##### org.freedesktop.DBus.Properties.Get com.ubuntu.touch.AccountsService.Sound SilentMode
The problem now was that I couldn't figure out how to format it so
qdbus interprets an argument as a boolean value, which is why I ended up using python as a workaround.