#!/bin/bash # elegir_entorno # Menú para elegir el entorno de trabajo. (shicefgo@fentlinux.com). # Variables utilizadas DISPONIBLES=5 # El mayor de los números de las opciones. ELECCION='1' SESION=0 # Controla la sesión gráfica. ENTORNO= ULTIMO= # Último entorno gráfico llamado a través de este script. function menu() { clear echo echo "Elección del entorno de trabajo." echo echo "ELIJA UNA DE LAS SIGUIENTES OPCIONES:" echo echo " 0. (Intro) Lanzar el último entorno gráfico utilizado. "$ULTIMO echo " 1. Consola de texto (la shell)." echo " 2. Xfce4." echo " 3. Window Maker." echo " 4. GNOME." echo " 5. KDE." echo echo -n "Elección: " read ELECCION } # Crea un nuevo archivo .xinitrc sobreescribiendo el que pueda existir. function nuevo_xinitrc() { echo "#!/bin/bash" > ~/.xinitrc echo "#" >> ~/.xinitrc echo "# Archivo .xinitrc" >> ~/.xinitrc echo "# Creado por el script /usr/local/bin/elegir_entorno" >> ~/.xinitrc echo "#" >> ~/.xinitrc } if [ -f ~/.xinitrc ]; then ULTIMO=$(cat ~/.xinitrc | grep "Entorno" | cut -d' ' -f1) fi while [ $ELECCION ]; do menu case $ELECCION in $RETURN) SESION='1' break ;; '0') SESION='1' break ;; '1') break ;; '2') ENTORNO="xfce4-session" ;; '3') ENTORNO="wmaker" ;; '4') ENTORNO="gnome-session" ;; '5') ENTORNO="startkde" ;; esac if [ -e "/usr/bin/"$ENTORNO ]; then SESION='1' nuevo_xinitrc case $ELECCION in '2') # Xfce, ejecutar en segundo plano. echo "gkrellm &" >> ~/.xinitrc echo "xscreensaver &" >> ~/.xinitrc echo "mozilla-firefox &" >> ~/.xinitrc ;; '3') # Window Maker, ejecutar en segundo plano. echo "xplanet -projection rectangular -vroot &" >> ~/.xinitrc echo "gkrellm &" >> ~/.xinitrc echo "xscreensaver &" >> ~/.xinitrc ;; esac echo $ENTORNO" # Entorno gráfico a ejecutar." >> ~/.xinitrc break fi if [ $ELECCION -le $DISPONIBLES ] && [ $ELECCION -ge '0' ]; then echo echo "No encontrado /usr/bin/"$ENTORNO echo -n "Pulse Intro para continuar... " read ENTORNO fi done if [ $SESION == '1' ]; then startx fi # Fin del script.