Ir al contenido principal

Aplicando Patch a Guake que Permite Escoger Monitor donde Mostrar Terminal (Applying Multi-monitor Patch for choose Where Shows Guake Terminal)

Si deseas como yo escoger en cuales de tus dos monitores deseas que la ventana de terminal de Guake se muestre, entonces he aquí los pasos que has de seguir para lograr este cometido.

Esto lo realice en:

- Kali Linux 1.0
- Guake 0.4.2




Da click en este texto para descargar el Guake 0.4.2 y el multi-monitor.patch

Al descargar Guake desde el APT, este baja la versión 0.4.3-3, me percate que la ventana del terminal solo se desplegaba en la pantalla de mi laptop. Encontré en la Web que se podía aplicar un patch que te daba la posibilidad de escoger en cual de las dos pantallas o monitores deseas mostrar el terminal. Por ello, baje el patch file (en su momento no sabia ni como se comía esto). Un Patch es un archivo con código fuente que modifica el código fuente original. Con este patch lograremos modificar el código fuente original para que nos permita escoger donde queremos que se muestre el Guake Terminal.

Si deseas saber mas sobre el comando Patch, accede a mi articulo: http://oz-code.blogspot.com/2013/11/como-aplicar-un-patch-un-programa-en.html


El Patch lo puedes encontrar en el siguiente link: http://guake.org/attachment/ticket/124/multi-monitor.patch y en este http://guake.org/ticket/124 o descargar todo lo necesario en el zip file que subi con este articulo.


Como mencione el APT de mi Linux baja la versión 0.4.3-3 (Es decir, la versión 0.4.3) y cuando intente aplicar el patch a esta versión me disparaba errores. Me toco gastar tiempo en leer y entender como funcionan los patch y también leer los archivos de código fuente del paquete. Aqui, pude entender que el patch no funcionaba porque las lineas de código que este esperaba modificar o cambiar no coincidían con las lineas de código de la fuente.


Por lo anterior, me toco bajar la versión Guake 0.4.2 y con esta si logre aplicar el patch.


Pasos:

1. Bájate el zip desde este articulo o en a siguiente dirección: http://sdw.im/2012/05/moving-guake-to-right-monitor/

2. Por orden, coloca este archivo en una carpeta vacía.


3. Descomprime el file de la siguiente manera: tar -xvf guake.tar.gz




Al descomprimirlo, te deben aparecer tres archivos (dos patch files y un tar file). El tar guake-0.4.2.tar.gz es el paquete fuente que contiene todos los codigos fuentes y archivos para compilar y crear el ejecutable del Guake 0.4.2.


4. Descomprime el fuente asi: tar -xvf guake-0.4.2.tar.gz. Se te listara la estructura completa de este paquete. Si haces un ls -l, en este momento deberías tener el siguiente:
No se ve todo el listado de archivos descomprimidos en esta imagen


5. Mueves el archivo multi-monitor.patch a la carpeta donde esta descomprimido el Guake 0.4.2.


6. Si ejecutas un ls-l en la carpeta donde moviste el patch file, deberías tener la siguiente estructura:



7. Cambia el Owner de los archivos descomprimidos, ya que si no lo haces la ejecución del comando patch dara error. Ejecuta: chown -R <aqui_pon_tu_user> *


8. Cambia tambien el grupo de los archivos de la siguiente manera: chgrp -R <aqui_pon_tu_user> *


9. Por fin, corre el patch: patch -p1 -i  multi-monitor.patch


10. Aquí ya debería terminar el articulo, ya que en paso anterior se aplico el parche a Guake. Pero el haber aplicado el patch no te permite escoger el monitor. Como ya sabemos, estamos trabajando con los archivos fuentes (código fuente) del Guake. Es por esto que debes compilar los fuentes (es este el caso) o construir el paquete binario con el comando APT (Esto es con distros basadas en Debian, que es el caso de Kali) para obtener el ejecutable (lo que en Windows se conoce como el .exe).



11. Compilando los Fuentes:

11. 1. Corre la siguiente sentencia: ./configure
Te debe aparecer un listado como este (NO salen todos los archivos en la imagen de abajo)



11.2. Ejecuta: make


11.3. Luego ejecuta: make install


11.4. En el paso anterior, ya tienes el binario de Guake 0.4.2, ahora solo debemos ejecutarlo, llamando al binario. En tu terminal escribe: guake


11.5 Vete a la barra de menú (donde esta el reloj y los demás iconos), dale clic derecho al icono de Guake, escoge Preferences. En la ventana Preferences, en el tab General, veras la opción llamada Display, donde el drop-down list, tiene dos opciones 0 y 1. Estas dos opciones representan tus dos pantallas.




12. Compilando un Paquete Fuente (Source Package).

Extraido del siguiente link: http://pascal.nextrem.ch/2010/05/06/build-ubuntudebian-packages-from-source-and-apply-a-patch/

12.1. Lo primero que necesitaras son los paquetes que te permitirán construir software a partir de sus archivos o código fuente. Para ellos instalas el build-essential: 
sudo apt-get install build-essential


12.2 Estando en la carpeta donde descomprimiste el paquete fuente (la carpeta nueva que creamos al inicio por tema de orden), ejecutas: dpkg-buildpackage.

12. 3. Luego de esto tu tienes un paquete llamada <nombre_aplicacion>-<version>.deb en el mismo directorio del punto 12.2

12.4. Finalmente puedes instalar este nuevo paquete con la siguiente instrucción: 
dpkg -i <nombre_aplicacion>-<version>.deb

Todo el punto 12, no lo hice, ya que les dije que no trabaje con un paquete, sino con los archivos fuentes. Los paquetes están compuesto por tres archivos, uno de ellos son los archivos fuentes. Eso es otra historia.


Actualizacion 2014-0616
Con la actualización de Kali Linux a 1.0.7 el Guake se ve afectado y no se muestra el icono en la barra de tareas o cuando ejecutas el guake en el terminal, obtienes:

@kali:~# guake
Traceback (most recent call last):
  File "/usr/local/lib/guake/guake.py", line 29, in <module>

    import pynotify

Bueno, sencillo solo instala el paquete python-notify:

@kali:~# apt-get install python-notify

Comentarios

Entradas populares de este blog

Error al recuperar un generador de clases COM para el componente con CLSID {############} debido al siguiente error: 80040154

Hello Everyone!! Realmente no se si este mensaje de error es genérico o específio. Por ende, voy a decirles que si están: - Usan Visual Studio 2010 - Windows 7 x64 - Y tan trantando de correr un programa desarrollado en una versión anterior al VS 2010 y que hace referencia a DLL's, entonces chequeate este video, porque te va a dar la solución: www.youtube.com/watch?v=pDtyGns6mOw Fin!!!

Como Aplicar un Patch a un Programa en Linux (How to Apply a Patch en Linux)

Los comandos aplicados en este articulo fueron realizados en la distro Kali 1.0 (based in Debian) Una de las ventajas de los programas (software) open source es que podemos descargar los paquetes fuentes de estos que son los que contienen todos los codigos fuentes. Con ellos podriamos, modificar el mismo y crear nuevas funcionalidades (features) o corregir algun fallo. Para mantener un orden o integridad, es bueno que las modificaciones hechas al paquete fuente original, se realicen en un patch file. El patch file es un archivo que debe aplicarse al codigo fuente original utilizando el comando con el nombre patch . Que contiene un archivo patch? Contiene lineas de codigo fuente de uno o mas archivos contenidos en el paquete fuente original. La extension de un archivo patch es .patch Consideraciones Cosas que hasta el momento no encontre en la Web y que debes de saber de como aplicar un Patch son: 1.  El patch se aplica al paquete fuente de la aplicacion que deseas aplicar

Pasar Valores de Ventana Hija a Padre (Pass values from Child to Parent Windows with PHP and Javascript)

En este articulo, la ventana hija es un listado de clientes, donde el usuario a darle clic a un cliente, se retorna el ID del Cliente a un objeto Input tipo  hidden y el Nombre del Cliente a un objeto Input tipo  Text . En la ventana padre agrega un hipervinculo como el siguiente: <a href="#" id="customer_search" onClick="showModalSendAndReturnValues('customers_search.php', ''); return false;">Abrir Ventana Hija</a> y crea dos objetos HTML Input: <input type="text" id="customer_name"> <input type="hidden" id="customer_id"> El evento onClick sera el que dispare la función que abre la ventana hija.  El return false , es importante ya que evita que la ventana padre se auto-refresque y nos lleve a otra pagina. La funcion showModalSendAndReturnValues , es un Javascript que puede ir en el header de tu pagina padre o en un archivo de funciones javas