Нужна помощь! Компиз+lxde на убунту 22-04!
Здравствуйте! Неделю назад я захотел сделать себе отдельную сессию в моей убунте, где будут компоненты из lxde, но вместо опенбокса будет Компиз. Несколько дней я мудрил с нейронкой. Вот какой код я получил:
#!/bin/bash
while [ ! -f /home/dsalin/ .Xauthority ]; do
sleep 1
done
export XAUTHORITY=/home/dsalin/.Xauthority
export DISPLAY=:0
sleep 5
# 1. Запуск оболочки
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &
pcmanfm --desktop --profile LXDE &
lxpanel --profile LXDE &
sudo -u dsalin /home/dsalin/compiz-watchdog.sh &
# 2. Запуск Compiz БЕЗ exec и С амперсандом
until compiz --replace ccp --sm-disable; do
sleep 2
done &
sleep 7
# 4. Твой список автозапуска
CONFIG_FILE="$HOME/.compiz_autostart_list"
if [ -f "$CONFIG_FILE" ]; then
while IFS= read -r line; do
if [ -n "$line" ]; then
if [ -x "$line" ]; then
"$line" &
else
xdg-open "$line" &
fi
fi
done < "$CONFIG_FILE"
fi
# Чтобы сессия не закрылась сразу, нужно "подождать" какой-то важный процесс
while true; do
sleep 60
done
Вот на всякий и код вотчдога! Он служит чтобы при отвале декораций окон и панельки он их перезапускал без необходимости перезагружать всю сессию.
#!/bin/bash
# Указываем дисплей явно
export DISPLAY=:0
# 1. Большая пауза для "холодного" старта
# Даем системе прогрузить драйверы видеокарты
sleep 15
while true; do
# 2. Если рабочего стола (обоев) нет - запускаем
if ! pgrep -x "pcmanfm" > /dev/null; then
pcmanfm --desktop --profile LXDE &
sleep 2
fi
# 3. Если панели нет - запускаем
if ! pgrep -x "lxpanel" > /dev/null; then
lxpanel --profile LXDE &
sleep 2
fi
# 4. Если Compiz не запущен - запускаем принудительно
if ! pgrep -x "compiz" > /dev/null; then
compiz --replace ccp --sm-disable &
sleep 5 # Даем компизу время "застолбить" экран
fi
# 5. Если Emerald не запущен (и есть компиз) - запускаем
if pgrep -x "compiz" > /dev/null && ! pgrep -x "emerald" > /dev/null; then
emerald --replace &
fi
# Проверка каждые 5 секунд
sleep 5
done
Почему я прошу помощи? Потому что данная конфигурация, находящияся по пути /usr/local/bin/lxde-compiz-session срабатывает не всегда. Вот сегодня, например, мне пришлось 3 раза перезагружать сессию чтобы прогрузились не только обои, но и панелька с апплетами. Прошу помочь мне сделать чтобы сама по себе сессия запускалась с первого раза с компизом и с панелькой как и подобает нормальной сессии!
P.S. Да, я знаю что существуют плагины для других ДЕ с подобными функциями, но мне хочется именно максимально погрузится в технологии нулевых.
Буду благодарен абсолютно всем форумчанам за любую помощь!