Sway随机壁纸设置失败:执行脚本后屏幕呈棕灰色
解决Sway随机壁纸不显示的问题
问题根源
你在Sway配置里用了单引号包裹脚本路径,Sway会把单引号内的内容直接当作图片文件路径,而不会执行脚本获取输出的图片路径,因此找不到有效图片时就会显示默认棕灰色背景。
修复步骤
修改Sway配置行
将原配置:output * bg '$HOME/.config/sway/random_bg' fill替换为支持命令执行的格式(二选一即可):
- 使用
$()执行脚本:output * bg "$($HOME/.config/sway/random_bg)" fill - 使用反引号执行脚本:
output * bg "`$HOME/.config/sway/random_bg`" fill
用双引号包裹是为了让Sway解析内部的命令替换,同时兼容路径中可能存在的空格。
- 使用
优化脚本输出(可选但推荐)
Python的print()默认会在输出末尾添加换行符,可能导致Sway识别图片路径时出现异常。修改脚本的print语句,去掉换行:print(random.choice(walls), end='')验证生效
保存配置后,执行swaymsg reload重新加载Sway配置,查看背景是否正常显示。
额外检查项
- 确认
bg文件夹内存在有效图片(你已单独运行脚本验证过路径输出,此步可跳过)。 - 脚本的shebang行
#!/usr/bin/python3需与系统中Python3的实际路径一致,可通过which python3命令确认路径是否正确。
内容的提问来源于stack exchange,提问作者모구리모구리
相关产品推荐
相关产品推荐

