Kate gives out debug messages on the console from which it is started
I am new to Linux. I use Ubuntu 11.04. Whenever I open a file with kate from the commandline, with 'kate &' (or without ampersand), Kate starts out giving messages on the console. It continuously gives them out as I save a file or close one. They look like debug messages to me (sample below). I have used Synaptic package manager to install Kate. Uninstalling and installing the dev version did not make any change. Soon my console becomes cluttered. Is there a way to suppress these messages? There was nothing explicit in Kate settings either.
Thank you,
The messages look like
kate(13412)/kate-filetree KateFileTreeModel::handleInsert: BEGIN!
kate(13412)/kate-filetree KateFileTreeModel::handleInsert: creating a new root
kate(13412)/kate-filetree ProxyItem::ProxyItem: ProxyItem(0x1796840,0x0,-1,QObject(0x0)
....
kate(13435)/kate-filetree KateFileTreeModel::documentActivated: adding viewHistory ProxyItem(0x1eb7cf0,0x1eb6830,0,KateDocument(0x1d93ea0) , "Untitled" )
kate(13435)/kate-filetree KateFileTreeModel::updateBackgrounds: BEGIN!
kate(13435)/kate-filetree KateFileTreeModel::updateBackgrounds: END!
kate(13435)/kate-filetree KateFileTreeModel::documentActivated: END!
kate(13435)/kate-filetree KateFileTreePluginView::viewChanged: END!
X Error: BadWindow (invalid Window parameter) 3
Major opcode: 20 (X_GetProperty)
Resource id: 0x5601b42
X Error: BadWindow (invalid Window parameter) 3
Major opcode: 20 (X_GetProperty)
Resource id: 0x5601b42
This post on the KDE forum explains what it is doing and how to stop it.
http://forum.kde.org/viewtopic.php?f=22&t=93955
Because you did not disable debug-messages.
Open "kdebugdialog", search for "kate" and unselect all checkboxes. Now kate won't talk to you, anymore.
Debug messages are usually written to the standard error, which is the filehandle denoted by 2 in the console. You can redirect that without affecting output to the standard out (file handle 1), by starting your application like this
kate 2>/dev/null
You can append the &
if you'd like as well.
The number 2 here represents file handle 2, the >
is a redirection operator in the shell, /dev/null
is a "blackhole" device -- it eats up everything that is written to it, so it "disappears" (does not appear in console).
You can capture the standard error output by replacing /dev/null
with a filename. In that case the output goes to the file, not to the console.
In case the application is writing debug messages to the standard output, you can replace the number 2 with number 1 (see above) -- note that in this case normal messages are going to be redirected as well.
You can redirect both standard out and error at the same time, the easiest way to do so is
kate 2>&1 1>/dev/null
Here the &1
denotes the file handle 1 where standard error should be redirected. The use of &
is to differentiate it from the file named 1.
For further info on redirection, read the manual of your shell (e.g. bash)