You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KWin脚本无输出求助:配置QT_LOGGING_RULES后仍无法查看日志

KWin脚本print输出无法查看的排查解决步骤

以下是针对你遇到的KWin脚本无日志输出问题的几个关键排查点:

  • QT_LOGGING_RULES的生效范围问题
    .bash_profile仅针对bash登录Shell生效,而KWin作为桌面环境进程,不会读取这个文件。正确的做法是将环境变量配置到Plasma的全局环境中:

    1. 创建目录(如果不存在):mkdir -p ~/.config/plasma-workspace/env
    2. 新建文件~/.config/plasma-workspace/env/kwin_logging.sh,写入内容:
      export QT_LOGGING_RULES="kwin_scripting.debug=true"
      
    3. 赋予执行权限:chmod +x ~/.config/plasma-workspace/env/kwin_logging.sh
    4. 重启Plasma会话(注销再登录)
  • 日志过滤关键词错误
    KWin脚本的print输出对应的日志标签是kwin_scripting,不是js:。正确的日志查看命令:

    # 实时查看KWin脚本相关日志
    journalctl -g "kwin_scripting" -f
    # X11环境下针对KWin进程过滤关键词
    journalctl -u plasma-kwin_x11.service -g "hello" -f
    # Wayland环境替换为plasma-kwin_wayland.service
    
  • 确认脚本是否实际执行
    先排除脚本未触发的可能:修改脚本添加桌面通知,验证快捷键是否生效:

    function hello() {
      // 弹出桌面通知
      callDBus("org.kde.plasma.notifications", "/org/kde/plasma/notifications",
               "org.kde.plasma.notifications", "notify",
               "KWin Script Test", 0, "", "触发成功", "Hello World", []);
      print("hello world");
    }
    registerShortcut("Hello", "Print hello world.", "Meta+R", hello);
    

    安装后启用脚本,按下Meta+R如果能看到通知,说明脚本正常执行,问题仅在日志输出环节。

  • 验证脚本安装与加载状态

    1. 确认脚本安装路径:kpackagetool5 --type=KWin/Script -l 查看已安装脚本,确保你的myscript在列表中
    2. 启用脚本后,重启KWin生效:按下Alt+F2,输入kwin --replace回车
    3. 检查脚本的metadata.desktop配置,确保包含:
      [Desktop Entry]
      Type=Service
      ServiceTypes=KWin/Script
      Name=Hello Script
      

内容的提问来源于stack exchange,提问作者William

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 12:15:33