Lançar aplicativo no servidor Ubuntu usando php

2

Eu estou tentando fazer um sistema Ubuntu que tenha apenas o software que eu preciso. Eu decidi usar o servidor Ubuntu 14.04 para isso e instalar o openbox como GUI. Eu também configurei o nginx para trabalhar com o php no sistema. O principal objetivo para mim configurar o servidor web foi abrir aplicativos GUI no meu sistema através do servidor pressionando um botão html.

Meu objetivo é deixar um computador conectado à TV e poder controlá-lo usando meu telefone. Eu senti que a maneira mais fácil de fazer isso seria lançar os aplicativos que eu solicitei através do site quando precisei, já que instalarei um servidor no computador de qualquer maneira

Posso confirmar que o servidor web e o php funcionam bem. No entanto, não consigo iniciar o aplicativo. Eu usei o seguinte código para obter a saída quando eu pressionar o botão

<?php
     if ($_GET['buton']) {
           echo exec("kodi 2>&1", $output);
           echo $output;
<?
<div id="button"><a href="?kodi=true">kodi</a></button>

O resultado é

ERROR: Unable to create application. Exiting

Atualmente, estou executando isso em uma máquina virtual para garantir que tudo funcione antes de instalar isso em uma máquina física.

Eu realmente apreciaria se alguém pudesse me ajudar a resolver este problema.

    
por Rumesh 17.10.2015 / 14:31

1 resposta

2

Primeiro de tudo, não reinvente a roda. Existem vários aplicativos que permitem que seu telefone funcione como um teclado / mouse sem fio. Por exemplo (estes foram apenas os que eu conheci, existem cargas ):

Você também tem coisas como kodi (anteriormente conhecido como XBMC) para transformar seu computador em um media center que pode fazer o que você precisa .

Se você ainda preferir configurar algo, será necessário permitir que o usuário nginx se conecte a uma sessão X existente. Você também precisará fazer o login uma vez manualmente (ou apenas configurar a máquina para login automático na GUI). Você pode realmente fazer com que seu servidor inicie uma sessão X, mas faz mais sentido que seu usuário faça isso para que todas as suas configurações, etc., estejam lá.

  1. Permitir que outros usuários se conectem à sua sessão X.

    Você precisará executar xhost + para desativar o controle de acesso. A maneira mais simples seria simplesmente adicionar esse comando ao seu ~/.profile . Edite ~/.profile e adicione estas linhas:

    ## Only run this when logging in graphically
    [ -z "$DISPLAY" ] && xset +
    
  2. Você precisará dizer ao seu aplicativo do php que o DISPLAY se conecta. Por exemplo:

    <?php
    if ($_GET['button']) {
      $cmd = "export DISPLAY=:0;  kodi";
      exec($cmd);
    }
    ?>
    
    <div id="button"><a href="./a.php?button=1">kodi</a></div>
    

Note que isso é muito inseguro , use por sua conta e risco.

    
por terdon 17.10.2015 / 15:40