Executa um script depois de matar lxsession (xorg)

2

Eu estou tentando executar um programa automaticamente dentro de um script após matar a sessão do LXDE. Meu script consiste em:

#!/bin/sh
pkill lxsession;
sh /home/pi/RetroPie/EmulationStation/emulationstation

Eu também tentei isso:

#!/bin/sh
nohup & pkill lxsession & 
writevt /dev/tty1 'emulationstation'

Meu objetivo é sair da sessão do LXDE e executar o EmulationStation no meu Raspberry Pi com um script bash. Estou usando pkill lxsession; para ignorar a caixa de diálogo de confirmação de logout do lxsession.

Como está, esse script apenas me leva à linha de comando de uma área de trabalho LXDE em funcionamento. Obrigado pela leitura.

    
por BasicObject 22.09.2012 / 07:19

3 respostas

0

Eu não acho que isso seja possível. Você executa esse script a partir de um emulador de terminal que está em execução na sessão do LXDE. Quando você mata a sessão do LXDE, você também mata o terminal e, portanto, o seu script.

Uma solução possível seria efetuar login por meio de um tty diferente e executar seu script lá. O que exatamente você está tentando fazer? Um cronjob de raiz funcionaria?

    
por 22.09.2012 / 12:52
0

O writevt não está disponível aqui, mas suponho que apenas emule a entrada tty.

Você poderia tentar iniciar um comando no tty antes de matar a sessão X, e fazer com que ela espere até que o sessoin X seja eliminado. Como sobre

#!/bin/sh
writevt /dev/tty1 'sleep 20s; emulationstation'' & 
pkill lxsession
    
por 23.09.2012 / 00:04
0

Tente usar "tela" quando você executar o script no terminal ou quando criar um lançador:

screen ./emu-script.sh
A tela

manterá sua sessão de terminal ativa mesmo se o LXDE matar, ou qualquer outra coisa que você tenha desligado. Dessa forma, seu script pode ser concluído corretamente

    
por 25.11.2012 / 19:51