Archivo de la etiqueta: exportar las X

Instalación mínima de X11 para redireccionar aplicaciones gráficas en un servidor headless

Tras este título tan largo se esconde el tema que ya comenté de Exportar las X entre ordernadores con GNU/Linux. En Raspbian Lite puede bastar con lo que indiqué en montar un Raspbian a tu medida en la parte del final, pero en otros sistemas como armbian puede que no. Así que lo primero es añadir este paquete además de las aplicaciones que queramos: pcmanfm, geany, leafpad, etc. En una Terminal ponemos este comando:

sudo apt install xauth

Luego nos puede aparecer este error, o mensaje de error que hace tiempo también comenté comenté como resolver en este post sobre Canberra-Gtk-module.

El caso es que ahora, supongo que por cambios del sistema operativo, al exportar las X y abrir una aplicación gráfica en remoto, tengo estos nuevos errores que en realidad no parecen importar:

Gtk-Message: Failed to load module "gail" 
Gtk-Message: Failed to load module "atk-bridge"
** Message: x-terminal-emulator has very limited support, consider choose another terminal

Para resolverlos, basta instalar los siguientes librerías desde una Terminal:

sudo apt-get install libcanberra-gtk-module libcanberra-gtk3-module libcanberra-gtk0 libcanberra0 libatk-adaptor libgail-common

Cómo arreglar el error Gtk-Message: Failed to load module “canberra-gtk-module”

Si accedemos desde una Terminal remota a la Raspberry desde otro Linux, como expliqué en otra ocasión.

ssh-X-exportar-las-X-1

ssh-X-exportar-las-X-2

Es normal que se produzca el siguiente error:

Gtk-Message: Failed to load module "canberra-gtk-module"

canberra1

Para solucionarlo hay que instalar unas librerías, y estás a su vez puede que instalen más dependiendo de lo que ya tengamos en las Raspberry Pi. Una vez está todo listo para instalar, le decimos que con la tecla S y luego la tecla Enter / Intro / Return

sudo apt-get install libcanberra-gtk-module libcanberra-gtk0

canberra2

canberra3

Ahora volvemos a lanzar la misma aplicación que daba el error al usarla de forma remota pcmanfm y comprobamos que ya no hay problemas

canberra4

canberra5

Conectarse a la Raspberry desde otro Linux | exportar las X

A raíz de este comentario he preparado una respuesta más o menos larga que se merece un post.

En principio la culpa es mía por pensar que ser usuario de Linux es ser experto en todo. Además cada vez es más fácil instalarse un Linux, ya sea Ubuntu, Fedora o Debian, sin ser experto por lo que vamos a ayudar un poco con el tema de aprovechar esa buena relación entre tu Linux y el de la Raspberry.

En primer lugar hay que tener la Raspberry con Raspbian instalado, conectado a la red de casa por cable o wifi y configurado para que tener acceso de forma remota por SSH (si no has tocado nada debe funcionar, ya que es la opción por defecto).

¿sabes abrir una terminal en tu otro Linux?
supongo que sí, si no, depende de si tienes gnome, kde o xfce, suele ser un icono tipo pantalla en negro.

terminal_icon

¿sabes la dirección IP de tu Raspberry?
si no la sabes puedes escanear lo puertos desde la terminal que acabas de abrir con nmap (suponiendo que tu red local sea del tipo 192.168.1.0, si fuese otro rango lo cambias en el siguiente comando):

sudo nmap -sP 192.168.1.0/24

o con

su  
nmap -sP 192.168.1.0/24

Si os da un error del tipo:

- bash: nmpa: no se encontró la orden.

Es por que no tenéis instalado nmap y para hacerlo solo tenéis que teclear en:

Fedora y similares

su  
yum install nmap

Ubuntu | Debian y similares

sudo apt-get install nmap

Utilizar una u otra opción depende del Linux que estés usando. Igualmente debe pedirte la contraseña de root o administrador para ejecutarse, pero podría no ser necesario.

Los resultados de la salidad de nmap no son difíciles de interpretar y una de las IP debe ser la de la Raspberry. Suponiendo, por ejemplo, que la ip sea 192.168.1.100

Ahora te conectas desde la misma Terminal usando el comando que comenté, lo más importante es la opción -X en mayúsculas:

ssh -X pi@192.168.1.100

Te pedirá la contraseña del usuario “pi” de la Raspberry, que si no has cambiado debe ser “raspberry”. Si lo cambiaste, pues la que tú pusieras.

Ahora ya puedes ejecutar comandos en remoto desde tu otro Linux en la Raspberry, en concreto para abrir aplicaciones en su propia ventana hay que conocer el nombre exacto y añadir un espacio y símbolo & detrás para que no se bloquee el Terminal y podamos usar la aplicación al mismo tiempo que la Terminal sigue activa. Te pongo el nombre de algunas y como deberías lanzarlas desde el terminal:

  • Gestor de archivos: pcmanfm &
  • Editor de textos (Leafpad): leafpad &
  • Administrador de tareas(LXTask): lxtask &