Excutar um programa na inicialização do sistema para um usuário (MODO GRAFICO)

1. Excutar um programa na inicialização do sistema para um usuário (MODO GRAFICO)

Marcelo
dinosNao

(usa Debian)

Enviado em 22/05/2015 - 11:36h

Tenho cenário com "Virtual Box" onde tenho 3 maquinas virtuais
- WindowsXp
- Servidor Debian
- Servidor Debian
tenho um script para inciar, e parar as VMs, que pode sofrer ação do usuário
vboxmanage startvm $VmList --type gui >> /dev/null
//esse --type gui inicia as VMs no modo gráfico se estou logado com o usuário dono das VMs,

Quando o sistema reinicia da um erro na tela e logando com o usuário dono das VMs, elas não foram iniciadas!
Já li varias dicas aqui e na Internet, mas ainda não consegui deixar como eu quero,

Alguém pode me ajudar a entender o que estou tentando fazer de errado

O script esta localizado em
/etc/init.d$
//executado assim, coloquei só a parte que interessa ao post
./vboxautostart-service start
//as permissões dele foram assim
update-rc.d vboxautostart-service enable 5

Mais alguns dados:
- O sistemas é o Debian Squeeze 6
- VirtualBox 4.3
- As VMs foram criadas para usuário que vamos chamar userVBox
- O usuário não é super usuário, logo não tem acesso ao comando reboot (portanto quando acesso como root e executo reboot, O "vboxmanage" não achar as VMs para desligar, consequentemente quando esta iniciando também)
- Uma solução é executar o comando, assim:# su userVBox, porém se executo assim o script pede senha, já tentei umas coisas lá no /etc/sudousers, mas não surtiu efeito, parece que o Debian não usa esse arquivo
- Tava lendo umas coisas sobre Interefaces Graficas KDE alguma coisa X11 mas não consegui enteder o cenário,

Se surgir mais novidades vou postando...



  


2. Re: Excutar um programa na inicialização do sistema para um usuário (MODO GRAFICO)

Wellington
wellington_r

(usa Debian)

Enviado em 22/05/2015 - 11:47h


Mas aonde está esse script?


3. Re: Excutar um programa na inicialização do sistema para um usuário (MODO GRAFICO)

Marcelo
dinosNao

(usa Debian)

Enviado em 22/05/2015 - 12:05h

wellington_r escreveu:


Mas aonde está esse script?

Coloquei mas dados na pergunta






4. Re: Excutar um programa na inicialização do sistema para um usuário (MODO GRAFICO)

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 22/05/2015 - 17:00h

Para iniciar a VM em modo gráfico precisa estar logado com o usuário, abrindo a interface do VirtualBox.
Mas tem um comando que starta a VM no VirtualBox sem interface gráfica, ae com a VM startada pode fazer acesso remoto com SSH, bastando saber o IP atribuído ou o nome da VM se tiver o DNS que foi confurado.

O comando para startar a VM sem interface gráfica do VirtualBox é:
VBoxManage startvm "NomeDaVM"

Com o comando acima pode abrir quantas VMs que quiser, claro até o limite da memória RAM e até tem vantagem disso, pois já economiza o recurso da GUI do VirtualBox.

Veja mais detalhes do VirtualBox no terminal no blog
http://mundodacomputacaointegral.blogspot.com.br/2014/08/utilizando-virtualbox-no-terminal.html">http://mundodacomputacaointegral.blogspot.com.br/2014/08/utilizando-virtualbox-no-terminal.html

http://mundodacomputacaointegral.blogspot.com.br/
Twitter: http://twitter.com/@blogcomputacao
Facebook: http://www.facebook.com/BlogComputacao




5. Re: Excutar um programa na inicialização do sistema para um usuário (MODO GRAFICO)

Marcelo
dinosNao

(usa Debian)

Enviado em 22/05/2015 - 17:51h

saitam escreveu:

Para iniciar a VM em modo gráfico precisa estar logado com o usuário, abrindo a interface do VirtualBox.
Mas tem um comando que starta a VM no VirtualBox sem interface gráfica, ae com a VM startada pode fazer acesso remoto com SSH, bastando saber o IP atribuído ou o nome da VM se tiver o DNS que foi confurado.

O comando para startar a VM sem interface gráfica do VirtualBox é:
VBoxManage startvm "NomeDaVM"

Com o comando acima pode abrir quantas VMs que quiser, claro até o limite da memória RAM e até tem vantagem disso, pois já economiza o recurso da GUI do VirtualBox.

Veja mais detalhes do VirtualBox no terminal no blog
http://mundodacomputacaointegral.blogspot.com.br/2014/08/utilizando-virtualbox-no-terminal.html">http://mundodacomputacaointegral.blogspot.com.br/2014/08/utilizando-virtualbox-no-terminal.html

http://mundodacomputacaointegral.blogspot.com.br/
Twitter: http://twitter.com/@blogcomputacao
Facebook: http://www.facebook.com/BlogComputacao



Sim, dessa forma já consegui fazer funcionar, mas preciso evoluir devido a cenário que preciso construir





6. Não resolvido de forma Grafico

Marcelo
dinosNao

(usa Debian)

Enviado em 26/05/2015 - 09:03h

Quando você faz os procedimentos de instalação da virtualBox pelo Debian ele gera alguns scripts,
no diretório /etc/init.d/vbox... dentre os que deve ser alterado é esse vboxautostart-service,

juntando esse script + as ações dessa dica aqui
http://askubuntu.com/questions/404665/how-to-start-virtual-box-machines-automatically-when-booting

script encontrado aqui
http://techblog.glendaleacademy.org/virtualbox/creating-an-auto-start-stop-script-for-virtualbox

#!/bin/bash

#
#This init script autostarts necessary vms at boot
#and saves running vms on shutdown
# Sed explanation: sed -e 's/^.//' -e 's/.$//'
# 1. -e means to allow multiple arguments in a single sed command
# 2. 's/^.//' means to substitute (s) / at the beginning of the line (^), any character (.) / [substitute with nothing] /
# 3. 's/.$//' means to substitute (s) / any character (.), at the end of the line / [substitute with nothing] /

VBOXUSER=meu_usuário
RUNNINGVMS=$(sudo -H -u $VBOXUSER vboxmanage list runningvms | cut -d " " -f1 | sed -e 's/^.//' -e 's/.$//')
STOPPEDVMS=$(sudo -H -u $VBOXUSER vboxmanage list vms | cut -d " " -f1 | sed -e 's/^.//' -e 's/.$//')

case "$1" in
start)
for i in $STOPPEDVMS
do
echo "Starting: " $i "VM"
#--type headless gui
sudo -H -u $VBOXUSER vboxmanage startvm $i --type headless
sleep 5
done
;;
stop)
for i in $RUNNINGVMS
do
echo "Turning off the virtual machine: " $i "VM"
sudo -H -u $VBOXUSER vboxmanage controlvm $i poweroff
done
;;
*)
echo "Usage: /etc/init.d/startvm {start|stop}"
exit 1
;;
esac

exit 0


Conforme o livro "Linux - Guia do Administrador do sistema, autor Rubem E. Ferreira, Editora Novatec"
No capitulo 18 - X Windows System, é possível inicializar programas gráficos para usuários mesmo antes de ele estar logado, mas para isso é preciso ter a sequencia de boot de arquivos para que o processo possa ser feito!

Então esse caso como esta muito fora do meu campo de busca e conhecimento, vou deixar as VMs iniciando somente no --type headless







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts