`gdbus` is part of glib2 and support bash completions. Here is how to do it in Fedora:

    bash
    source /usr/share/bash-completion/completions/gdbus
    gdbus call --system --dest <TAB><TAB>

This will show all possible destinations. To get a list of the available interfaces DBus exports `org.freedesktop.DBus.ListNames` method. You can call it by 

    gdbus call --system --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames

Unfortunately this leads to unreadable output. Fortunately the output is valid python so this is possible:

    gdbus call --system --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames | python -c 'import sys; from pprint import pprint; pprint(eval(sys.stdin.read()))'

I don't usually do this, but is a nice trick to keep on sleeve. I use `gdbus` for introspecting and proving concepts before moving to code. The bash completion saves a lot of typing and avoid typos. Would be nice to have `gdbus` displaying a nicer output.