I am running the awesome window manager on trusty after having upgraded from raring. My desktop environment intentionally does not have all the Gnome / Freedesktop daemons running — I don't want them.
When I execute gedit
from a terminal like this:
gedit file
It outputs messages like this all over my terminal whenever I hit enter or save or on various other occasions:
(gedit:5700): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
I understand the meaning of this warning and I have decided that it doesn't matter to me.
How can I turn off this kind of warning? By "turn off", I don't mean any of these or similar workarounds:
- piping the output of gedit into
/dev/null
- writing a wrapper script that pipes the output of gedit into
/dev/null
- creating an alias that pipes the output of gedit into
/dev/null
These workarounds are not acceptable as they have to be applied individually to each Gnome application — gedit is not the only one that likes to mess up the terminal.
Best Answer
First, I also find it annoying that these warnings show up on an out-of-the-box Ubuntu, with no "proper" method to disable them which I could find (it seems that the most common "solution" is either to install
gir1.2-gtksource-3.0
which doesn't seem to work since it's already installed, or to ignore them - but I want to suppress them completely since they just make my terminal noisy).I came up with the following code which so far seems to behave exactly how I'd expect it to, and is based on the answer by TuKsn, but enhances it a bit to:
gedit ...
) without needing to use F12 or some other shortcut (to invoke unfiltered use/usr/bin/gedit ...
).Can still be generalized a bit, but for now, if you need the same treatment for other commands, duplicate the
gedit()
function for each other command name which needs the same filter.And a better version (way smaller, fully generic, no need to rewrite history since invoked as is, and better for filtering per line rather than the whole output):