Como abrir o Chromium no modo quiosque de tela cheia no ambiente mínimo do gerenciador do Windows (como openbox / jwm)

12

Estou tentando configurar uma simples caixa de quiosque do Ubuntu (14.04), executando apenas um Chromium em um ambiente de gerenciador de janelas muito mínimo. Etapas que realizei com sucesso:

  • Entrar automaticamente: exec /bin/login -f kiosk_user < /dev/tty1 > /dev/tty1 2>&1em/etc/init/tty1.conf
  • Iniciar ambiente X ( startxpol .profile)
  • Inicie o Chromium no ambiente X em .xinitrc
  • Iniciar gerenciador de janelas (tentou fluxbox, jwme openboxaté agora) em.xinitrc

O que eu tenho atualmente é o Chromium iniciando corretamente, mas no modo semi-normal. Preciso pressionar F11 explicitamente no teclado para fazer com que o Chromium mude para o modo de tela cheia e quiosque.

Um colega usuário de cromo de uma lista de discussão disse que isso funcionaria bem no ambiente completo do GNOME sem nenhum truque (até xdotool) - então isso pode estar de alguma forma relacionado a esses gerenciadores mínimos de janelas.

Eu até tentei iniciar o próprio Chromium sem nenhum gerenciador de janelas (o Chromium tem algo chamado Aura, seu próprio WM para o ChromiumOS?). Nesse modo, não consegui fazer com que o Chromium preenchesse a tela inteira. Esse método também não é preferível, pois não há possibilidade de abrir outros aplicativos facilmente, por exemplo, para fins de solução de problemas.


.xinitrc

#!/bin/sh

rm ~/tmp/ -Rf
xset s off
xset dpms 600 60 60
xset +fp "$X_FONTPATH"
xset fp rehash

env > ~/.xenv

# Run chromium start
~/start_chromium.sh &

# Run window manager
exec openbox

start_chromium.sh

#!/bin/sh

set -e

CHROMIUM_TEMP=~/tmp/chromium
rm -Rf ~/.config/chromium/
rm -Rf $CHROMIUM_TEMP
mkdir -p $CHROMIUM_TEMP

chromium-browser \
    --disable \
    --disable-translate \
    --disable-infobars \
    --disable-suggestions-service \
    --disable-save-password-bubble \
    --disk-cache-dir=$CHROMIUM_TEMP/cache/ \
    --user-data-dir=$CHROMIUM_TEMP/user_data/ \
    --start-maximized \
    --kiosk "file:///home/kioskuser/kiosk.html" &
sleep 5
xdotool search --sync --onlyvisible --class "chromium" key F11
Ville Mattila
fonte
Presumo que você tentou apenas correr chromium-browser --kiosk?
saiarcot895
Sim, eu tentei simplesmente chromium-browser --kioske funciona da mesma maneira que meu exemplo completo acima.
Ville Mattila

Respostas:

4

Feche o navegador e edite /home/user/.config/chromium/Default/Preferences. Haverá uma seção em relação a window_placement.

Para uma resolução de 1920x1080, por exemplo:

...

"window_placement": {
   "bottom": 1080,
   "left": 0,
   "maximized": true,
   "right": 1920,
   "top": 0,
   "work_area_bottom": 1080,
   "work_area_left": 0,
   "work_area_right": 1920,
   "work_area_top": 0
}

...

Eu nunca consegui encontrar uma maneira de especificar isso na inicialização e isso pode mudar se você abrir novas janelas do navegador.

Gibbs
fonte
3

Desde que pesquisei esse tópico, gostaria de compartilhar um link para uma solução, mas ele pode não funcionar em um gerenciador de janelas mínimo. Portanto, se o motivo do uso de um gerenciador de janelas mínimo for a memória ou outro uso de recursos, pode haver soluções melhores.

http://www.danpurdy.co.uk/web-development/raspberry-pi-kiosk-screen-tutorial/

sudo nano / etc / xdg / lxsession / LXDE / autostart

Como você provavelmente pode adivinhar, esse arquivo é executado quando o pi é inicializado. Para desativar o protetor de tela, adicione um # ao início da linha, isso comenta a saída da linha.

@xscreensaver -no-splash

Em seguida, adicione essas linhas abaixo da linha do protetor de tela

@xset s off @xset -dpms @xset s noblank

Isso desativa as configurações de gerenciamento de energia e interrompe a tela em branco após um período de inatividade.

Agora que isso foi feito, devemos impedir que as mensagens de erro sejam exibidas na tela, caso alguém acidentalmente ligue o pi sem passar pelo procedimento de desligamento. Para fazer isso, adicionamos a seguinte linha abaixo das linhas que você acabou de adicionar.

@sed -i 's / "exited_cleanly": false / "exited_cleanly": true /' ~ / .config / chromium / Padrão / Preferências

Finalmente, precisamos dizer ao chromium para iniciar e qual página carregar depois que ele inicializar sem caixas de diálogo de erro e no modo Kiosk. Para fazer isso, adicione a seguinte linha na parte inferior deste arquivo de inicialização automática.

@chromium --noerrdialogs --kiosk http: //www.page-to.display

Erwin
fonte
2

Faça uma cópia do arquivo (salve como old.filename) Exclua o conteúdo da inicialização automática e substitua-o sudo nano ~/.confg/lxsession/LXDE/autostart @xset s off @xset -dpms @xset s noblank @chromium-browser --noerrdialogs --incognito --kiosk https://yoursite.html

lightarrow
fonte
Você pode usar isso com login automático para a conta de usuário.
Lightarrow