Executa programa único na inicialização, sem menus [duplicado]

2

Estou tentando algo como um quiosque.

Então, estou criando uma instalação personalizada do Ubuntu Desktop 14.04 usando o Ubuntu-Builder, e estou simplesmente tentando ter um programa inicializado logo na inicialização. Eu não quero a barra de menu global na parte superior para exibir ou a barra lateral com os atalhos para aplicativos para exibir. Eu só quero um programa para executar em tela cheia, mesmo se o usuário sair do programa. O programa já é executado em tela cheia pelo caminho.

Eu tentei remover o Unity, e quando eu faço isso, quando o Ubuntu inicia, ele diz que você não pode entrar no Ubuntu. Alguém tem alguma sugestão?

Veja o que eu tentei:

sudo apt-get autoremove --purge unity unity-common unity-services unity-lens-* unity-scope-*

Também estou tendo dificuldades em ter a inicialização do programa ao iniciar, porque estou acostumado a adicionar o programa para executar para os usuários .profile. Alguma sugestão para isso também?

Obrigado antecipadamente.

    
por Someone13 10.08.2014 / 12:51

3 respostas

3

Ao criar um quiosque, primeiro listaria qual é o comportamento esperado. O comportamento esperado de um quiosque deve ser, da sua pergunta:

  • Um aplicativo gráfico único para executar a tela inteira
  • Este aplicativo gráfico é iniciado automaticamente quando o servidor é inicializado
  • No caso em que um usuário é capaz de interromper o aplicativo (propositalmente ou após um erro), esse aplicativo deve ser reiniciado novamente.

Acho que sua abordagem, a partir de uma área de trabalho completa e tentando remover as coisas desnecessárias (como Unity), não é a abordagem correta. De minha própria experiência, eu pesquiso quais são os componentes mínimos a serem atingidos pelos objetivos acima.

Para mim, os componentes mínimos são:

  • Um X Server, é iniciado automaticamente durante o tempo de inicialização sem o login do usuário (sem qualquer camada como gdm , etc.
  • Um gerenciador do Windows (para desenhar e gerenciar a janela do próprio aplicativo) com a capacidade de remover o botão minimizar, maximizar, fechar ... da barra de título. (se o seu aplicativo já estiver em tela cheia por padrão, este componente pode ser opcional).
  • Um script para verificar se o aplicativo ainda está em execução e reiniciá-lo, caso não esteja.

Então, a partir de uma instalação do Ubuntu Server, sem qualquer componente gráfico instalado, você terá que instalar pelo menos Xorg ( sudo apt-get install xorg ).
Na linha de comando, você sempre pode iniciar o servidor X com startx .
Para iniciar o aplicativo gráfico junto com o servidor X, você terá que criar um arquivo .xsession cujo objetivo é informar ao servidor X qual aplicativo será iniciado após o próprio servidor X.

    
por Benoit 12.08.2014 / 16:02
2

Eu cobri isso algumas vezes no site e novamente no meu blog (de Ubuntu Server (recomendado) ou de Ubuntu Desktop ).

Eu não iria mexer com a tentativa de separar seletivamente as coisas da área de trabalho tradicional do Ubuntu, basta carregar o X e o aplicativo. Parece gritante, mas é bastante básico e envolve apenas algumas tarefas:

  • Desativando LightDM (se instalado), que é o que normalmente iniciaria nossa sessão X ( echo manual | sudo tee /etc/init/lightdm.override )
  • Dizendo ao X que qualquer um pode iniciar uma instância ( sudo dpkg-reconfigure x11-common )
  • Criando um novo serviço do Upstart que inicia o X e executa um script ou um aplicativo diretamente.

O novo script Upstart é o maior elemento para a coisa toda, mas consiste, vagamente, em:

start on (filesystem and stopped udevtrigger)
stop on runlevel [06]

console output
emits starting-x

respawn

exec sudo -u pranay startx /etc/X11/Xsession /path/to/application --

E você salvaria isso como algo como /etc/init/kiosk.conf .

    
por Oli 12.08.2014 / 16:45
0

Eu não entendi muito bem o seu problema, mas pelo que sei você removeu a barra Unity, certo? se sim, então este pode ser o problema, pois muitas pessoas relataram problemas após remover o Unity sem nenhuma solução encontrada, então tente reverter para as configurações originais e quanto à tela cheia, a F11 leva a maioria das aplicações em tela cheia, Firefox, cromo, libreoffice etc. e muitos aplicativos de jogos já abrem em tela cheia, então você poderia simplesmente colocar uma tarefa para pressionar F11 quando abrir esses aplicativos em vez de modificar um patch.

Para criar aplicativos em tela cheia temporariamente (uma sessão)

- troca a resolução da tela para que caiba apenas na aplicação

-para algo um pouco mais permanente você poderia mudar xrandr (Ps. Isso é coisa arriscada ser cuidadosa)

    
por pranay 12.08.2014 / 14:35