LINUX.ORG.RU

Странное поведение динамического меню openbox

 ,


0

1

мой ~/.config/openbox/menu.xml выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<openbox_menu>
        <menu id="root-menu" label="menu" execute="~/.config/openbox/menu.sh" />
</openbox_menu>

в скрипте ~/.config/openbox/menu.sh, формирующем, собственно, меню опенбокса, присутствует вызов другого скрипта, тоже участвующего в формировании меню (так надо):

...
...
...
another.sh
...
...
...

Проблема в следующем: эта связочка корректно работает только при включенном эмуляторе терминала (т.е. /bin/bash, насколько я понимаю). При незапущенном терминале another.sh не выполняется.

Подскажите, пожалуйста, пути решения проблемы.

Спасибо за внимание.

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 2)
Ответ на: комментарий от darkenshvein

на убунте катаюсь. может, по вопросу это важно в плане каких-то особенностей именно этого дистра. вот таким раком.

piyavking ★★★★★
() автор топика
Ответ на: комментарий от Ignatov

Например, в зависимости от наличия или отсутствия определённого процесса, иметь в пункте меню либо «Выкл process» с убийством этого процесса, либо «Вкл process» с запуском. Если подобную вещь пытаться решить статикой, то максимум будут два неинформативных пункта «Вкл» и «Выкл».

Есть ещё пара-тройка вещей, красиво реализуемых исключительно динамическим меню.

piyavking ★★★★★
() автор топика
Ответ на: комментарий от piyavking

идея классная;-) на крайний случай можно что то типа rxvt повесить! и смотреться стильно будет. сейчас в debian'e через статику скриптец проверю;-)

#!/bin/sh конечно же у тебя прописано!

Ignatov ★★★
()
Ответ на: комментарий от piyavking

#!/bin/bash прописано. есть принципиальная разница?

а что мешает проверить?

и вместо ~/ попробуй прописать полный путь. я правда статически чисто скрипт на запуск проверил, но заработало только через полный путь

Ignatov ★★★
()
Последнее исправление: Ignatov (всего исправлений: 1)
Ответ на: комментарий от Ignatov

проверю

да не, ~/.config/openbox/menu.sh выполняется железно, вне зависимости от наличия терминала. а вот вызов уже из ~/.config/openbox/menu.sh ещё одного скрипта (который another.sh) - вот с этим и есть описанная проблема. Я уж по всякому пытался эту строчку прописать - не пашет без терминала, хоть плачь.

а если прописывать #!/bin/sh - вылазит ошибка. потому, что скрипт сложный, и для обеспечения его синтаксиса нужен именно bash.

piyavking ★★★★★
() автор топика
Последнее исправление: piyavking (всего исправлений: 1)
Ответ на: комментарий от Ignatov

А у меня вообще нету такого файла, и похожего тоже нету (

Да я уж вывернулся через

eval "$(обработка текста стороннего скрипта регулярными выражениями)"

Такой финт ушами наконец-то прокатил. Теперь всё работает, ггг.

piyavking ★★★★★
() автор топика
Последнее исправление: piyavking (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.