martes, 15 de noviembre de 2011

Reparar Paneles mal cargados

Aveces sucede que al iniciar nuestra sesión nos encostramos que nuestro panel no a cargado adecuadamente. Esto sucede tanto en Ubuntu como en LMDE. Por ejemplo, con la falta de iconos o con iconos duplicados o parcialmente segmentados. Algo parecido a esto:
Cuando se debería mostrar esto otro:
Esto aunque parezca una tontería, incomoda bastante sobre todo a los que nos gusta tener todo muy bien ordenadito.
Hay varias posibles soluciones a este inconveniente, donde las más recurrente es aguantarse, o la más pesada Cerrar sesión y volver a entrar.
Por suerte en Linux "que todo lo puede" tenemos alternativas mucho más saludables y menos "traumáticas" que las dos anteriores.

Se trata de utilizar el siguiente comando:
  • killall gnome-panel
Este comando ejecutado desde un Terminal restituirá los panales a su estado normal.
Pero claro, esto tampoco deja de ser un poco pesado, tener que abrir el Terminal de vez en cuando y tener acordarse del comando anterior.
La solución más practica (para mi manera de ver) pasa por crearse un Lanzador que apunte a este comando o mejor aún (mucho más rápida y cómoda) crear una combinación de teclas.
Para este menester nos movemos hasta Preferencias Combinación de Teclas. En la ventana resultante pulsamos el botón Añadir donde pondremos un nombre descriptivo para la nueva combinación y en Comando: killall gnome-panel


Luego no toca elegir una combinación de teclas para ejecutarlo. Buscamos en la lista Combinación personalizada, donde veremos la recién creada. Luego pulsando en el lado derecho de ésta con el ratón podremos leer: Combinación nueva... seguidamente pulsaremos la combinación de teclas deseadas. Por ejemplo Control+p ("P" de panel lógicamente para que no se me olvide).
Así de este modo cuando nos encontremos en este caso, con una simple pulsación de teclas, restauraremos nuestros paneles en un santiamén.

Una opción muy interesante es utilizar la tecla (prácticamente inútil hoy en día llamada Bloq Despl (Scroll Lock)). Para estos en vez de una combinación de teclas tan sólo debemos pulsar Bloq Despl para resetear los paneles.
Si resulta que tienes un LED luminoso asociando a esta tecla. Comprobarás que éste no se enciende. Si quieres que se encienda el LED a la vez que se pulsa esa tecla y se reseteen los paneles. Copia este Script en un archivo nuevo, lo renombras por ejemplo  a LedKillPanel y lo copias en tu carpeta de Usuario:

#!/bin/bash
on=$(xset -q | grep 'Scroll Lock: on');
if [$on == ""]; then
killall gnome-panel
xset led named "Scroll Lock";
else
killall gnome-panel
xset -led named "Scroll Lock";
fi


El código anterior es una modificación de este otro: lcoronelp
Comprobarás si prestas atención al Script que tanto si pulsas esa tecla tanto para apagar el LED o para encenderlo. Siempre de uno u otro modo se ejecutará la orden killall gnome-panel. Puedes jugar un poco en este sentido dejando las dos órdenes o eliminado la que te interese. No importa. Incluso si quieres puedes hacer que dicho LED se apague pasado un tiempo. Esto ya depende de cada cual.



Mi teclado resaltando la tecla que resetea los Paneles y su LED encendido:



4 comentarios:

  1. En lugar de killall gnome-panel se puede ejecutar el comando equivalente:
    pkill gnome-panel

    De forma análoga se puede reparar el gestor de ventanas Metacity, necesario en algunos casos, como se indica en http://www.ubuntu-es.org/node/163848 :

    Si has cambiado algo con gnome-keybinding-properties (p.e. deshabilitado un atajo de teclado, p.e. ALT+F1 -que muestra el menú principal del panel-) pero los cambios no se verifican o llevan a cabo (y F5 o CTRL+R sobre el escritorio no lo soluciona) este comando puede arreglar el problema:
    metacity --replace (lo puedes ejecutar desde el diálogo que aparece manteniendo pulsada la tecla ALT y pulsando F2).

    Esto (re)inicia el gestor de ventanas Metacity.

    También puedes iniciar Metacity ejecutando (pero no reiniciarlo; sólo funciona para iniciar Metacity si otro gestor de ventanas está en uso antes):
    gnome-appearance-properties (también posible desde ALT+F2) y cambiando "Efectos visuales" a Ninguno.

    ResponderEliminar
  2. El comando correcto es:
    xmodmap -e "add mod3 = Scroll_Lock"
    Son comillas dobles rectas antes de add y después de Scroll_Lock

    Según dicen en la página donde lo leí en vez de mod3 puede ser mod con otro número pegado al final. Es el que tenga el resto de la línea en blanco.

    Cuando reinicias la sesión o el ordenador la tecla (y su LED) vuelven a estar desactivados.

    Para que esté activa siempre a mí (en Ubuntu 10.04) no me funciona lo que dice la página referida de editar /etc/X11/Xmodmap
    Sí me funciona lo que dice un comentario de crear un fichero llamado .Xmodmaprc en la carpeta de usuario con el contenido add mod3 = Scroll_Lock (en el primer inicio de sesión siguiente sale un cuadro de diálogo que se puede evitar en adelante) o crear un script con el contenido sleep 10 && xmodmap -e "add mod3 = Scroll_Lock" y llamarlo desde las aplicaciones al inicio. Pero en ambos casos, aunque la tecla y su LED funcionan, pasan cosas raras (p.e. si el LED está encendido no puede ejecutar ALT+F2 para abrir el diálogo de ejecución y no puedo asignar dicha tecla de bloqueo de deplazamiento en gnome-keybinding-properties al comando que repara los paneles, que es justo lo que se pretende en esta entrada.

    Así que en mi caso me olvido de esa tecla. Otra opción sería usar el script de Frannoe.

    ResponderEliminar
  3. No había visto este post, casualmente en este año con ubuntu 12.04 he tenido este problema (aunque con el Cairo dock) y mira tu, me ha gustado tu solución :D

    Como ya tenía la tecla "Bloq Desp" utilizada con mi script, utilicé la tecla "Pausa" para esta tarea :D

    Genial amigo!

    ResponderEliminar
    Respuestas
    1. Gracias LCoronelP, me alegra que éstas y otras soluciones os sigan siendo útiles.

      Saludos

      Eliminar