#!/bin/bash # # video is copyrighted by ubuntu-cl-foros-dev # video is released under the General Public License Please refer to GPL.txt # Written by Desarrolladores Foros de Ubuntu Chile # https://launchpad.net/~ubuntu-cl-foros-dev # Sección del Foro seccion="Video" # URL GrupoForo url_grupoforo="https://wiki.ubuntu.com/ChileanTeam/GrupoForo" url_foro="http://chile.ubuntuforums.org/" url_manual="https://wiki.ubuntu.com/ChileanTeam/ManualUbuntero" # codename de la versión de ubuntu instalada version=`lsb_release -ds`"("`lsb_release -cs`")"`uname -m` # Detectar el entorno de escritorio usado. if [ -n "$KDE_FULL_SESSION" ]; then DESKTOP="KDE" elif [ -n "$GNOME_DESKTOP_SESSION_ID" ]; then DESKTOP="GNOME" elif [ `pidof xfce4-session` ]; then DESKTOP="Xfce" else DESKTOP="none" fi # identificador del archivo de salida hora=`date +%F-%s` # Archivo de salida file=$seccion"_"$hora.txt # Archivo temporal para filtrar con grep file_tmp=tempSC$hora # Nombre del usuario usuario=`whoami` # Funcion explicación del comando en archivo de salida explica (){ echo "# ""$1" >> $file } # Funcion para agregar una linea al archivo de salida agrega (){ while [ "$#" -gt "0" ] do # Agrega el argumento en una nueva línea al archivo de salida echo "$1" >> $file # Salta al siguiente argumento shift done } # Funcion para anotar el comando code (){ echo "[CODE]" >> $file echo "$ "$1 >> $file echo "[/CODE]" >> $file } # Funcion para anotar la salida del comando al archivo de salida # Argumento $1 : comando # Argumento $2...$N : filtro # Modo de uso: quote comando filtro quote (){ echo "[QUOTE]" >> $file # Caso no hay filtros if [ -z $2 ]; then $1 >> $file else # Caso donde hay filtros Argumento $2...$N # Por lo que se procede a crea un archivo temporal y luego aplicar los filtros # Aclaración: No fue posible usar una tubería para ejecutar el filtro # Ejecuta el comando y guarda la salida en archivo tmp $1 > $file_tmp # Imprime la salida y ejecuta el filtro # Salta el primer argumento que es un comando y pasa al primer filtro shift # Ciclo en que aplica los filtros while [ "$#" -gt "0" ] do # Aplica el filtro y guarda la salida en archivo de salida grep -i $1 $file_tmp >> $file # Salta al siguiente filtro shift done # Borra el archivo temporal rm $file_tmp fi echo "[/QUOTE]" >> $file } # Ejecución del script echo "###############################################################################" echo " " echo "Hola $usuario bienvenido al asistente de consultas en el foro Sección $seccion" echo "Actualemente estás usando la versión $version" echo "Tu entorno de escritorio es $DESKTOP" agrega "Información del Sistema relacionada a $seccion" agrega "Versión de Ubuntu: $version" agrega "Entorno de escritorio: $DESKTOP" agrega "#############################################################################" agrega "[B]Descripción del problema[/B]" agrega "Agrega aquí la descripción de tu problema con ubuntu..." agrega "#############################################################################" explica "Lista tarjetas de Video PCI reconcidas por el sistema" code "lspci|grep -i vga" quote lspci vga explica "Para identificar el error por el que se cae el entorno gráfico:" code "cat /var/log/Xorg.0.log|grep EE" quote "cat /var/log/Xorg.0.log" EE explica "Listar los posibles mensajes de error en los archivos de log" code "cat /var/log/messages |grep error" quote "cat /var/log/messages" error code "cat /var/log/syslog |grep error" quote "cat /var/log/syslog" error explica "Ver los modulos cargados relacionados con el video:" code "lsmod |grep drm" quote lsmod drm code "lsmod |grep agp" quote lsmod agp explica "Para ver si se tiene DRI (Aceleración gráfica Activada)" code "glxinfo |grep direct " quote glxinfo direct agrega " Origen Script ManualUbuntero: $url_manual" # Recomendación en la consola echo " " echo "Este programa a generado una consulta para publicar en el Foro revisa el archivo :" echo `pwd`"/"$file echo "puedes copiar y pegar su contenido en tu consulta en el Foro" echo " " echo " Más información de este script en:" echo " Foro de ubuntu-cl: $url_foro" echo " GrupoForo de ubuntu-cl: $url_grupoforo" echo " Origen Script ManualUbuntero: $url_manual" echo "##########################################################################" echo -n "¿Desea ver el contenido del archivo $file? [y/n]?" read RESP if [ "$RESP" = "y" ]; then sensible-browser $file & # 10 seg para que browser se abra, antes que el usuario termine el programa. sleep 10 else echo "Puedes revisar la información en el archivo en:" echo `pwd`"/"$file fi echo -n "Presione [ENTER] para terminar" read aux