Não é possível executar o KDE Dolphin a partir do PHP Script baseado na web - mas funciona para todos os outros programas X

1

Em um script PHP executado sob nginx / php-fpm, posso executar qualquer programa X usando este código PHP:

shell_exec("DISPLAY=:0 /usr/bin/nohup '{$command}' > /dev/null 2>&1 &");

Isso abrirá o programa X na minha área de trabalho, e o script PHP continuará e terminará. O programa X permanecerá aberto, mesmo após o script PHP terminar.

Funciona para todos os programas X que eu tentei (incluindo: mpv, kate, konsole, k3b e mais) - mas não o Dolphin. Ao tentar executar o Dolphin desta forma, ele nunca aparece, e nenhum erro aparece na tela ou em qualquer log que eu possa encontrar.

Existe algo diferente sobre como o Dolphin é executado que poderia ser relevante aqui? Algo a ver com sockets / users / processos em segundo plano ou algo parecido?

Já verifiquei o seguinte:

  • Tentei usar apenas o nome binário (dolphin) e o caminho completo (/ usr / bin / dolphin) - todos os outros programas funcionam com os dois, assim não parece ser um problema $ PATH
  • Executar o mesmo comando DISPLAY=:0 /usr/bin/nohup '{$command}' > /dev/null 2>&1 & em um shell do Konsole funciona para tudo, incluindo o Dolphin
  • Não há nada no log de erros do PHP e todos os níveis de erro estão ativados
  • Eu testei quando as outras janelas do Dolphin estão abertas e quando todas estão fechadas (e confirmou que ainda não há processos do Dolphin sendo executados)
  • Nada no log do Xorg

Como alternativa, talvez haja algum código PHP semelhante, mas diferente, que funcione para o Dolphin?

    
por LaVache 21.07.2017 / 15:39

0 respostas