Автор Тема: [РЕШЕНО] Кнопка запуска VS терминал, и глобальные переменные  (Прочитано 1472 раз)

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

Оффлайн su16

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 191
  • Сообщений: 174
Добра!

Qt5 установлен в /opt  с сайта, стендэлон. в ~/bashrc дописал:
Spoiler: ShowHide
export PATH=/opt/qt/qt5.5/5.5/gcc_64/bin/:/opt/qt/qt5.5/Tools/QtCreator/bin/:$PATH

export LD_LIBRARY_PATH=/opt/qt/qt5.5/5.5/gcc_64/lib/:$LD_LIBRARY_PATH
export LDFLAGS=-L/opt/qt/qt5.5/5.5/gcc_64/lib/:$LDFLAGS


export CPPFLAGS=-I/opt/qt/qt5.5/5.5/gcc_64/include/:$CPPFLAGS
export C_INCLUDE_PATH=/opt/qt/qt5.5/5.5/gcc_64/include/:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/opt/qt/qt5.5/5.5/gcc_64/include/:$CPLUS_INCLUDE_PATH


теперь пытаюсь из консоли запустить апликуху, которая жаждит либы QT5  - работает!
создаю кнопку запуска на панели XFCE- не работает. дбойной щелчок по апликухе тоже не работает.
похоже, консоль подхватила либы, а система нет.
как оповестить систему о местонахождении либ?

Cообщение объединено 06 Октябрь 2015, 19:49:51
как ошибки посмотреть, почему приложение с кнопки не стартонуло? в /var/log ничего в глаза не бросилось, куда это логируется?
« Последнее редактирование: 12 Октябрь 2015, 06:10:43 от su16 »
Если вам дают бесплатное, то, скорее всего, товар - это вы.
http://ru.occupyflash.org/
 


Оффлайн su16

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 191
  • Сообщений: 174
попробовал &> ~/errors.txt дописать в конце команды - не помогло
Если вам дают бесплатное, то, скорее всего, товар - это вы.
http://ru.occupyflash.org/
 

Оффлайн mrgoodvin

  • Местный житель
  • ***
  • Сообщений: 331
Желательно помещать такое в $HOME/.profile, после строки PATH="/usr/local/sbin:/usr/sbin:/sbin:$PATH" или в конец. Для всех пользователей в /etc/profile. Как вариант, в настройках кнопки есть выбор запустить из под терминала, и уведомление о запуске.
Нашел это http://askubuntu.com/questions/435564/qt5-installation-and-path-configuration, может поможет.
~$ qtchooser -print-env:
Spoiler: ShowHide
QT_SELECT="default"
QTTOOLDIR="/usr/lib/x86_64-linux-gnu/qt4/bin"
QTLIBDIR="/usr/lib/x86_64-linux-gnu"

Соответственно можно поправить как по ссылке выше.
 

Оффлайн su16

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 191
  • Сообщений: 174
mrgoodvin, спасибо!

сделал так:
Spoiler: ShowHide

user@test:~$ qtchooser -print-env
QT_SELECT="default"
QTTOOLDIR="/opt/qt/qt5.5/5.5/gcc_64/bin"
QTLIBDIR="/opt/qt/qt5.5/5.5/gcc_64/lib"

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

я создал рабочий sh скрипт рядом с апликухой, с выводом переменных окружения в файл - оказалось, что все переменные окружения дефолтные.
скрипт как скрипт, ничего волшебного:
Spoiler: ShowHide

#!/bin/bash
echo "starting..." > ~/test.txt
echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH >> ~/test.txt
echo PATH=$PATH >> ~/test.txt
echo -------------------------- >> ~/test.txt
/opt/tea/tea &> ~/errors.txt
echo -------------------------- >> ~/test.txt
echo "done!" >> ~/test.txt


пробовал прописывать PATH и LD_LIBRARY_PATH в
~/.bashrc
~/l.profile
/etc/bash.bashrc
.pam_environment и environment - тоже не помогло, возможно сказывается баг
аналогично с ~/.config/xfce4/xinitrc :-[

похоже, крыса запускает приложения в каком-то своём шелле, не юзает системный баш и даже собственные конфиги... ???


Cообщение объединено 12 Октябрь 2015, 06:10:04
=================================================================
Победа!!! разобрался!!! 8)  ;D

LD_LIBRARY_PATH можно совсем убрать из ~/.bashrc, ибо эту переменную в линуксе принято использовать для временных экспериментов, поэтому она всегда пуста по умолчанию. там для терминала на самом деле надо оставить только одну строку
Цитировать
export PATH=/opt/qt/qt5.5/5.5/gcc_64/bin/:/opt/qt/qt5.5/Tools/QtCreator/bin/:$PATH
правильно либы добавлять через утилиту ldconfig. Эта утилита читает файл
/etc/ld.so.conf
и создаёт необходимые линки в системе. в дебиане и в большинстве линуксов в этом файле только ссылка на папку
/etc/ld.so.conf.d/
в сей папке надо создать какой-нибудь текстовый файл и записать в него ссылку на папку с кутешными либами:
sudo echo /opt/qt/qt5.5/5.5/gcc_64/lib > /etc/ld.so.conf.d/libc.qt5.confдалее обновляем сустему командой
sudo ldconfig -v > ~/my_libs_info.txtи всё! далее можно почитать что получилось командой
sudo ldconfig -p | grep Qt5 | more
Spoiler: ShowHide

вообще, таким образом можно держать линк на пустую папку /opt/lib и подбрасывать туда только нужные либы, подсматривая их например так:
ldd [ваша/прога] | grep Qt5 | more


вторая проблема - крыса не видит PATH.
но это уже не так критично... если что создам отдельную тему. ;D
« Последнее редактирование: 12 Октябрь 2015, 06:19:47 от su16 »
Если вам дают бесплатное, то, скорее всего, товар - это вы.
http://ru.occupyflash.org/
 

Теги:
 

[Решено] $PATH в X-сессии

Автор kazimyr

Ответов: 0
Просмотров: 897
Последний ответ 13 Февраль 2018, 22:12:30
от kazimyr
[РЕШЕНО] xfce + xdm @ Debian testing - не выключается из гуя

Автор dimas000

Ответов: 6
Просмотров: 4432
Последний ответ 11 Июль 2011, 17:33:10
от dimas000
[Решено] xfce и приложения типа Gimp и Lazarus

Автор Leo

Ответов: 6
Просмотров: 2249
Последний ответ 04 Апрель 2012, 11:36:10
от Leo
Подтормаживает терминал

Автор WinStorm

Ответов: 12
Просмотров: 2562
Последний ответ 14 Ноябрь 2013, 12:17:44
от Brainey
[РЕШЕНО] Thunar не стирает файлы

Автор SuperGeek256

Ответов: 1
Просмотров: 1812
Последний ответ 24 Март 2014, 01:50:41
от Sergei_Alekseev