Line 6: | Line 6: | ||
== KDE5 (F24, F25) == | == KDE5 (F24, F25) == | ||
Two main desktop components, kwin_x11 and plasmashell processes can both be restarted on running desktop, without need to re-login with new session. | Two main desktop components, kwin_x11 and plasmashell processes can both be restarted on running desktop, without need to re-login with new session. If ''krunner'' process is working on desktop, using ALT+F2 pops up a small command dialog at the top of screen. All commands can be run through that or in separate konsole window(s), where latter allows folloing their character based output as they run. | ||
=== kwin_x11 === | === kwin_x11 === | ||
kwin_x11 can be killed or replaced by itself with --replace option. Once its not running, all virtual destkop windows appear at one view. Having a konsole open during replace might be useful. | |||
* https://community.kde.org/KWin/Debugging | * https://community.kde.org/KWin/Debugging | ||
export KWIN_USE_INTEL_SWAP_EVENT=0 # only affects intel IGPs | export KWIN_USE_INTEL_SWAP_EVENT=0 # only affects intel IGPs | ||
Line 23: | Line 23: | ||
For example if screen is locked | For example if screen is locked | ||
xdotool key "XF86LogGrabInfo" | xdotool key "XF86LogGrabInfo" | ||
dumbs all device grabs into /var/log/Xorg.0.log file. It can be run from character based consoles by prefixing it with ''DISPLAY=:0'' | dumbs all device grabs into /var/log/Xorg.0.log file. It can be run from character based consoles by prefixing it with ''DISPLAY=:0'' | ||
== plasmashell == | == plasmashell == |
Revision as of 10:47, 24 September 2016
Some loose, partially undocumented, but useful debugging methods found here and there in discussions, bug comments etc.
KDE4 ()
KDE5 (F24, F25)
Two main desktop components, kwin_x11 and plasmashell processes can both be restarted on running desktop, without need to re-login with new session. If krunner process is working on desktop, using ALT+F2 pops up a small command dialog at the top of screen. All commands can be run through that or in separate konsole window(s), where latter allows folloing their character based output as they run.
kwin_x11
kwin_x11 can be killed or replaced by itself with --replace option. Once its not running, all virtual destkop windows appear at one view. Having a konsole open during replace might be useful.
export KWIN_USE_INTEL_SWAP_EVENT=0 # only affects intel IGPs export KWIN_EXPLICIT_SYNC=0 # most likely candidate on nvidia GPUs export KWIN_USE_BUFFER_AGE=0 # well, you tried, but hey ... ;-) kwin_x11 --replace &
xdotool lets you programatically (or manually) simulate keyboard input and mouse activity, move and resize windows, etc. It does this using X11's XTEST extension and other Xlib functions.
For example if screen is locked
xdotool key "XF86LogGrabInfo"
dumbs all device grabs into /var/log/Xorg.0.log file. It can be run from character based consoles by prefixing it with DISPLAY=:0
plasmashell
gam_server
Sometimes it helps to kill the gam_server process to release odd hangups or when applications wont start from panel buttons. Process can be safely killed, it gets respawned automatically, but running processes might not like it. Once killed, all pending start attempts are executed if the gam_server was the culprit. Sending a SIGUSR2 to running gam_server makes it dump its debugging information into /tmp/gamin_debug_*
kill -s SIGUSER $(pidof gam_server)
- all gam_server bugs
- most long lived bug deadlocks, leading to all KDE applications hanging
DBUS
DBUS can be followed using dbus-monitor, it can be lousy thou and hard to follow. Wireshark has dissector for dbus these days but it doesn't do that good job on it.
dbus-monitor
.xsession-errors
Users $HOME/.xsession-errors is the 'standard output and error' of graphic desktop. Most lines are not prefixed with source nor timestamp so it might be hard to understand from which process they're coming from.