Debug - bakkeby/dusk GitHub Wiki
The Debug
functionality enables additional debug information to be output to standard error.
This is easily observed if the window manager is run via Xephyr.
To take advantage of this for the main installation the standard error output must be redirected to a file.
One way of doing this can be to have a wrapper script which can be called from your ~/.xinitrc
if
you use startx
or from the /usr/share/xsessions/dusk.desktop
file if you are using a login
manager.
$ cat /usr/local/bin/startdusk
#!/bin/sh
echo "$(date): Starting dusk" >> /path/to/logs/$(date +%Y-%m-%d_%H.dusk.log)
dusk >> /path/to/logs/$(date +%Y-%m-%d_%H.dusk.log) 2>&1
The reason standard error is used instead of standard out is that the latter is buffered for performance reasons and the output is only written to the log file when a chunk of data can be written in one go. Standard error on the other hand is flushed immediately which means that you have direct feedback in the logs when you perform certain actions that produce debug logs.
Some of the additional debug logging this functionality enables are:
- applyrules - the client's attributes used for rule matching (class, instance, etc.)
- applyrules - the rule that matched (if any)
- clientmessage - the message type and associated data
- configurenotify - details of the XConfigureEvent received
- configurerequest - details of the XConfigureRequestEvent received
- destroynotify - the event received
- propertynotify - the message type received
- unmapnotify - details of the event received
Back to Functionality.