executa o script antes do login

2

Dia inteiro estou enfrentando um problema de script de inicialização.

O que estou procurando é uma maneira de executar um único script em inicialização / antes do login que irá configurar minha máquina e executar serviços adequados. (Um script único para todos os usuários seria legal - fácil manutenção)

script simples "/machineSetup.sh"

#LC_NUMERIC - Specifies the decimal delimiter
export LC_NUMERIC="en_US.UTF-8"
#-------------------------------------------------------------------
#add custom aliases path 
export PATH=$PATH:/home/user/aliases
#-------------------------------------------------------------------
#run backburnerServer (tool to control remote computing) run process
/usr/discreet/backburner/backburnerServer &
#-------------------------------------------------------------------
#run x11vnc run process 
/usr/bin/x11vnc &

Estou no Ubuntu14.04. Eu já fiz testes com /etc/rc.local sem sorte alguma. Eu tentei o /etc/profile.d/machineSetup.sh, mas ele funciona somente após o login.

Seria legal se você pudesse me dar algumas dicas. É possível armazenar a configuração dentro de um único arquivo? Agradecemos antecipadamente por sugestões!

    
por bolek 14.03.2016 / 19:17

4 respostas

2

Você pode iniciar qualquer script de

/etc/rc.local

Melhor você criar um arquivo .conf upstart. Estes são armazenados em

/etc/init/*.conf

Como exemplo, aqui está o conteúdo do arquivo /etc/init/hostname.conf :

#
# This task is run on startup to set the system hostname from     /etc/hostname,
# falling back to "localhost" if that file is not readable or is empty     and
# no hostname has yet been set.

description     "set system hostname"

start on startup

task
exec hostname -b -F /etc/hostname

Outra solução é usar o recurso crontab @reboot , descobrir mais sobre crontab aqui

    
por cmks 14.03.2016 / 19:28
0

As variáveis de ambiente de declaração são geralmente feitas em ~ / .profile, portanto, você pode simplesmente adicionar essas linhas ao final desse arquivo. Não tenho certeza se isso responde à sua pergunta, mas se você está bem com o script executando no login , você deve tentar adicionar o script ao seu Startup Applications . Basta abrir o painel, inserir Aplicativos de inicialização e clicar em Adicionar . Digite o nome que quiser e, no campo Comando , acesse seu script. Em seguida, clique em Adicionar e pronto.

    
por Rahul Mukherji 14.03.2016 / 19:31
0

Ao chamar de rc.local, você precisa ter um script de shell executável:

sudo -i

vi /machineSetup.sh

Conteúdo:

#!/bin/bash
#LC_NUMERIC - Specifies the decimal delimiter
export LC_NUMERIC="en_US.UTF-8"
#-------------------------------------------------------------------
#add custom aliases path 
export PATH=$PATH:/home/user/aliases
#-------------------------------------------------------------------
#run backburnerServer (tool to control remote computing) run process
/usr/discreet/backburner/backburnerServer &
#-------------------------------------------------------------------
#run x11vnc run process 
/usr/bin/x11vnc &

Torne-o executável:

chmod 0755 vi /machineSetup.sh
    
por cmks 14.03.2016 / 20:05
0

Eu não sei porque não pensei nisso antes. Tudo o que você precisa fazer é abrir /etc/rc.local em um editor de texto e colar o conteúdo do seu script dentro do arquivo, antes da linha exit 0 . Eu sei que isso funciona de fato, já que eu faço meu laptop automatizar o Bluetooth na inicialização.

    
por Rahul Mukherji 15.03.2016 / 11:50