Si tienen duda de algo es mejor que pregunten, porque puede que tengan problemas que aunque simples, se frusten. Como todo tiene su riesgo.
En este post asumo que tienen configurado su sistema para logearlos automaticamente en una TTY, lo cual es útil porque así podemos iniciar el servidor grafico sin necesidad de un gestor de login.
Para hacerlo en Arch lean su wiki:
wiki
En Fedora es parecido pero cuando lo hice con el metodo de Arch no me sirvió, en Internet dice como para esta distro
En Gentoo con su wiki:
http://wiki.gentoo.org/wiki/Automatic_login_to_virtual_console:
No lo hecho en otra distros, en excepción de Chakra y Manjaro, esas funcionan con el método de Arch. Pero igual es facil encontrar esa información.
Consideraciones de los otros métodos
A partir de aquí comienza lo que verdaderamente trata el post, lo anterior era un preámbulo y mencionar brevemente lo que necesitaban.
Si han seguido la wiki de Arch o algo por el estilo tenemos que hay que editar (solo observen por el momente) .bash_profile,
y añadir o bien
if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/tty1 ]]; then
. startx
logout
fi
o
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
El problema de estos es que van a cerrar su sesión de tty al mismo tiempo que salgan de su sesión gráfica, y debido a que tienen configurado el autologin de la tty les va a volver a iniciar el entorno gráfico. ¿No sé si les ha pasado que se equivocan en el archivo .xinitrc y esta reiniciandose infinitamente el servidor X sin permitir hacer nada ni en las otras TTY?
En el caso del primer ejemplo esto pasa porque al final ejecuta el comando logout.
En el caso del segundo esto pasa por el comando exec que lleva de argumento startx.
Bastaria con quitarselos, pero aun no es suficiente. Pues el cerrar sesión dejariamos nuestra consola abierta a curiosos si decidimos irnos. O pueden matar a Xorg mientras esta el protector de pantalla.
Tal vez a muchos no les molesta esto, pues hoy en día lamentablemente muchos no saben de comandos, ¿ademas podrian simplemente reiniciar el sistema, no? De todas formas hay quienes encriptan sus datos y deben poner una contraseña para poder arrancar Linux, y probablemente no quieran volver a poner otra para el usuario de login.
Puede paracer exagerado, pero imaginen que los visita su sobrino pequeño, dejan la terminal y mueve las flechas del teclado y se ejecuta un comando reciente que era indeseado, o simplemente que me llenen de tonterias el historial de la consola como por ejemplo añedaorudoukdenkdxeqj Brian rules !
Entonces la solución es hacer que se ejecute vlock, que bloqueará la sesión de TTY, parece útil, ¿no?
¡Manos a la consola!
Instanlenlo con el comando correcto para su distro, por ejemplo:
sudo apt-get install vlock
sudo yum install vlock
sudo zypper in vlock
sudo pacman -S vlock
sudo emerge vlock
sudo urpmi vlock
Añadir función:
Añadan esta función al principio del archivo ~/.bash_profile
function xlog {
startx & vlock
}
Esta función es importante porque además de cerrar sesión en su entorno gráfico para volver a la consola de forma segura (con vlock), deberían usarlo de vuelta si quieren volver a iniciar el servidor X. ¿Como? La función se puede usar como un comando cualquiera, como la función se llama xlog basta con escribir xlog para iniciar Xorg y ejecutar vlock.
Ahora añadirle al mismo archivo uno de estos dos grupos de lineas de código, o actualizar lo que sea diferente: Es posible que uno no les sirva en su distro, así que usen el otro.
Y queda así con el método 1
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && xlog
Y con el otro.
if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/tty1 ]]; then
xlog
fi
Lo guardan y listo