Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Скрипт автозапуска программ Openbox  (Прочитано 15250 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Irshat

  • Автор темы
  • Активист
  • *
  • Сообщений: 799
    • Просмотр профиля
Скрипт автозапуска программ Openbox
« : 15 Января 2025, 16:34:53 »
Тут старшие товарищи подсказали систему Mabox. Мне там одна утилитка по автозапуску понравилась, но блин на Ubuntu тупо отключает, весь скрипт просмотрел, вроде все ровно. Может кто подскажет, что с ним не так.
#!/bin/bash
#    yautostart: Mabox XDG Autostart GUI script
#    Copyright (C) 2019 napcok <napcok@gmail.com>
#

case $LANG in
    pl*)
    TITLE="Edytor autostartu XDG"
    DESC="Wybierz programy/usługi, które mają być uruchamiane autamatycznie\nwraz z sesją OpenBox. <a href='https://manual.maboxlinux.org/en/configuration/autostart/'>Pomoc (online)</a>"
    ENABLE="wł"
    FILE="Plik"
    NAME="Nazwa"
    COMMENT="Komentarz"
    NO_DESC=""
    CANCEL="--button=Anuluj:1"
    OK="--button=Zastosuj:0"
    ;;
    es*)
    TITLE="XDG Autostart Editor"
    DESC="Elegir apps o servicios para un reinicio en sesión Openbox.\n<a href='https://manual.maboxlinux.org/es/configuration/autostart/'>Info (online)</a>"
    ENABLE="ejecutar"
    FILE="Archivo"
    NAME="Nombrar"
    COMMENT="Comentar"
    NO_DESC=""
    CANCEL="--button=Cancelar:1"
    OK="--button=Aceptar:0"
        ;;
    *)
    TITLE="Mabox XDG Autostart Editor"
    DESC="Choose apps/services to autostart with OpenBox session.\n<a href='https://manual.maboxlinux.org/en/configuration/autostart/'>Info (online)</a>"
    ENABLE="run"
    FILE="File"
    NAME="Name"
    COMMENT="Comment"
    NO_DESC=""
    CANCEL="--button=Cancel:1"
    OK="--button=OK:0"
    ;;
esac

config_dir=${XDG_CONFIG_HOME:-$HOME/.config}
# Copy only new files from /etc/xdg/autostart/
mkdir -p $config_dir/autostart
#remove pamac-tray-budgie
rm $config_dir/autostart/pamac-tray-budgie.desktop
rsync -aq --ignore-existing --exclude="pamac-tray-budgie.desktop" /etc/xdg/autostart/ $config_dir/autostart/

