[HEADS-UP] Please test kdbus in Rawhide!
Orion Poplawski
orion at cora.nwra.com
Fri Jul 31 16:47:59 UTC 2015
On 07/30/2015 11:57 AM, Lennart Poettering wrote:
> Heya!
>
> I'd like to ask everybody to test kdbus on Rawhide. Josh thankfully
> added it to the Rawhide kernel packages, and our systemd RPMs come
> with built-in support, too now. If you are running an up-to-date
> Rawhide system adding "kdbus=1" to your kernel command line is hence
> everything you need to run kdbus instead of dbus-daemon. (No
> additional RPMs need to be installed.) If you do, things should just
> work the same way as before, if we did everything right. By adding or
> dropping "kdbus=1" to/from the command line you can enable kdbus or
> revert back to dbus1 on each individual boot.
>
> This stuff is opt-in, and we are very keen on getting feedback and
> testing for this. The version of kdbus in Rawhide we consider API
> stable, there is a complete client side available now in systemd, with
> a client API in sd-bus. Compatibility with good old dbus1 is provided
> by the "systemd-bus-proxy" service.
>
> The folks involved in kdbus development have been running this code on
> their systems for more than half a year now. There were occasional
> hiccups, but we fixed everything we ran into, and it works pretty well
> now. Our focus was specifically on providing the best possible
> compatibility with dbus1. Now we'd like to increase the testing
> audience and added this to Rawhide because of this.
>
Cannot log into KDE with kdbus, I get:
$ cat .xsession-errors
startkde: Starting up...
startkde: Could not sync environment to dbus.
Code is:
# At this point all environment variables are set, let's send it to the DBus
session server to update the activation environment
/usr/libexec/ksyncdbusenv
if test $? -ne 0; then
# Startup error
echo 'startkde: Could not sync environment to dbus.' 1>&2
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
message "Could not sync environment to dbus."
exit 1
fi
./plasma-workspace-5.3.2/startkde/ksyncdbusenv/ksyncdbusenv.cpp:
int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
EnvMap envMap;
for (const QString &key : env.keys()) {
envMap.insert(key, env.value(key));
}
QDBusMessage msg =
QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.DBus"),
QStringLiteral("/org/freedesktop/DBus"),
QStringLiteral("org.freedesktop.DBus"),
QStringLiteral("UpdateActivationEnvironment"));
qDBusRegisterMetaType<EnvMap>();
msg.setArguments(QList<QVariant>({QVariant::fromValue(envMap)}));
QDBusPendingCall reply = QDBusConnection::sessionBus().asyncCall(msg);
reply.waitForFinished();
if (reply.isError()) {
qDebug() << reply.error().name() << reply.error().message();
}
return reply.isError() ? 1 : 0;
}
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA, Boulder/CoRA Office FAX: 303-415-9702
3380 Mitchell Lane orion at nwra.com
Boulder, CO 80301 http://www.nwra.com
More information about the devel
mailing list