viernes, julio 28, 2006

Frikomanía. Terminal como fondo de pantalla en 4 pasos

Frikonsejo para usuarios de linux. En muchas ocasiones solemos tirar de consola, bien porque no es posible hacer lo que queremos de otra manera o bien porque es más rápido que desde el entorno gráfico. En su día ya me molestaba la incomodidad que supone tener que abrirla en cada ocasión ademas de tenerla como ventana ocupando espacio. Así que me dispuse a buscar un método para integrala con el fondo de pantalla. Al principio gracias a un howto que encontre hacía uso del software Devilspie sin embargo la configuración era algo farragosa y me llegó a dar algún problema. A día de hoy mediante la herramienta AllTray todo se ha vuelto mucho más fácil.

Así que aquí va la explicación para hacerlo con Gnome, para KDE supongo que será similar a excepción de la configuración del perfil del terminal (paso 2). Pasos para la instalación:

1. Descargar e instalar AllTray.Tenéis diversos métodos, pero para usuarios de Ubuntu os recomiendo que si no os aparece directamente añadáis los repositorios, instaléis y limpiéis los repositorios de nuevo.

2. Crear un perfil nuevo para el gnome-terminal: abrimos una terminal y vamos a Archivo->Nuevo perfil le damos un nombre y aceptamos. Se abrirá la ventana de preferencias en la que configuraremos algunos aspectos. En la pestaña general desmarcamos la opción de mostrar barras de menú en las nuevas terminales. En la pestaña de color seleccionamos una combinación de colores para el texto que se destaque de nuestro fondo. En la pestaña de efectos hay que seleccionar fondo transparente y fijar la barra en "ninguno" como indica la imagen a continuación.


El resultado debería ser una terminal así.


3. Ya estamos llegando al final ahora vamos a usar Alltray para lanzar nuestro terminal en la posición de pantalla deseada. En la línea de comandos escribe ejecuta:

$alltray -s -x -g +600-5 "gnome-terminal --windows-with-profile=terminal-desktop --geometry=80x30"

Puedes modificar los parámetros +600-5 dependiendo de la localización que le quieras dar a la ventana; para el tamaño 80x30 indica respectivamente el número de columnas y filas que tendrá la terminal. Haz las pruebas que necesites hasta situar la ventana en el lugar que prefieras.

4. Sólo nos queda hacer que el se ejecute el comando automáticamente al iniciar la sesión para ello basta con ir a Sistema-> Preferencias-> Sesiones, allí seleccionamos la pestaña "Programas al inicio" y añadimos una entrada con el comando (alltray -s -x ....). En mi caso lo he metido dento de un archivo .sh y lo lanzo con terminalFondo.sh


Et voilà!. Ya tenemos una terminal incrustada en el fondo de nuestro escritorio. Ahora si quieres que desaparezca haz click en el icono de monitor que aparece en el área de notificación. El terminal desaparacerá del fondo y de la barra de tareas. Seguirá activa a sólo un click de distancia.

Añadir que alltray no solo sirve para la erminal de fondo de escritorio sino para cualquier otra aplicación como XMMS, xine, el reproductor de tv, un navegador, ... y en general con cualquier aplicación que funcione sobre KDE, Gnome, WindowMaker y algúnos escritorios más.


Y hasta aquí llegó nuetro frikonsejo de hoy. En breve mostraré alguna chorradita más.

