一个用于管理 KlipperScreen 的 Klipper 扩展,允许临时关闭屏幕并在指定时间后自动恢复,适合在需要执行归位、调平等操作时使用。
/tmp 目录)cd /data
git clone https://cnb.cool/3dmellow/public/klipper-klipperscreen-manager
/data/klipper/klippy/extras需要替换成实际路径,此路径只适合fast系统curl -# -L --retry 3 --retry-delay 2 -o /data/klipper/klippy/extras/gcode_shell_command.py https://raw.githubusercontent.com/dw-0/kiauh/master/kiauh/extensions/gcode_shell_cmd/assets/gcode_shell_command.py
cd /data/klipper-klipperscreen-manager
chmod +x /data/klipper-klipperscreen-manager/scripts/*.sh
将 config/klipper_macros.cfg 中的内容添加到您的 printer.cfg 文件中,或者使用 include 语句:
[include klipper_macros.cfg]
RESTART_KLIpperSCREEN
RESTART_KLIpperSCREEN TIME=120
ENABLE_KLIpperSCREEN
RESTART_KLIpperSCREEN 关闭 KlipperScreenENABLE_KLIpperSCREEN,监控进程会检测到并提前退出在 klipper_macros.cfg 中修改 variable_time 的值:
[gcode_macro RESTART_KLIpperSCREEN]
variable_time: 60 # 修改这个值来改变默认等待时间(秒)
TIME:可选的等待时间参数,单位为秒主关闭脚本,负责:
智能监控脚本,负责:
手动启动脚本,负责:
所有日志文件存储在 /tmp 目录下,系统重启后会自动清理:
/tmp/klipperscreen_disable.log - 关闭脚本日志/tmp/klipperscreen_monitor.log - 监控脚本日志/tmp/klipperscreen_enable.log - 启动脚本日志/tmp/klipper_debug.log - 调试日志(所有脚本共用)查看日志:
tail -f /tmp/klipper_debug.log
注意:由于日志存储在 /tmp 目录,系统重启后所有日志将被自动清除。
脚本没有执行权限
sudo chmod +x /data/123/*.sh
KlipperScreen 服务名称不正确 检查服务名称:
sudo systemctl list-units | grep klipper
日志文件权限问题
由于日志现在存储在 /tmp 目录,通常不会有权限问题。
如果遇到问题,可以手动创建:
sudo touch /tmp/klipperscreen_disable.log
sudo touch /tmp/klipperscreen_monitor.log
sudo touch /tmp/klipperscreen_enable.log
sudo touch /tmp/klipper_debug.log
sudo chmod 666 /tmp/klipperscreen_*.log /tmp/klipper_debug.log
Klipper 配置错误 检查 Klipper 日志:
sudo journalctl -u klipper -n 30
# 测试关闭脚本(5秒后恢复)
/data/123/disable_klipperscreen.sh 5
# 测试启动脚本
/data/123/enable_klipperscreen.sh
klipper-klipperscreen-manager/ ├── README.md ├── scripts/ │ ├── disable_klipperscreen.sh │ ├── monitor_klipperscreen.sh │ └── enable_klipperscreen.sh └── config/ └── klipper_macros.cfg
/tmp 目录如果您遇到问题,请:
/tmp/klipper_debug.log 中的详细日志sudo systemctl status klippersudo systemctl status klipperscreen.service