O script de ativação não está iniciando o Chromium-Browser (Ubuntu 16.04)

2

Eu preciso abrir o navegador em uma determinada página toda vez que o laptop sair do modo de hibernação / suspensão e durante a inicialização.

Eu criei um script wakeUp.sh na pasta /lib/systemd/system-sleep/ fez chmod 777 /lib/systemd/system-sleep/wakeUp.sh dar todos os direitos sobre o arquivo com certeza.

Agora o próprio script (onde tento abrir o navegador na página depois de fechar a tampa do laptop [sleep-wakeup]):

#!/bin/sh
echo "$@" > /tmp/wakeUpParams.txt
case $1/$2 in
post|*)
    chromium-browser --no-sandbox http://google.com 1>/home/liza/out.txt 2>/home/liza/err.txt
    echo "$@" > /tmp/AfterBrowserLaunch.txt
    ;;
esac

No script, salvei a saída dos parâmetros de entrada em uma pasta /tmp e, depois de fechar / abrir a tampa, encontrei esses parâmetros no arquivo txt:

post suspend

Assim, o param $ 1 = post e $ 2 = suspend

Se eu executar o script no terminal:

sudo ./wakeUp.sh

ou

sudo ./wakeUp.sh post suspend

Ele é executado com sucesso. Então, ele executa a linha em que o navegador é aberto.

Se eu fechar / abrir a tampa, os parâmetros em wakeUpParams.txt ainda serão post suspend e a linha echo "$@" > /tmp/AfterBrowserLaunch.txt também será executada, mas o navegador ainda não será iniciado.

Agora, os erros:

Quando executo o script via terminal o navegador é iniciado, mas recebo erros no arquivo err.txt:

    Home directory not accessible: Permission denied
[13870:13961:0316/181921.003202:ERROR:bus.cc(394)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")

(chromium-browser:13870): LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: Unknown or unsupported transport 'disabled' for address 'disabled:'
[13870:13870:0316/181922.813336:ERROR:gpu_process_transport_factory.cc(1009)] Lost UI shared context.
[13968:14061:0316/181923.018813:ERROR:cmd_buffer_helper.cc(158)] ContextResult::kFatalFailure: CommandBufferHelper::AllocateRingBuffer() failed

O out.txt está vazio.

Quando a tampa está fechada / aberta:

  • out.txt - vazio
  • err.txt - empty (Por que não há erros aqui?)

Eu também executo chromium-browswer com --no-sandbox params chromium-browser --no-sandbox porque ele não iniciaria sem esse parâmetro do terminal devido a alguns problemas de segurança. Esta é a maneira normal de começar? Porque o navegador diz em uma mensagem amarela pop-out: "Você está usando um sinalizador de linha de comando não suportado: --no-sandbox. Estabilidade e segurança vão sofrer." Esta é a melhor maneira de executar chromium-browser a partir da linha de comando?

Atualização 1

Eu alterei chromium-browser para um editor de texto simples gedit e ele ainda não iniciará mesmo Gedit na abertura / fechamento da tampa, enquanto o script do terminal roda sem problema ... Então eu suponho que não seja um problema com Cromo ...

Atualização 2

Começando a entender que é uma má idéia mexer na inicialização da GUI pelo systemd. Consulte Como iniciar o Chromium na inicialização com o systemd - Unix & Linux

    
por Dmitriy Klyushin 16.03.2018 / 16:32

0 respostas