Raspbian скрипт - запустите графический интерфейс пользователя root и откройте файл PDF в течение 60 секунд. - PullRequest
0 голосов
/ 29 января 2019

Я работаю с Raspberry Pi B + с установленным Raspbian.Я хотел бы написать скрипт (в /etc/rc.local), который:

  1. Автоматический запуск GUI от имени пользователя root (все готово)
  2. При запуске открывается определенный файл PDF в течение 60 секунд., затем открывает следующий файл PDF и переходит снова.

Я пытался что-то написать, но понятия не имею, что делать.

#Auto launch gui as root
sudo startx

#Open pdf file on full screen
while true;
do
    xpdf -fullscreen /home/share/1.pdf
    echo "0"
    sleep 60
    while true;
    do
        DESTDIR = /home/share
        xpdf -fullscreen $DESTDIR/*.pdf
        sleep 60
    done
done
exit 0

У кого-то есть идея, или кто-то может сказать мне, что мне делать?Любые указатели помощи?

1 Ответ

0 голосов
/ 29 января 2019

1) Зацикливание по шаблону.

for FILE in /home/share/*.pdf
do
    ...
done

2) Вызов на xpdf будет блокироваться, пока пользователь не закроет его;вам нужно создать фон.

xpdf -fullscreen $FILE &

3) Получить PID процесса, который вы только что отправили в фоновый режим.

XPDFPID=$!

4) Завершить процесс через 60 секунд.

sleep 60
kill ${XPDFPID}

5) Имейте в виду, что это все безобразно, особенно при запуске от имени пользователя root.Например, PID, полученный xpdf минуту назад, теперь может быть получен другим процессом ... который вы затем продолжите и убьете независимо. Такие вещи никогда не следует запускать с правами root. Создать выделенного «технического пользователя» для запуска этого сценария, чтобы единственные процессы, которые он может уничтожить, были его собственными.

6) Это всенепроверенный, задняя часть салфетки, чтобы заставить вас двигаться снова.

...