LINUX.ORG.RU

В чем отличие между запусками одной программы из командной строки

 ,


0

2

Из командной строки запускаю одну программу но немного по разному.

  1. запускается верно
/home/pi/Qt_Projects/kiab/kiab -plugin tslib
  1. запускается программа но не работает тач. 2.1 сначала запускаем программу
/home/pi/Qt_Projects/kiab/kiab 

2.2 после отсылаем плагин.

-plugin tslib

2.3 получаем ошибки

ts_setup() failed (No such file or directory)

2.4 добавляю

TSLIB_TSDEVICE=/dev/input/event1
TSLIB_FBDEVICE=/dev/fb0
TSLIB_CONFFILE=/etc/ts.conf
TSLIB_CALIBFILE=/etc/pointercal
TSLIB_PLUGINDIR=/usr/lib/arm-linux-gnueabihf/ts0
QT_QPA_FB_TSLIB=1
QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0

2.5 снова -plugin tslib все сьел а тач не заработал. Так в чем отличие запуска?

Перемещено hobbit из general

может, тебе базовые вещи стоит изучить, прежде чем за программирование браться? ты даже не понимаешь, что такое терминал и как он работает

anonymous
()
Ответ на: комментарий от Alex_Golubev

Открываешь эмулятор терминала (или логинишься на физическом терминале), он запускается. В итоге запускается программа, которая обрабатывает ввод.

Ты ей что-то вводишь, жмёшь клавишу отправки команды.

Программа разбивает программу на части по разделителю на слова и выполняет команду.

Обычно разделитель — пробел. Первое слово — имя команды (или бинарника) который запускается, остальное передаётся ему как аргументы. Но есть нюансы. Много нюансов.

Всё это в сессии, где ты можешь какие-то переменные окружения установить. Конкретное поведение зависит от интерпретатора, который у тебя выбран.

Читай маны по cli в целом и по bash в частности. А дальше разберёшься.

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

Объясняю. Консоль это такая тупая штука, которая только умеет ввод/вывод текста (иногда подкрашенного, есть пара эмуляторов терминала которые могут картинку вывести, в родном TTY это тоже можно через фреймбуфер). Вообще эмулятор термнала это вот эта железяка эмулируется https://ru.wikipedia.org/wiki/VT100#/media/Файл:DEC_VT100_terminal.jpg Всё больше консоль ничего не умеет. Остальное умеют программы которые в ней работают, обычно в начале сессии это bash (интерпретатор команд). Но после того как ты bash-ем что-то запустил то bash уже отдаст управление этому что ты запустил. Теперь дальше идём. /home/pi/Qt_Projects/kiab/kiab -plugin tslib тут запускается программа /home/pi/Qt_Projects/kiab/kiab в которую через аргументы командной строки (argc argv в терминах языка C, в других языках обычно похожая конструкция, суть как оно работает технически например тут http://cppstudio.com/post/421/). Но вот после запуска туда уже ничего нельзя запихнуть. Это разовая акция которая выполняется в момент запуска программы. Дальше уже у программы есть доступ к потокам ввода/вывода (и их внезапно не 1 а больше, хотя больше одного потока вывода редко используют) и то что будет в этих потоках уже полностью задача программиста. Обычно там уже работа с юзером, но у тебя демон, так что с юзером обычно он не работает и программисту вообще пофиг что там происходит. Потому дальнейшие команды с вероятностью 99.999% идут прямиком в спортлото.

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

Простите, а куда вы его отсылаете?

«А на неделе хозяйка велела мне почистить селедку, а я начал с хвоста, а она взяла селедку и ейной мордой начала меня в харю тыкать. Подмастерья надо мной насмехаются, посылают в кабак за водкой и велят красть у хозяев огурцы, а хозяин бьет чем попадя. А еды нету никакой.»

Прошло 150 лет… ;-)

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

что то ты как то сложно зашел. В

/home/pi/Qt_Projects/kiab/kiab -plugin tslib

вызывается kiab с аргументами командной строки -plugin tslib и че то там делает. А если его без аргументов запустить, то он этого не делает. Судьба отдельного введенного в поток ввода -plugin tslib науке неизвестно (ушло на деревню дедушке но видимо не дошло).

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

Я уже дальше пошел. И избавился от -plugin tslib. Теперь программа запускается у меня вот так:

/home/pi/Qt_Projects/kiab/kiab

И программа работает и тач. Все нормально.

Но qt creator все не как ни может запустить с работающим тачем. Че ему надо этому qt creator. Все пути совпадают проверил.

Alex_Golubev
() автор топика