我对 polybar 和 Linux 都很陌生。
我已按照 Github 上的教程进行操作:
创建一个名为 ~/.config/polybar/launch.sh 的文件
使其可执行(我已通过 GUI 确认这一点)
以下是launch.sh的内容:
#!/usr/bin/env bash
killall -q polybar
echo "---" | tee -a /tmp/polybar.log
polybar tonton 2>&1 | tee -a /tmp/polybar.log & disown
echo "Bars launched..."
从终端运行此命令:
polybar tonton 2>&1 | tee -a /tmp/polybar.log & disown
这意味着我正确地找到了酒吧的名字。
手动运行启动脚本也有效。
我是不是漏掉了什么?我觉得我应该以某种方式告诉操作系统在启动时运行启动脚本...我认为它不会自动识别。
我尝试使用 crontab 通过在 crontab 文件中添加此行来自动运行 launch.sh:
@reboot export DISPLAY=:0 && /home/atran/.config/polybar/launch.sh
但检查日志文件后,我得到了以下信息:
---
polybar|error: X connection error... (what: Socket, pipe or stream error)
我错过了什么?
编辑:通过添加导出显示来修复 crontab 命令,现在出现了不同的错误
答案1
您必须在 Xorg 启动后并登录桌面会话后运行 PolyBar。
最好的方法是使用XDG 自动启动使用以下长命令:
mkdir -p ~/.config/autostart/
cat <<EOF > ~/.config/autostart/polybar.desktop
[Desktop Entry]
Type=Application
Exec=/home/atran/.config/polybar/launch.sh
Hidden=false
X-MATE-Autostart-enabled=true
Name=Polybar
EOF
然后重新启动。