%20%E3%81%8B%E3%82%89%20xserver%20%E3%81%AB%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
Raspberry Pi で実行されている xserver から値を取得しようとしています。コマンドはDISPLAY=:0 xssstate -i
コマンド ラインでは機能しますが、スクリプトを実行すると機能しません。
スクリプトをローカルで実行すると完璧に動作しますが、SSH経由で実行すると動作しません。
脚本:
enter code here
#!/bin/bash
# Wanted trigger timeout in milliseconds.
IDLE_TIME=$((10*1000))
triggered=0
while [ 1 -eq 1 ]
do
sleep 1
sstime=$(DISPLAY=:0 xssstate -i)
echo "idletime $IDLE_TIME"
echo "sstime $sstime"
if [ "$sstime" -gt "$IDLE_TIME" ] || [ "$triggered" -eq 0 ]
then
echo 235 > /sys/waveshare/rpi_backlight/brightness
triggered=1
elif [ "$sstime" -lt "$IDLE_TIME" ] || [ "$triggered" -eq 1 ]
then
echo 0 > /sys/waveshare/rpi_backlight/brightness
triggered=0
else
triggered=0
fi
done
出力:
No protocol specified
Cannot open display.
idletime 10000
sstime
./backLTctrl.sh: line 15: [: : integer expression expected
No protocol specified
Cannot open display.
idletime 10000
sstime
./backLTctrl.sh: line 15: [: : integer expression expected
./backLTctrl.sh: line 19: [: : integer expression expected
No protocol specified
Cannot open display.
idletime 10000
sstime
./backLTctrl.sh: line 15: [: : integer expression expected
No protocol specified
Cannot open display.
idletime 10000
sstime
./backLTctrl.sh: line 15: [: : integer expression expected
./backLTctrl.sh: line 19: [: : integer expression expected