18 comentarios:

  1. Me quedo una duda encuanto el script cual es su funcion y como se hace???

    ResponderEliminar
  2. El script es solo para simplificar las pruebas. Meto el comando ($alltray...) dentro de un script (terminalFondo.sh) . Este script lo tengo en un directorio de mi home que está incluido en el path, así puedo llamarlo en cualquier momento. Si quiero cambiar algo del terminal modifico el script, lo pruebo y cuando obtengo el resultado buscado no tengo que modificar nada más pues al inicio de la sesión se llama a terminalFondo.sh

    ResponderEliminar
  3. Espero seas una persona paciente pues he tenido muchos problemas, ahora tengo otras preguntas:
    1) como incluyo una carpeta en el path?
    2) uso fedora y para instalar alltray lo hice asi >yum install alltray y listo quedo pero cuando ejecuto el script (que entre otras cosas no lo esta ejecutando al inicio) aparacen estos errores:
    ERROR: ld.so: object '/usr/lib/liballtray.so.0.0.0' from LD_PRELOAD cannot be preloaded: ignored.

    Si me puedes responder gracias!!

    ResponderEliminar
  4. perdon por postear tanto pero ya encontre respuestas, lo del path listo ya quedo simplemte es tener una carpeta bin.
    Y no se me iniciaba al arrancar por que el script no tenia permisos listo ya todo esta bien OK, pero solo que me aparece la ventanay sigue saliendo el mensaje
    ERROR: ld.so: object '/usr/lib/liballtray.so.0.0.0' from LD_PRELOAD cannot be preloaded: ignored.

    ResponderEliminar
  5. uy uy uy. Ese error no tiene buena pinta. Quizá el paquete que has instalado no estaba del todo correcto. Te sugiero que lo desinstales e instales otro paquete (binario o lo compilas tu mismo). También puedes poner una terminal de fondo con este otro método, aunque personalmente prefiero mi método.

    ResponderEliminar
  6. Mi querido amigo tenias razon primero lo habia intalado con el YUM(uso fedora) y me salia ese mensaje asi qeu baje el fuente la version mas nueva la compile la instale y si funciona de maravilla y hasta mas rapido. Felicitaciones y Ojala sigas escribiendo temas sobre Linux.

    ResponderEliminar
  7. Pasa esto si me pudiera ayudar se lo agradeceria ya yo instale alltray y ya hice q las terminales tuvieran tranparencia pero cuando meto este comando: alltray -s -x -g +600-5 "gnome-terminal --windows-with-profile=terminal-desktop --geometry=80x30"

    Y me tira esto: Alltray: no system tray/notification area found.
    I will wait..... I have time....

    In the meantime you may add a system tray applet
    to the panel.

    Q podra ser ???

    ResponderEliminar
  8. Pues que tienes que añadir al panel el área de notificación

    ResponderEliminar
  9. Saludos. A mi no se me quita de la barra de tareas. Lo demas esta todo perfecto, pero me aparece que hay una consola abierta.
    Como se soluciona esto?

    ResponderEliminar
  10. Ok.Solucionado lo que comentaba en el mensaje anterior. Pero ahora tengo otro problema....me desaparece la consola del fondo cuando hago algo que no sea escribir en esa consola. Es decir, muevo un icono y la consola desaparece del fondo. Xq puede ocurrir esto?

    ResponderEliminar
  11. No entiendo porqué te desaparece, a mí se me queda siempre en el fondo de la pantalla cuando no estoy trabajando con ella. Solo de saparece al pulsar "Mostrar escritorio" o al hacer click sobre el icono del panel de notificicación.

    ResponderEliminar
  12. Aora el problema que tengo esq no me coje el perfil que tengo en la consola con las transparencias.
    Me sale la consola normal, solo que sin titulo. He revisado la sintaxis, el perfil y todo esta correcto.....
    .....malditos....!!!!

    ResponderEliminar
  13. Asegúrate de que seleccionas el perfil correcto. Para ello lanza nada más que el comando "gnome-terminal --window-with-profile=terminal-desktop --geometry=90x30" suponiendo que "terminal-desktop" sea el nombre del perfil que contiene la transparencia. Una vez estés seguro de que llamas al perfil de terminal correcto ya puedes incorporar la llamada a Alltray. Espero que te sirva.

    ResponderEliminar
  14. Lo lanzo desde la consola con toda la linea de comandos, y me lo pone correctamente. Pero luego al reiniciar no me sale la consola con ese perfil.

    ResponderEliminar
  15. Sorry, no sé nada de linux..

    Pongo esto en el inicio de sesion
    alltray -s -x -g +600-5 "gnome-terminal --windows-with-profile=incrustada --geometry=80x30"

    incrustada es el nombre que le dí al perfil de la terminal.
    Inicio y no sale, le tengo que dar a terminal y entonces si sale en su sítio, transparente etc,que hago mal?

    por otro lado, si quisiese hacerlo mediante script, como tú, con esos datos, llamandose incrustada y ponerlo en "root" que es lo que más uso, que tendría que poner dentro del script? (si no es muy largo)

    Thanks

    ResponderEliminar
  16. Antes de probarlo en el inicio de sesión asegúrate de que el comando te funciona introduciéndolo en una terminal:

    alltray -s -x -g +600-5 "gnome-terminal --windows-with-profile=incrustada --geometry=80x30"

    si es funciona crea un archivo con el siguiente contenido:

    #/bin/sh
    alltray -s -x -g +600-5 "gnome-terminal --windows-with-profile=incrustada --geometry=80x30"

    Guarda y dale el nombre que quieras, en mi caso es terminalFondo.sh:

    /home/gonzalo/bin/terminalFondo.sh

    Dale permisos de ejecución con el comando:

    chmod +x /home/gonzalo/bin/terminalFondo.sh

    Ahora si utilizas GNOME puedes añadirlo al inicio de sesión a través del menú que indico en el paso 5, en caso de usar KDE imagino que habrá una opción similar.

    NO ES NADA RECOMENDABLE USAR ROOT, si necesitas ejecutar algo como root la mayoría de las distribuciones te permiten cambiar temporalmente de usuario o ejecutar con los permisos de administración (comandos como sudo, su, gksudo y demás están precisamente para eso).

    ResponderEliminar
  17. muxas thanks gonzo (sorry que hasta hoy no entré)
    Voy a ...investigar lo que me dijiste
    Thanks
    salu2!

    ResponderEliminar
  18. gon zoo, en el tutorial hay un pequeño fallo, en alltray -s -x -g +600-5 "gnome-terminal --windows-with-profile=terminal-desktop --geometry=80x30" sobra la s de --windows...

    Por otro lado, yo tengo un monitor de 1280x800 y he personalizado el comando para que ocupe prácticamente toda la pantalla y deje una franja a la izquierda para los discos montados:

    #!/bin/bash
    alltray -s -x -g +150+0 "gnome-terminal --window-with-profile=Fondo --geometry=140x46"

    Saludos

    ResponderEliminar