Eu tenho alguns elogios que gostaria de ser chamado logo após o login, incluindo 'startx', e achei rc.local
um bom lugar para eles, mas o problema é que ele rc.local
é executado como root e não quero isso, obviamente posso fazer algo assim:
su username -c somecommend-here
Mas estou procurando uma maneira de executar todo o 'rc.local' como usuário normal, ou talvez haja um lugar melhor para colocar meu código?
PS. Estou usando o Ubuntu-mini-remix 1104i386
obrigado
Respostas:
A maneira mais fácil de iniciar um comando quando um usuário efetua login é criar um
.desktop
arquivo para o comando e colá-lo na~/.config/autostart
pasta. Como é o arquivo da área de trabalho? Aqui está um exemplo que recupera a home page do Ask Ubuntuwget
toda vez que o usuário faz login:fonte
startx
(como o OP pediu) após o login gráfico.startx
a partirrc.local
. DesculpeNão sei as diferenças entre /etc/rc.local e um crontab, mas geralmente faço uma conta de serviço e adiciono o trabalho apropriado. Por exemplo: sudo crontab -u p4padmin -e
Você não precisa fazer login para que o serviço seja executado.
fonte
A maneira linux é anexar seus comandos ao
~/.bashrc
invés de/etc/rc.local
.Todo usuário tem um
.bashrc
diretório inicial. Esse arquivo de script é executado automaticamente logo após o usuário efetuar login. Ele é executado com as credenciais do usuário, portanto, umsu
comando não é necessário.Parece-me que é exatamente isso que você está procurando.
fonte
.bashrc
não é lido quando um usuário efetua login usando o normallightdm
, por exemplo.