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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

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

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

Оффлайн Morisson

  • СуперМодератор
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 400
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #15 : 16 Января 2025, 11:51:57 »
У меня такое ощущение, что Morisson бот. Такие ответы уже на мой второй запрос.
Это ответ не на твой вопрос, а на вопрос andytux.
Я пояснил, что такое yad. И, соответственно, отсюда вывод, почему ваш скрипт работать не будет.
Без yad gui просто не появится и кнопочки выбора тыкать некуда будет.
Попробуйте доустановите yad. Это первое, что надо сделать.
Мануал- https://manpages.ubuntu.com/manpages/xenial/man1/yad.1.html
Отсюда вы сможете понять, что делает этот самый yad.
И я не бот(

Пользователь добавил сообщение 16 Января 2025, 11:59:50:
Еще, в той системе, где вы взяли скрипт, есть конфиг yad-а
Это yad.conf в $XDG_CONFIG_HOME или $HOME/.config
Его тоже нужно перенести к себе в систему.
« Последнее редактирование: 16 Января 2025, 11:59:50 от Morisson »

Оффлайн Irshat

  • Автор темы
  • Активист
  • *
  • Сообщений: 799
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #16 : 16 Января 2025, 16:06:08 »
Попробуйте доустановите yad.
Ну дык тут итак все ясно, я бы эту тему не поднял, если бы его у меня не было )))
И я не бот(
Очень приятно, сразу видно человека ))
Спасибо за наводку,
Цитировать
Это yad.conf в $XDG_CONFIG_HOME или $HOME/.config
Правда не очень помогло, но все же.
Вообще я в Яде конечно не плох, но здесь разобраться не могу ((.

Пользователь добавил сообщение 17 Января 2025, 15:16:01:
Не решил, что-то я не догоняю ))))
« Последнее редактирование: 17 Января 2025, 15:16:01 от Irshat »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8047
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #17 : 19 Января 2025, 11:28:45 »
"- На этом отдельном отрицательном примере, мы мобилизуем общественность, поднимем массы...
- Этих негодяев мы будем судить показательным судом. А Вы приедете на этот процесс действительно, как свидетель."

И так, где расположить и как запустить "некий скрипт".
Пока это рабочий процесс, то вполне подходящее место - рабочий стол.

Но рука не поднимается издеваться над собой, я не мазохист. Есть у меня и "Рабочий стол", но это симлинк на "Desktop". Таким образом, не зависит от языка системы, нет возникает проблемы с "недорустимыми символами" и т.д и т.п.
Скрипт yautostart - это код, приведённый тобой в начале темы. .mc.menu - файл "user menu" MC. Помимо общего меню, может быть своё меню в каждом каталоге. Удобно для проб, тестов, не путаются под руками лишние пункты.
Второй пункт меню - запуск непосредственно скрипта yautostart. Настроены условия видимости, что пункт виден и указатель меню сразу устанавливается на него, если в панели указатель установлен на этот скрипт.
Первый пункт меню - код находится непосредственно в файле .mc.menu, виден всегда. В этом варианте отпадает вопрос с расположением кода-скрипта. А так-же, уже запущен файлменеджер и нет никакой нужды в запуске терминала. И всё будет работать без гуи, в голой консоли.
Файл меню или файл скрипта понадобится редактировать. В MC редактор, опять не надо никаких лишних-внешних, вспоминать как называются, как запускаются с конкретным кодом-скриптом. Для редактирования файла меню в меню MC есть команда, хотя я чаще открываю его как обычный, посторонний файл, клавишей "F4".
Содержимое файла меню:
(Нажмите, чтобы показать/скрыть)
Второй пункт меню. Сразу заметно "удобство расположения скрипта где попало". ~/Desktop не входит в "стандартные пути". Если запускать скрипт нажатимем Enter, то он запустится, потому что находится в текущем каталоге. В остальных случаях придётся вводить полный путь. Поэтому, в меню написан полный путь, но это не снижает удобство.
Первый пункт меню. Вопрос касательно расположения не возникает впринципе. Помимо этого, не возникает вопроса по интерпретатору, как в теме про "nu". Главное, чтобы текущий интерпретатор понимал то, что есть в коде.
Изначально, это код скрипта yautostart, но я уже внёс некоторые изменения. Удалил выбор языка, большая часть кода закомментирована, чтобы пока не мешались.
По расположению и запуску пожалуй всё. Далее, разработка и отладка.
И сразу, визуально, какая здесь переменная: "$config_dir/autostart"?
Представь, что в скрипте две переменных: conf, config_dir. Формально, это не ошибка, но возможные последствия будет трудно выловить. Поэтому, ${config_dir}. Не откладывать на потом.
config_dir=${XDG_CONFIG_HOME:-$HOME/.config}. В данном случае всё нормально, но представь, в $HOME нечто с пробелом. Поэтому: config_dir="${XDG_CONFIG_HOME:-$HOME/.config}".
yad. Понятно, что об удобстве никто не задумывался. Нет yad, и вот уже сколько бобров себе чуть системы не поломали на этом. А почему-бы не сделать: if [ -e /usr/bin/yad ]; then util='yad'; else util='zenity'; fi. Я правда пока не знаю, возможно-ли в принципе это реализовать через zenity. Лучше-бы, обойтись без него вообще.
Начинаю отладку первого пункта меню. Запуск. Еще ничего не делает, но гадит.
$  /bin/sh /tmp/mc-avn/mcusr2547Z2
rm: cannot remove '/home/avn/.config/autostart/pamac-tray-budgie.desktop': No such file or directory # А зачем удалять то, чего нет?
/tmp/mc-avn/mcusr2547Z2: 37: yad: not found # ошибка в строке 37, нет yad
..mcusr2547Z2.dbg1: [] zenity [][]/etc/xdg/autostart[/home/avn/.config] # последняя строка в коде, вывод отладочной информации
Удаляю тупую строку и раскомментирую следующую за ней строку с проверкой "pamac-tray-budgie.desktop". Аналогично исправлена строка с беспроверочным созданием "$config_dir/autostart". Раскомментирую строку с rsync.
$  /bin/sh /tmp/mc-avn/mcusrKJ67Z2
..mcusrKJ67Z2.dbg1: [] zenity [][]/etc/xdg/autostart[/home/avn/.config]
Почище стало. Десктоп-файлы из системного скопировались в пользовательский autostart, без манипуляций с "hidden". А зачем вообще нужно их изменять? Зато не нужны никакие yad-zenity.
Значительно изменил код пункта меню.
(Нажмите, чтобы показать/скрыть)
Пока еще, только копирует десктоп-файлы из системного в пользовательский autostart.
Изменяя переменную "version", можно переключать на yad, zenity или другой вариант.
Yad. Его у меня нет, поэтому, о нём ничего.
Zenity. Добавлена проверка версии и "заглушка" для запуска другой версии. Для текущей версии 4.* получается "segmentation fault". Что-то похожее на правду удалось получить только заменив строку с проверкой "Hidden", на строку с "Autostart-enabled".

Другой вариант. Без всяких гуев. Фрагмент вывода в этом режиме:
~/Desktop$  /bin/sh /tmp/mc-avn/mcusrZ7LN02
indicator-multiload.desktop yes
run hidden at-spi-dbus-bus AT-SPI D-Bus Bus
    hidden indicator-multiload System Load Indicator
run hidden nm-applet NetworkManager Applet
...
Первая строка. Перед "yes" добавил имя файла, а то вообше непонятно чего "yes", только засоряет вывод. По моему, эта индикация вообще не нужна, лучше убрать.
Далее, примерно то, что должен изобразить yad-zenity. "run" - включен autostart, "hidden" - скрыть показ в гуи-программах.
« Последнее редактирование: 21 Января 2025, 14:18:22 от andytux »

Оффлайн cargan

  • Активист
  • *
  • Сообщений: 579
  • Oderint, dum metuant
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #18 : 19 Января 2025, 11:51:47 »
Morisson, итак
-- установил стандартный YAD с Ubuntu через
sudo apt install yad-- начал проверять - оказалось не все диалоги работают, а некоторые работают неправильно. Решение пришло не сразу , и так я начал искать ноги этой утилиты и они нашлись здесь,  с неплохим гайдом

Скачал и скомпилировал и установил - работает
** у меня не гном - так что пришлось доставлять пакеты, которые требуются для стадартного инстала и компилировать с ними....

Пользователь добавил сообщение 19 Января 2025, 12:10:55:
andytux, извини, но ты как всегда не понял - ТС пытается создать свою оконку опираясь на только  openbox, ты же предлагаешь решение в виде "костыля" на сейчас и забыть...
))) увы....
----------------
кста после рекомпиляции YAD - скрипт ТС - заработал.))))
« Последнее редактирование: 19 Января 2025, 12:50:30 от cargan »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8047
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #19 : 19 Января 2025, 13:19:21 »
cargan, пожалуйста, но по моему, не понял ты.
Если на один раз и забыть, то этот скрипт не нужен вообще. Тем более, если как ты предлагаешь, требуется такое засорение системы.
Мой вариант не столько для этого конкретного скрипта. Он для любого скрипта, которым придётся пользоваться и пользоваться. И не только пользоваться, а возможно разрабатывать, изменять, отлаживать под другие условия, не только одно конкретное DE.
А в текущем виде этот скрипт даже не достоин именования костыль, скорее кривая палка.

Оффлайн cargan

  • Активист
  • *
  • Сообщений: 579
  • Oderint, dum metuant
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #20 : 19 Января 2025, 13:34:55 »
andytux, зря ты так подходишь к скрипту. Он работает и управлет (в данном случае - авто-стартом). Меня наоборот работа ТС  нацелила на очень интересные продолжение. К примеру я сделал скрипт, для быстрого запуска и редактирования  из файла историй баша...и теперь запросто без входа в редактор из любого места могу управлять историей баша...Следующие много что можно придумать.
-- кста - YAD -  это вовсе не информатор от GTK как zenity, а конструктор форм для создание в форме GTK - оболочки для BASH.


*** и ишо - есть тот же YAD для GTK2, так что вполне могут быь проблемы со скриптом, если установлен он через оффициоз (версия 0.40)- а версия последняя - 14.1 - так что нефакт что ТС не мог его в Ubuntu использовать правильно
« Последнее редактирование: 19 Января 2025, 13:49:32 от cargan »

Оффлайн Morisson

  • СуперМодератор
  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 400
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #21 : 19 Января 2025, 13:54:46 »
Zenity- тоже не информатор. Это конструктор форм диалогов. Ты видимо с notify спутал?

Оффлайн cargan

  • Активист
  • *
  • Сообщений: 579
  • Oderint, dum metuant
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #22 : 19 Января 2025, 15:19:03 »
и доаольно слабеньктй и в такой неудобоваримой форме, что использовать его в последней версии вообще не советую...

Оффлайн Irshat

  • Автор темы
  • Активист
  • *
  • Сообщений: 799
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #23 : 19 Января 2025, 16:02:02 »
да не хрена, все отключил,не работает (((
ХЗ не могу понять где косяек !!!

Оффлайн cargan

  • Активист
  • *
  • Сообщений: 579
  • Oderint, dum metuant
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #24 : 19 Января 2025, 16:51:31 »
Irshat, ты как yad ставил?

Оффлайн Irshat

  • Автор темы
  • Активист
  • *
  • Сообщений: 799
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #25 : 19 Января 2025, 17:46:06 »
ты как yad ставил?
обычно
apt install yad
Пользователь добавил сообщение 19 Января 2025, 17:47:07:
на всякий от mabox перкинул конфиг

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8047
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #26 : 19 Января 2025, 18:20:34 »
Посмотрел скриншот в "Ответ №1". Так это вместо того, чтобы использовать:

Это стандартная в ubuntu 24.04. Но и в lubuntu есть подобная.
Irshat, что не работает, как проверяешь, что не работает.
Когда запустил эту утилиту, обратил внимание. Хотя во всех десктоп-файлах (31 штука) была строка "Hidden=false", показывала только два.
Это потому, что в них есть строка "NoDisplay=true". Закомментировал её ещё в двух файлах, утилтита показала четыре файла, как на скриншоте.

Оффлайн Irshat

  • Автор темы
  • Активист
  • *
  • Сообщений: 799
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #27 : 19 Января 2025, 18:58:38 »
как проверяешь, что не работает.
все ярлыки в hiden переводит. 20,04, 22,04, 24,04 везде


Пользователь добавил сообщение 19 Января 2025, 19:00:27:
на 22,04, 24,04 xfce, я там параллельно openbox поставил
« Последнее редактирование: 19 Января 2025, 19:00:27 от Irshat »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7840
  • Eternally
    • Просмотр профиля
Re: Скрипт автозапуска программ Openbox
« Ответ #28 : 19 Января 2025, 19:26:28 »
все ярлыки в hiden переводит.
А покажите-ка до и после применения скрипта:
grep -R Hidden ~/.config/autostart /etc/xdg/autostart
🖥 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
« Ответ #29 : 19 Января 2025, 19:35:49 »
Цитировать
  <apt>  <aptitude>
   upd      apd      = обнов. репозиториев      c = очистка
   upg      apg      = обнов. пакетов           x = выход
   fpg      afg      = полн. обнов. пакетов
   ai       api      = установка                a = список алиасов
   ar       apr      = удаление                a? = поиск алиаса
   arp      app      = полное удаление         ae = ред. алиасы
   afb      aif      = исправление ошибок     bau = обновить алиасы
irshat@runtu9:~$ grep -R Hidden ~/.config/autostart /etc/xdg/autostart
/home/irshat/.config/autostart/mxuntu-installer.desktop:Hidden=true
/home/irshat/.config/autostart/blueman.desktop:Hidden=true
/home/irshat/.config/autostart/nm-applet.desktop:Hidden=true
/home/irshat/.config/autostart/lxpolkit.desktop:Hidden=true
/home/irshat/.config/autostart/gnome-keyring-secrets.desktop:Hidden=true
/home/irshat/.config/autostart/gnome-keyring-pkcs11.desktop:Hidden=true
/home/irshat/.config/autostart/user-dirs-update-gtk.desktop:Hidden=true
/home/irshat/.config/autostart/gsettings-data-convert.desktop:Hidden=true
/home/irshat/.config/autostart/vino-server.desktop:Hidden=true
/home/irshat/.config/autostart/yandex-browser_user_setup.desktop:Hidden=true
/home/irshat/.config/autostart/gnome-keyring-ssh.desktop:Hidden=true
/home/irshat/.config/autostart/xdg-user-dirs.desktop:Hidden=true
/home/irshat/.config/autostart/zz-at-spi-dbus-bus.desktop:Hidden=true
/home/irshat/.config/autostart/pulseaudio.desktop:Hidden=true
/home/irshat/.config/autostart/xfce4-power-manager.desktop:Hidden=true
/etc/xdg/autostart/
После скрипта
Цитировать
irshat@runtu9:~$ grep -R Hidden ~/.config/autostart /etc/xdg/autostart
/home/irshat/.config/autostart/mxuntu-installer.desktop:Hidden=true
/home/irshat/.config/autostart/blueman.desktop:Hidden=true
/home/irshat/.config/autostart/nm-applet.desktop:Hidden=true
/home/irshat/.config/autostart/lxpolkit.desktop:Hidden=true
/home/irshat/.config/autostart/gnome-keyring-secrets.desktop:Hidden=true
/home/irshat/.config/autostart/gnome-keyring-pkcs11.desktop:Hidden=true
/home/irshat/.config/autostart/user-dirs-update-gtk.desktop:Hidden=true
/home/irshat/.config/autostart/gsettings-data-convert.desktop:Hidden=true
/home/irshat/.config/autostart/vino-server.desktop:Hidden=true
/home/irshat/.config/autostart/yandex-browser_user_setup.desktop:Hidden=true
/home/irshat/.config/autostart/gnome-keyring-ssh.desktop:Hidden=true
/home/irshat/.config/autostart/xdg-user-dirs.desktop:Hidden=true
/home/irshat/.config/autostart/zz-at-spi-dbus-bus.desktop:Hidden=true
/home/irshat/.config/autostart/pulseaudio.desktop:Hidden=true
/home/irshat/.config/autostart/xfce4-power-manager.desktop:Hidden=true
/etc/xdg/autostart/lxpolkit.desktop:Hidden=true
irshat@runtu9:~$

Пользователь добавил сообщение 19 Января 2025, 19:38:07:
А уже поздняк, я попортил, у меня все в скрипте openbox-а
« Последнее редактирование: 19 Января 2025, 19:38:07 от Irshat »

 

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