# check if line starting with Hidden exist, if not add Hidden=false
for f in $config_dir/autostart/*.desktop; do
grep -q "Hidden=" $f && echo "yes" || echo "Hidden=false" >> $f
done

results=$(mktemp --tmpdir autostart.XXXXXXXXXX)

for f in $config_dir/autostart/*.desktop; do
        [ "$(grep -m 1 -e '^[[:blank:]]*Hidden' $f | cut -d = -f 2)" == "true" ] && echo false  || echo true
        echo $f
        #grep -m 1 -e '^[[:blank:]]*Name=' $f | cut -d = -f 2
        name=$(grep -m 1 -e '^[[:blank:]]*Name=' $f | cut -d = -f 2)
        echo "<b>$name</b>"
       
        #grep -m 1 -e '^[[:blank:]]*Exec' $f | cut -d = -f 2
        comment=$(grep -m 1 -e '^[[:blank:]]*Comment=' $f | cut -d = -f 2)
        [ ! -z "$comment" ] && echo "<i>${comment/&/&amp;}</i>" || echo "$NO_DESC"
done | yad --window-icon=distributor-logo-mabox --width=640 --height=500 --title="$TITLE" --image="gtk-execute" --uri-handler=xdg-open \
           --text="$DESC" --list --print-all --bool-fmt="t" \
           --checklist --column="$ENABLE:CHK" --column="$FILE:HD" --column="$NAME" --column="$COMMENT" --tooltip-column=4 $CANCEL $OK > $results

if [[ ${PIPESTATUS[1]} -eq 0 ]]; then
    i=0
    cat $results | while read line; do
        eval $(echo $line | awk -F'|' '{printf "export HIDDEN=\"%s\" FILENAME=\"%s\"", $1, $2 }')
       
        [ $HIDDEN == "true" ] && HIDDEN="false" || HIDDEN="true"
        echo "Hidden=$HIDDEN, File: $FILENAME"
        sed -i'.temp' -e 's/^Hidden.*$/Hidden='"$HIDDEN"'/g' $FILENAME
        rm $FILENAME.temp
    ((i++))
    done
    unset NAME HIDDEN FILENAME comment
fi

rm -f $results
exit 0


Оффлайн RoDoN

  • Активист
  • *
  • Сообщений: 251
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #1 : 15 Января 2025, 20:13:32 »
на Ubuntu тупо отключает
А с каким DE?
У меня с XFCE скрипт нормально запустился.

Lenovo G500 (i5-3340M, 12 Гб, Intel + Radeon HD 8570)
18.04 -> 20.04 -> 22.04 x64 XFCE

Оффлайн Irshat

  • Автор темы
  • Активист
  • *
  • Сообщений: 799
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #2 : 15 Января 2025, 21:49:30 »
Чистый Openbox.

Вы у себя на  XFCE, что-нибудь измените и проверьте.

Пользователь добавил сообщение 15 Января 2025, 22:05:13:
Скрипт заходит на иконки, и меняет hidden. Но у меня почему то ошибается.
« Последнее редактирование: 15 Января 2025, 22:05:45 от Irshat »

Оффлайн RoDoN

  • Активист
  • *
  • Сообщений: 251
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #3 : 15 Января 2025, 23:17:40 »
Вы у себя на  XFCE, что-нибудь измените и проверьте.
Это была плохая идея... вся автозагрузка была отключена, т.е. во всех файлах появилась строчка с hidden.
Lenovo G500 (i5-3340M, 12 Гб, Intel + Radeon HD 8570)
18.04 -> 20.04 -> 22.04 x64 XFCE

Оффлайн Irshat

  • Автор темы
  • Активист
  • *
  • Сообщений: 799
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #4 : 15 Января 2025, 23:42:55 »
Блин извините, от XFCE надеюсь восстановит. Ну дык куда копать??  Есть кто соображает?

Оффлайн RoDoN

  • Активист
  • *
  • Сообщений: 251
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #5 : 15 Января 2025, 23:53:54 »
Все восстановил, благо выше есть скрин, как было )))
Экспериментировать все же надо на опенбоксе
Lenovo G500 (i5-3340M, 12 Гб, Intel + Radeon HD 8570)
18.04 -> 20.04 -> 22.04 x64 XFCE

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 5711
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #6 : 16 Января 2025, 00:17:49 »
Экспериментировать все же надо на опенбоксе
- экспериментировать нужно на виртуалке, а не на собственной рабочей системы!   :coolsmiley:

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7840
  • Eternally
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #7 : 16 Января 2025, 01:49:18 »
кто подскажет, что с ним не так.
Возможно, разные версии grep и бездумное использование ключей.

Проверьте у себя:
echo "  Hidden" | grep -e '^[[:blank:]]*Hidden'
echo "  Hidden" | grep -E '^[[:blank:]]*Hidden'

Должен быть одинаковый результат.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Irshat

  • Автор темы
  • Активист
  • *
  • Сообщений: 799
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #8 : 16 Января 2025, 04:02:20 »
Да одинаковый результат. Для чего это, где-то что-то мне нужно подменить?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7840
  • Eternally
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #9 : 16 Января 2025, 04:21:26 »
Irshat, нет, просто догадка.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Irshat

  • Автор темы
  • Активист
  • *
  • Сообщений: 799
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #10 : 16 Января 2025, 04:53:35 »
Кажется я понял, к чему вы клоните, нужно погуглить, и заменить

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8047
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #11 : 16 Января 2025, 06:33:04 »
Кажется я понял, к чему вы клоните, нужно...
...заняться отладкой.

Что вообще он должен делать (может мне тоже нужен)?
Беглый взгляд по коду:
...
rsync -aq --ignore-existing --exclude="pamac-tray-budgie.desktop" /etc/xdg/autostart/ $config_dir/autostart/
...
Копирует десктоп-файлы из системного автостарта в пользовательский. Но (читая заголовок), в опенбох свой автостарт, никак не связанный с xdg. Хотя, можно задействовать и этот.
Глядим далее:
...
done | yad --window-icon=distributor-logo-mabox...
Что-то важное делает этот yad (наверное спрашивает: да, нет). А у тебя он вообще есть? У меня нет.
И по результату работы этого yad манипулирует "hidden":
...
   cat $results | while read line; do
        eval $(echo $line | awk -F'|' '{printf "export HIDDEN=\"%s\" FILENAME=\"%s\"", $1, $2 }')
...
Вот и отлаживай. Вместо реальных действий поставь заглушки, с выводом текущих значений и анализируй.
« Последнее редактирование: 16 Января 2025, 06:51:11 от andytux »

Оффлайн Morisson

  • СуперМодератор
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 400
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #12 : 16 Января 2025, 06:39:46 »
YAD- A fork of zenity - display graphical dialogs from shell scripts or command line

Оффлайн Irshat

  • Автор темы
  • Активист
  • *
  • Сообщений: 799
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #13 : 16 Января 2025, 07:15:40 »
YAD- A fork of zenity - display graphical dialogs from shell scripts or command line
У меня такое ощущение, что Morisson бот. Такие ответы уже на мой второй запрос.
andytux, Отключил все левое от mabox, но решения пока нет ((. Дальше тестю отлаживаю )).
« Последнее редактирование: 16 Января 2025, 07:27:30 от Irshat »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8047
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #14 : 16 Января 2025, 08:56:31 »
Это была плохая идея...
Нормальная идея. Плохо, если она ничему не научила.
К слову, в xubuntu по умолчанию нет zenity, нет его форка yad.
...
rm -f $results
...
Здесь мог-бы оказаться и "патч бармина".
« Последнее редактирование: 16 Января 2025, 10:56:05 от andytux »

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.