Mutter 有以下调试主题:
META_DEBUG_FOCUS = 1 << 0,
META_DEBUG_WORKAREA = 1 << 1,
META_DEBUG_STACK = 1 << 2,
META_DEBUG_SM = 1 << 3,
META_DEBUG_EVENTS = 1 << 4,
META_DEBUG_WINDOW_STATE = 1 << 5,
META_DEBUG_WINDOW_OPS = 1 << 6,
META_DEBUG_GEOMETRY = 1 << 7,
META_DEBUG_PLACEMENT = 1 << 8,
META_DEBUG_PING = 1 << 9,
META_DEBUG_KEYBINDINGS = 1 << 10,
META_DEBUG_SYNC = 1 << 11,
META_DEBUG_STARTUP = 1 << 12,
META_DEBUG_PREFS = 1 << 13,
META_DEBUG_GROUPS = 1 << 14,
META_DEBUG_RESIZING = 1 << 15,
META_DEBUG_SHAPES = 1 << 16,
META_DEBUG_EDGE_RESISTANCE = 1 << 17,
META_DEBUG_DBUS = 1 << 18,
META_DEBUG_INPUT = 1 << 19,
META_DEBUG_WAYLAND = 1 << 20,
META_DEBUG_KMS = 1 << 21,
META_DEBUG_SCREEN_CAST = 1 << 22,
META_DEBUG_REMOTE_DESKTOP = 1 << 23,
META_DEBUG_BACKEND = 1 << 24,
META_DEBUG_RENDER = 1 << 25,
META_DEBUG_COLOR = 1 << 26,
我单独运行 mutter stand,因为mutter --wayland foot
但无论我将这些变量设置为何:
MUTTER_VERBOSE
MUTTER_DEBUG
MUTTER_USE_LOGFILE
...我无法从 mutter 中获取详细信息。
我如何才能触发所有调试输出,以及在哪里可以看到它?
我的/tmp/mutter-PID-debug-log-*
文件包含很少的输出,通常甚至是零字节。
我也尝试过了MUTTER_DEBUG=all
,但是日志或者日志文件里什么都没有?
注意:我验证了 mutter 是用-DWITH_VERBOSE_MODE
标志构建的,并且我还验证了调试消息在共享库中显示为字符串。
答案1
设置MUTTER_DEBUG=all
将会把调试消息放在 mutter 的stderr
流上。
我没有看到它们的原因是因为我在虚拟控制台上启动,并且当屏幕处于图形模式时控制台不会滚动。
对于我来说,这导致所有的调试消息在最后一行被相互覆盖。
清除虚拟控制台导致第一条消息出现,然后将它们重定向到文件使我能够访问所有消息。