¿Cómo uso shellscripts para rieles con 'pantalla'?


1

Recientemente comencé el desarrollo de Ruby on Rails, y estoy usando Vagrant como VM para contener mi proyecto Rails, porque Windows es un sistema operativo terrible para usar en cualquier tipo de desarrollo de Ruby, debido a la aparente falta aleatoria de soporte para varios RubyGems.

Mi pregunta es esta: quiero usar un shellscript para iniciar los tres comandos en sesiones de pantalla separadas, con sus respectivos nombres:

"rails" ==>  'rails s'
"mail"  ==>  'mailcatcher --http-ip 0.0.0.0'
"guard" ==>  'bundle exec guard --force-polling'

Intenté usar lo siguiente, y no pareció funcionar (startup.sh)

screen -S rails -d -m rails s
screen -S mail -d -m mailcatcher --http-ip 0.0.0.0
screen -S guard -d -m bundle exec guard --force-polling

En vano, no parece hacer lo que quiero que haga, y no sé si estoy haciendo algo mal o invocando la pantalla incorrectamente. ¿Alguien puede arrojar algo de luz sobre esta situación? En cuanto al sistema operativo, es Ubuntu 12.04 LTS (Precise) x86, como una máquina virtual (aunque la parte de VM no debería importar, supongo).

Gracias de antemano por cualquier sugerencia. En cierto modo, solo quería una manera de usar un shellscript para iniciar mi proyecto de rieles (y servicios relacionados) al mismo tiempo en lugar de tener que iniciar manualmente las sesiones de pantalla cada vez que aparecía mi caja vagabunda.

¿Mi otro pensamiento fue quizás descubrir cómo configurar estos comandos para que se ejecuten al inicio del sistema, usando crono algo así?

Respuestas:


2

Es posible que desee probar el comando de pantalla como

 screen -d -m -S screen_name command 

La -Sopción simplemente especifica dentro de qué ventana de pantalla se ejecutará el siguiente comando. Según -d -mlas man pagerecitaciones:

 -d -m   Start screen in "detached" mode. This creates a new session but
       doesn't  attach  to  it.  This  is  useful  for  system startup
       scripts. 

Entonces, por ejemplo screen -d -m -S rails rails s:?
MisutoWolf
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.