Я новичок как в 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 для автоматического запуска launch.sh, добавив эту строку в файл crontab:
@reboot export DISPLAY=:0 && /home/atran/.config/polybar/launch.sh
но после проверки файла журнала я получил вот что:
---
polybar|error: X connection error... (what: Socket, pipe or stream error)
Что я упускаю?
Edit: fix the crontab command by adding export display and now having a different error
Вы должны запустить PolyBar после запуска Xorg и после входа в сессию рабочего стола.
Лучший способ сделать это - использовать XDG Autostart с нижеприведенной длинной командой:
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
и затем перезагрузиться.