vikkyshostak
@vikkyshostak
< This head full of dreams.

Raspbian Lite. Можно ли сделать режим киоска?

Доброго времени года.

Стоит задача запускать малинку в режиме киоска, где в Chronium будет открываться веб-сервер со страничкой пользовательского интерфейса (на Django). Вопрос: можно ли сделать всё это на Raspbian Lite (официальный дистрибутив, который только CLI, без GUI)?

Установил все необходимые зависимости так:

$ wget http://ftp.us.debian.org/debian/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-5+deb7u4_armhf.deb
$ wget http://launchpadlibrarian.net/218525709/chromium-browser_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
$ wget http://launchpadlibrarian.net/218525711/chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
$ sudo dpkg -i libgcrypt11_1.5.0-5+deb7u4_armhf.deb
$ sudo dpkg -i chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
$ sudo dpkg -i chromium-browser_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb

Киоск запускаю вот так: создал файл в автозагрузке ~/.config/autostart/chromium.desktop, в нём прописал вот это:

[Desktop Entry]
Encoding=UTF-8
Name=Connect
Comment=Checks internet connectivity
Exec=/usr/bin/chromium-browser -incognito --noerrdialogs --kiosk http://127.0.0.1:8000

При рестарте малинки — ничего не происходит..

Буду рад толковым комментариям.
Заранее спасибо!
  • Вопрос задан
  • 3925 просмотров
Решения вопроса 1
vikkyshostak
@vikkyshostak Автор вопроса
< This head full of dreams.
Разобрался сам, очень помогла вот эта инструкция: https://die-antwort.eu/techblog/2017-12-setup-rasp...

1. Устанавливаем нужные пакеты:

$ sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox chromium-browser

2. Правим /etc/xdg/openbox/autostart:

# Отключаем скринсейвер и режим сна для монитора
xset s off
xset s noblank
xset -dpms

# Разрешаем убийство процесса иксов по нажатию Ctrl + Alt + Backspace
# Чтобы снова запустить: $ sudo startx -- -nocursor
setxkbmap -option terminate:ctrl_alt_bksp

# Старт браузера Chromium в режиме киоска
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
chromium-browser --disable-infobars -incognito --noerrdialogs --kiosk 'http://127.0.0.1:8000/'

3. Создаём/правим ~/.bash_profile (для автозапуска иксов при перезагрузке):

[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor

4. Для управления, зажимаем Ctrl + Alt + F2 и переходим в консоль. Обратно в браузер — Ctrl + Alt + F1. Чтобы убить процесс иксов — Ctrl + Alt + Backspace.

Собственно, на этом всё — перезагрузка и всё работает, как требовалось.

В случае зависания браузера и невозможности сделать ребут RPi (всякое бывает), можно подключиться по SSH, убить процесс браузера и запустить его заново на мониторе, который подключен к HDMI:
$ export DISPLAY=:0
$ sudo chromium-browser -incognito --noerrdialogs --disable-infobars --kiosk http://127.0.0.1:8000/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Ledax
Реализовать режим киоска смог по вашим мануалам, спасибо. А у вас не было потребности периодически делать обновление страницы? Бьюсь уже второй день и не понимаю как можно послать команду F5 будучи подключенным к raspberry по ssh, и как делать тоже самое но уже автоматически с заданным интервалом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы