Поместите его в свой crontab.
Откройте таблицу cron:
crontab -e
Теперь добавьте:
*/5 * * * * /path/to/script.sh
Don Не забудьте сделать исполняемый файл сценария заранее.
Поскольку ваш скрипт зависит от X, вероятно, будет хорошей идеей добавить DISPLAY в среду сценария:
*/5 * * * * DISPLAY=:0 /path/to/script.sh
Заменить :0 на ваш фактический DISPLAY (может быть найден echo $DISPLAY из интерактивного сеанса).
При необходимости вы можете добавить переменную среды XAUTHORITY тоже:
*/5 * * * * DISPLAY=:0 XAUTHORITY="~/.Xauthority" /path/to/script.sh
Снова вы можете найти значение echo $XAUTHORITY.
Я не совсем уверен, чего вы пытаетесь достичь; вам нужен libusb для работы на 32 и 64 бит? Или только один из них? В любом случае библиотека должна быть установлена специально для правильной архитектуры. По умолчанию команда установки будет устанавливать только свою «собственную» версию библиотеки. Вы можете сказать это, чтобы установить обе версии:
sudo apt-get install libusb-1.0-0-dev:i386
sudo apt-get install libusb-1.0-0-dev:amd64
для 32 и 64 бит, соответственно. Вы также можете напрямую проверить файлы библиотеки, в моей системе (16.04), они живут в
32bit: /usr/lib/i386-linux-gnu/
64bit: /usr/lib/x86_64-linux-gnu
(если вы сомневаетесь, dpkg-query -L libusb-1.0-0-dev показывает, где они установлены.)
Что касается libusb, который вы скомпилировали, вам нужно отслеживать, что вы используете правильную версию при связывании своей программы. Возможно, вы смешиваете 32 и 64-битные версии в / usr / local / lib? gcc / ld не знал бы, чтобы их не разделить.
Что касается сеанса отладки, gdb ist просто пытается показать исходные строки, но не знает, где найти исходные файлы библиотеки. В противном случае я не вижу ничего, что здесь явно не так.
Я не совсем уверен, чего вы пытаетесь достичь; вам нужен libusb для работы на 32 и 64 бит? Или только один из них? В любом случае библиотека должна быть установлена специально для правильной архитектуры. По умолчанию команда установки будет устанавливать только свою «собственную» версию библиотеки. Вы можете сказать это, чтобы установить обе версии:
sudo apt-get install libusb-1.0-0-dev:i386
sudo apt-get install libusb-1.0-0-dev:amd64
для 32 и 64 бит, соответственно. Вы также можете напрямую проверить файлы библиотеки, в моей системе (16.04), они живут в
32bit: /usr/lib/i386-linux-gnu/
64bit: /usr/lib/x86_64-linux-gnu
(если вы сомневаетесь, dpkg-query -L libusb-1.0-0-dev показывает, где они установлены.)
Что касается libusb, который вы скомпилировали, вам нужно отслеживать, что вы используете правильную версию при связывании своей программы. Возможно, вы смешиваете 32 и 64-битные версии в / usr / local / lib? gcc / ld не знал бы, чтобы их не разделить.
Что касается сеанса отладки, gdb ist просто пытается показать исходные строки, но не знает, где найти исходные файлы библиотеки. В противном случае я не вижу ничего, что здесь явно не так.