Создание пункта меню

Подскажите что неправильно делаю:
вот например программу я запускаю через bash скрипт. Если через терминал захожу в папку где он лежит, вбиваю ./maya --то все ок запускается. Но вот решил я создать себе пункт меню, создал его и в поле "команда" указал путь к скрипту. Теперь при запуске в тасбаре сначала появляется это окно, потом пропадает и все. Я гимп тоже запускаю через скрипт, так же к нему путь указан - и все ок работает.

И еще вопрос возник: вот скачал я например какой-нибудь deb-пакет, установил - а в меню егон не появилось. Через терминал нормально можно запустить, а вот хотелось бы чтоб и там был. Вообще почему так происходит? Если через репозиторий ее же ставил, то в меню все пункты нормально прописались.

0
Voyageur - 4 Май, 2009 - 21:02
Изображение пользователя Voyageur.

Приведите пожалуйста текст скрипта, которым Вы программу запускаете.

0
terrrible - 4 Май, 2009 - 21:08

#!/bin/bash

source ./setup_maya.sh

${MAYA_EXEC} $*

0
Voyageur - 4 Май, 2009 - 21:43
Изображение пользователя Voyageur.

А права на исполнение прописаны?

0
terrrible - 4 Май, 2009 - 21:53

Ну вообще я из консоли без sudo просто запускаю. Если тут не все так просто подскажите.

0
terrrible - 8 Май, 2009 - 12:52

Народ, я знаю вы это можете! :) Погите создать пункт меню или хотя бы иконку на рабочем столе.

0
mityukov - 8 Май, 2009 - 13:53
Изображение пользователя mityukov.

А если без "промежуточного скрипта"? Прямо в диалоге "создания пункта меню" прописать что-нить типа:

source /home/your_nick/setup_maya.sh && ${MAYA_EXEC}

0
terrrible - 13 Май, 2009 - 20:52

