Apoyo con script en Bash, sobre X Window

Imagen de angelverde
0 puntos

Hola, despues de mucho tiempo regreso, no es que no quisiera pero hasta ahora no habia necesitado ayuda, tambien que conste que apoyo difundiendo el uso de Ubuntu.

Pues tengo una tarjeta Nvidia y dos monitores. Eh logrado poner doble monitor, pero como es logico consume más GPU. Lo que eh intentado es hacer un script para que automaticamente cambie el xorg.conf y reinicie el sistema X Window, pero soy malisimo en programacion Bash.

Espero un poco de ayuda con esto, es sencillisimo pero es lo que llevo:

#¡/bin/bash
gdialog --yesno "El programa reiniciara el sistema grafico. ¿Desea continuar?"
gksudo cp /etc/X11/xorg.conf_doble /etc/X11/xorg.conf
gksudo /etc/init.d/gdm restart
gksudo /etc/init.d/gdm start
exit

Como ven al principio intento que confirme el reincio del sistema X, esto no lo logro aunque de en cancelar (soy un bobo).
Luego de pedir contraseña copia el archivo xorg.conf que tiene la doble pantalla y lo pasa al xorg.conf normal; esto si lo logra.
Ahi comienza el problema, logro que salga del X Window, pero no me lo regresa, se queda en el ultimo comando. Es decir ya no ejecuta el gdm start, sino se queda en shell.

Una ayudita no esta mal. Gracias.

Imagen de joseluis
+1
0
-1

La instrucción que pones del gdialog lo único que hace es sacarte una ventana con un texto y dos botones y según pulsas uno u otro devuelve el botón pulsado. Por tanto tienes que "capturar" esa respuesta.
Si en lugar de gdialog utilizaras Xdialog (es parecido) la forma de capturar la respuesta sería de la siguiente forma:

Xdialog --title "Reinicio del sistema" \
   --yesno "El programa reiniciara el sistema grafico. ¿Desea continuar?" 0 0

resultado=$?

De esa manera en la variable resultado tendrás los siguientes valores:

  • 0 -> si ha pulsado el botón
  • 1 -> si ha pulsado el botón No
  • 255 -> si ha pulsado la tecla ESC

Y lo único que tendrás que hacer es preguntar por el valor que te interese y ejecutar lo que corresponda en ese caso.

En gdialog puede ser algo distinto (aunque no creo que cambie demasiado con Xdialog).

Edito:

Te confirmo que con gdialog el resultado del -yesno se captura igual que con Xdialog, es decir en ambos casos se utiliza $? y el valor 0 indica que se ha pulsado sobre el Sí.


Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado

+1
0
-1

Imagen de angelverde
+1
0
-1

Me ha servido bien, aunque todavía me falta lo más dificil, que me reincie el sistema grafico tal como lo hace la combinacion de teclas + + .

¿Alguna sugerencia?.
*******************************************************************
El amor es lo primero despues de la libertad. Ahora soy Ubuntu.

+1
0
-1