시작시 systemd가 실행하는 스크립트가 있습니다. 그것은 내 응용 프로그램을 실행합니다. 사용자가 응용 프로그램을 종료하면 스크립트는 ts_calibrate를 실행하고 완료되면 다시 내 응용 프로그램을 실행합니다. Angstrom에서는 잘 작동하지만 데비안을 실행하는 Beaglebone Black에서는 작동하지 않습니다.ts_calibrate가 systemd 스크립트에서 실행되지 않습니다.
내 mita.sh 스크립트
while [ 1 ]; do
if [ -e /etc/pointercal ]; then
echo "Pointercal exists"
./mita6 -platform linuxfb -plugin evdevtouch:/dev/input/event1
echo "Quit mita6"
else
echo "No pointercal"
ts_calibrate
echo "Quit ts_calibrate"
./mita6 -platform linuxfb -plugin evdevtouch:/dev/input/event1
fi
echo "Calibrating..."
ts_calibrate
echo "Calibration Done."
sleep 2
done
시스템이 부팅 지금, 내 애플 확인을 시작하지만 종료 할 때 응용 프로그램의 ts_calibrate 실행되지 않습니다. 내가 루트로 로그인 할 경우, 내가 명령 줄에서 스크립트를 실행할 수 있습니다,
ts_open: No such file or directory
하고 모든 것이 예상대로 작동 - : 나는 다음과 같은 오류가 발생합니다.
명령 줄에서 sudo ts_calibrate
을 입력하면 동일한 오류가 발생합니다.
누군가 나에게 무슨 일이 일어나는지 이해하도록 도와 줄 수 있습니까?
root로 ssh를 사용하면 스크립트를 성공적으로 실행할 수 있지만 sudo를 실행하면 ts_calibrate를 실행할 수있는 권한이없는 것 같습니다! systemd도 올바른 권한을 가지고 있지 않습니다!
감사합니다.
제임스.
.
.
.
systemd 서비스
#!/bin/sh -
[Unit]
Description=My Script
[Service]
USER=root
WorkingDirectory=/home/root
ExecStart=/bin/sh -c 'source /etc/profile ; /home/root/mita.sh'
After=dropbear.service
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
.
끝나면 uname -a 리눅스 beaglebone 3.8.13-bone67 # 1 SMP 수요일 9월 24일 세계 협정시 21시 30분 3초 2014
GNU/리눅스 armv7l
이이 http://stackoverflow.com/questions/8397680/tslib-not-creating-device와 동일 할 수 있는가? – pjz
@pjz 스크립트가 명령 줄에서 작동하기 때문에 systemd 서비스에서 실행될 때가 아니라고 생각합니다. – jas99