Нет, к сожалению то же самое(

0
mityukov - 18 Май, 2009 - 14:38
Изображение пользователя mityukov.

А что в этом скрипте, который обозван "setup_maya.sh"?

0
terrrible - 19 Май, 2009 - 22:22

Там вот это:
#!/bin/bash

export CGRU_LOCATION=${CG_TOOLS}/cgru

source $CGRU_LOCATION/bin/afenv.sh

export MAYA_VERSION=2009
export MAYA_ARCH=-x64
# For 32bit Maya uncomment next line
# export MAYA_ARCH=

export MAYA_LOCATION=${CG_SOFT}/maya${MAYA_VERSION}${MAYA_ARCH}

export MAYA_EXEC=${MAYA_LOCATION}/bin/maya${MAYA_VERSION}

export MAYA_CGRU_LOCATION=${CGRU_LOCATION}/maya

export TMPDIR=/tmp
export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.5/site-packages

export MAYA_CGRU_MENUS_NAME="CGRU"

# path to modeling, animation, rendering ... menu items
# if not sel defaut MAYA_CGRU_LOCATION/mel will be used
#export MAYA_CGRU_MENUS_LOCATION="/cg/tools/maya/settings"

export XBMLANGPATH=${MAYA_CGRU_LOCATION}/icons/%B
#export XBMLANGPATH=${XBMLANGPATH}:${MAYA_LOCATION}/icons/%B
#:${MAYA_LOCATION}/icons/paintEffects/%B:${MAYA_LOCATION}/icons/cloth/%B:${MAYA_LOCATION}/icons/live/%B:${MAYA_LOCATION}/icons/fur/%B

# automatically load plugins located in MAYA_CGRU_LOCATION/mll/MAYA_VERSION directory
export MAYA_CGRU_PLUG_INS_AUTOLOAD=1

# use cgru to generate mentalray rayrc and place into MAYA_CGRU_MENTAL_RAYRC_DIR directory
export MAYA_CGRU_MENTAL=1
# if not set user temp directory will be used
export MAYA_CGRU_MENTAL_RAYRC_DIR=${HOME}/maya/${MAYA_VERSION}
# if not set "mayacgru" name will be used
export MAYA_CGRU_MENTAL_RAYRC_NAME=my_maya.rayrc
# if set uniquie name for rayrc will be generated `[MAYA_CGRU_MENTAL_RAYRC_NAME].[HOSTMANE].[pid].rayrc`
#export MAYA_CGRU_MENTAL_RAYRC_UNIQUE=1
export MI_CUSTOM_SHADER_PATH=${MAYA_CGRU_LOCATION}/mentalray/include

# not supported now
export MAYA_CGRU_RENDERMAN=0
# replace default maya filebrowser with a standart QT filebrowser with bookmarks
#export MAYA_CGRU_FILEBROWSER_QT=1
# set folders were restore MAYA_CGRU_FILEBROWSER bookmarks
# if not set MAYA_APP_DIR will be used
#export MAYA_CGRU_FILEBROWSER_GLOBAL="${HOME}/maya/file_bkmrk.global"
#export MAYA_CGRU_FILEBROWSER_PROJECT="${HOME}/maya/file_bkmrk.project"
#export MAYA_CGRU_FILEBROWSER_USER="${HOME}/maya/file_bkmrk.user"
#export MAYA_CGRU_FILEBROWSER_RECENT="${HOME}/maya/file_bkmrk.recent"


# overrides (set custom values there):
[ -f overrides.sh ] && source overrides.sh

MAYA_LD_LIBRARY_PATH=$MAYA_LOCATION/lib

if [ "$LD_LIBRARY_PATH" != "" ]; then
   export LD_LIBRARY_PATH="${MAYA_LD_LIBRARY_PATH}:${LD_LIBRARY_PATH}"
else
   export LD_LIBRARY_PATH="${MAYA_LD_LIBRARY_PATH}"
fi

export PATH=${MAYA_LOCATION}/bin:${PATH}

export MAYA_SCRIPT_PATH=${MAYA_CGRU_LOCATION}/mel/AETemplates:${MAYA_CGRU_LOCATION}/mel/override/${MAYA_VERSION}:${MAYA_SCRIPT_PATH}
export MAYA_PLUG_IN_PATH=${MAYA_CGRU_LOCATION}/mll/${MAYA_VERSION}${MAYA_ARCH}:${MAYA_PLUG_IN_PATH}

0
mityukov - 20 Май, 2009 - 12:13
Изображение пользователя mityukov.

Вот нашел две переменные, источник значений для которых не совсем понятен...:
- CG_TOOLS
- CG_SOFT

Есть вероятность, что они задаются в каком-нибудь ~/.bashrc или ~/.profile (если не в более глобальных "инициализаторах", лежащих в /etc/ или /usr/..), которые, в свою очередь, исполняются для каждой терминальной сессии, и потому ты можешь запускать Maya через терминал, но не можешь из меню..

Во общем, попробуй в самое начало скрипта засунуть:

#!/bin/bash

export CG_TOOLS={значение получи в запущеном терминале, с пом. "echo $CG_TOOLS"}
export CG_SOFT={значение получи в запущеном терминале, с пом. "echo $CG_CGSOFT"}

... дальше все оставь как есть, но не повторяй "#!/bin/bash" еще раз ;-)

0
terrrible - 20 Май, 2009 - 23:11

Да, на самом деле эти переменные определяются в /etc/bash.bashrc

Попробовал как выше написал, указал явно значение этих переменных - то же самое(
Может я невозможного хочу?)

0
mityukov - 21 Май, 2009 - 13:54
Изображение пользователя mityukov.

Ну не то чтобы прямо совсем невозможно... Но как мнимум там еще $PATH, $PYTHONPATH и $LD_LIBRARY_PATH (не могу сказать, существуют ли они "вне терминала").

Плюс, там еще пара .sh скриптов по ходу подрубается (про этих я вообще не знаю что там внутри).

Я бы вот еще такой ход попробовал, если честно:

#!/bin/bash

source /etc/bash.bashrc
source /home/your_nick/.bashrc # или что там у тебя еще подрубается при старте терминальной сессии..

# и далее по тексту. как было в самом начале:
export CGRU_LOCATION=${CG_TOOLS}/cgru
...

, если не прокатит -- см. перечисленные в самом начале $PATH, $PYTHONPATH и $LD_LIBRARY_PATH, а также переменные в подрубаемых скриптах ($CGRU_LOCATION/bin/afenv.sh, overrides.sh)..

Других ричин не вижу. Может быть еще что-то с "областью видимости" экспортируемых скриптами переменных: например, ${MAYA_EXEC} определяется в скрипте инициализации, но по выходе из него обнуляется... Здесь я уже не помощник -- так глубоко не копал никогда.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры