Acabo de configurar un nuevo servidor Ubuntu 13.10 con ruby 2.1.1 instalado a través de rvm.
El problema es que cada vez que cambio al usuario "rails" (el usuario con el que instalé ruby and rails) tengo que ejecutar /bin/bash --loginantes de que Ubuntu reconozca que ruby, rails o rvmestá instalado.
Espero que alguien sepa:
- ¿Qué hace el comando anterior?
- ¿Por qué necesito ejecutarlo?
- ¿Y qué puedo hacer para resolverlo de una vez por todas? :)
Cualquier ayuda es apreciada!

su? O algo comosu -losu --?). ¿Cuál es el shell de inicio de sesión para los "carriles" del usuario? ¿Modificó la variable PATH del usuario y, de ser así, en qué archivo (~/.profileo~/.bashrco~/.bash_profileo ...?)Respuestas:
Parece que el entorno necesario para que el sistema encuentre los componentes ruby instalados se especifica en un archivo que solo se lee para los shells de inicio de sesión. La página del manual de bash tiene esto que decir sobre la diferencia entre los shells de inicio de sesión y los shells de no inicio de sesión:
y
mientras
Por lo tanto, si las variables de entorno ruby están en
/home/rails/.profileo/etc/profilepor ejemplo, se agregarán al entorno de shellsu -l railsosu --login railso la taquigrafíasu - railsrailsinicia sesión a través de SSHbash --logindespués de iniciar sesiónSi desea establecer el entorno de ruby independientemente de cómo cambie al usuario
rails, puede mover las definiciones de variables relevantes al usuario~/.bashrc.fuente
Sé que esta pregunta se hizo hace 2 años, pero en caso de que alguien (como yo) todavía la esté enfrentando: @steeldriver tiene razón: te falta algo
bashrcque tienes en uno de esos 3 archivos. En mi caso, solo necesitaba agregar esta línea a la mía~/.bashrc:fuente