LINUX.ORG.RU

Сетевой пульт


0

1

Люблю смотреть фильмы не вставая с кровати, и хочется управлять плеером с КПК. Придумал следующую схему:

  • На компе стоит апач и имеется скрипт (php, python, cgi-bin) который принимает парамерт, и следуя ему, совершает какое-либо действие через DBus. Например, ставит на паузу.
  • На КПК оболочка написанная на Python/Tk. Жму на кнопку, через Wi-Fi вызывается этот скрипт.
  • Профит

Сколько не пишу серверную часть, все не хочет работать. Вот пример на bash

#!/bin/bash
echo "Content-type: text/html"
echo ""
#$com=`echo $QUERY_STRING|awk -F "=" '{print $2}'`
if [ "$QUERY_STRING" == "act=1" ]; then
{
  echo "D-Bus thread"
  qdbus org.mpris.vlc /Player Pause
  echo $(qdbus org.mpris.vlc)
}
fi

То есть отдельно команда qdbus org.mpris.vlc /Player Pause выполняется, а в скрипте ничего не выполняется.

> qdbus org.mpris.vlc /Player Pause

echo $(qdbus org.mpris.vlc)

Добавьте 2>&1.
Веб-сервер имеет право соединяться с dbus?

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

Похоже, сам сервис нужно запускать от имени пользователя, запустившего плеер.

AITap ★★★★★
()

Тебе надо пускать qdbus из-под того-же пользователя, из-под которого запущен плеер. И переменную окружения не забыть.

DISPLAY=:0 sudo -u Chubakur /usr/bin/qdbus org.mpris.vlc /Player Pause
Ну и в visudo надо закомментировать requiretty и вписать
apache ALL=(Chubakur) NOPASSWD: /usr/bin/qdbus

legolegs ★★★★★
()

>На КПК оболочка написанная на Python/Tk. Жму на кнопку, через Wi-Fi вызывается этот скрипт.

напуркуа это, если можно сделать JS/HTML страницу, и ходить на нее с любого девайса с вифи/синезуб/браузер?

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

хотел спросить - зачем писать приблуду на python для КПК, если можно сделать веб-страницу с кнопками,положить ее на тот же апач, и дергать CGI из нее. таким образом можно управлять телевизором не только с КПК, но и с любого устройства с браузером в сети, поверх WiFi или Bluetooth.

не обращай внимания :)

dib2 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.