title: SImple (but specific) listener and sender Python 3 DBus example
body: <p>I want to make a program that has two parts. A listener (a server, if you will) and a sender (the client). I did some research and learned that this is done via a method programmers call IPC (inter process communication); I'm sure you know what it means, I am just expanding the acronym so that you know that I don't think it means Internet Pet Cannibals (or some other non related unpleasant thing).</p>
  
  <p>I read that a good way to achieve this is to use dbus. So I did some research on dbus, and now I'm just confused. Apparently there are a lot of things you can do with dbus, like send notifications to Gnome Shell or talk with the Network Manager. I don't want to do those things! I just want to make two simple programs that talk to each other. To add to that, some tutorials and documentation show examples with python 2, some use 3, some import dbus and some import Gio! A lot of the information I have found is over my head which also impairs my efforts.</p>
  
  <p>Would someone be so kind as to show me a simple, elegant example on how to achieve making a program that essentially does this:</p>
  
  <pre><code>$ ./server
  Server is not running yet. Putting on listening ears.
  $ ./client Hi
  server: a client said "Hi"
  $ ./server
  Server is already running.
  $ ./server stop
  Server exiting...
  $ ./client Do a barrel roll
  client: No one can hear me!!
  </code></pre>
  
  <p>This is how a simple session would go (using a bash shell of course). I would want to use Python 3 and whatever dbus bindings are most appropriate as of now (I am guessing that would be gi.repository). To clarify, this would be for Linux.</p>