Qual é o gerenciador de janelas mais básico para o Ubuntu que pode ser usado para exibir um único aplicativo?

7

Eu tentei iniciar um aplicativo de tela cheia sem um gerenciador de janelas, usando xinit, que funciona, mas em vez de começar no canto superior esquerdo da tela, o aplicativo começa em algum lugar no meio da tela.

Eu tentei o mesmo usando uma entrada personalizada em / usr / share / xsessions e começando com o lightdm do gerenciador de janelas ubuntu padrão, mas isso me dá o mesmo resultado.

Eu adicionei meu aplicativo aos aplicativos de inicialização do gerenciador de janelas do ubuntu e isso funciona corretamente ... mas eu não quero começar toda a área de trabalho

Então, estou pensando que talvez um gerenciador de janelas simples me permita definir que meu aplicativo deve começar assim que ele é carregado e que, como resultado, será exibido em tela cheia e começando no canto superior esquerdo da tela.

Então, basicamente, um gerenciador de janelas que me permitirá desativar tudo, exceto meu aplicativo. (E o fundo deve estar completamente preto por padrão para que a tela fique preta até que meu aplicativo termine de carregar

    
por TimothyP 26.09.2012 / 12:28

3 respostas

9

O gerenciador de janelas ratpoison é o que você quer.

  1. Instalar ratpoison

    sudo apt-get install ratpoison
    
  2. Crie um usuário e faça com que esse usuário faça login automaticamente.

  3. Crie um arquivo da área de trabalho em /usr/share/xsessions/kiosk.desktop

    [Desktop Entry]
    Encoding=UTF-8
    Name=Browser Mode
    Comment=Kiosk desk Session
    Exec=/usr/share/xsessions/run_kiosk.sh
    Type=Application'
    
  4. Crie /usr/share/xsessions/run_kiosk.sh. Modifique o seguinte para você começar

    #!/bin/bash
    /usr/bin/ratpoison &
    
    TERMINAL='who | awk '{print $2}''
    
    if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
            eval 'dbus-launch --sh-syntax --exit-with-session'
    fi
    
    rm -Rf ~/.config/google-chrome
    dbus-launch /usr/bin/google-chrome --no-default-browser-check
    rm -Rf ~/.config/google-chrome
    
    kill 'ps | grep dbus-launch | grep -v grep | awk '{print $1}''
    
  5. Isso redefine o Google Chrome a cada lançamento. Use as preferências padrão em /opt/google/chrome/master_preferences para configurar o Chrome como você deseja.

  6. Defina a área de trabalho padrão como quiosque:

    sudo /usr/lib/lightdm/lightdm-set-defaults -s kiosk
    
por Ryan Collins 16.04.2013 / 15:35
2

Dê uma olhada no gerenciador de janelas incrível ; é um gerenciador de janelas. É extremamente leve.

Você pode configurá-lo como padrão para o layout de tela cheia, um fundo preto - dê uma olhada no wiki para ter uma idéia do sistema de configuração, uma configuração mínima no seu caso pode conter algo como o seguinte:

Exigir dependências:

require("awful")
require("awful.layout")
require("awful.util")
require("awful.tag")
require("screen")
require("freedesktop.utils")
require("freedesktop.desktop")

Limite os layouts para tela cheia com:

layouts =
{
    awful.layout.suit.max.fullscreen
}

Agora, defina uma tag para seu aplicativo:

-- {{{ Tags
-- Define a tag table which will hold all screen tags.
tags = {
     names = {"your_app" },
     layout = {layouts[1]}
}
for s = 1, screen.count() do
   -- Each screen has its own tag table.
   tags[s] = awful.tag(tags.names, s, tags.layout)
end
-- }}}

Para iniciar seu aplicativo, adicione o seguinte ao final da sua configuração:

awful.util.spawn("/usr/bin/your_app --with --options")
    
por Tom Regner 26.09.2012 / 12:54
1

Eu não tenho experiência pessoal, mas uma pesquisa por "kiosk linux" deu muitos resultados, o topo dos quais foi

    
por Karthik T 26.09.2012 / 12:34