Cargando...
 

 Obsoleta
La información de esta página es antigua. Puede que esté obsoleta.

Historial: Funcionalitats d'N4D

Previsualización de la versión: 5

Versiones
  -LliureX 16

  -LliureX 15

 

1. Introducció

 

És recomanable abans de llegir aquesta entrada  consulta El sistema n4d. El llenguatge que s'utilitza per a programar plugins de n4d és principalmente python. Per aquest motiu és recomanable tindre'n unes nocions bàsiques  per a poder seguir aquesta entrada.   En podeu trobar informació detallada als següents enllaços:

http://mundogeek.net/tutorial-python/

http://librosweb.es/libro/python/

Encara que tobeu explicacions sobre codi a l'entrada, aquesta no pretén ser un tutorial de python, motiu pel qual és recomanable tenir algunes nocions bàsiques de programació.

 

2. Funcionatats d'n4d.

 

Per a invocar funcionalitats n4d sobre un sistema en llenguatges com pyn o javascript, necessitarem un servidor amb n4d  funcionant.  Així, per exemple, python podem fer cridades  xmlrpc de la mana següen:t.

En primer lloc, executarem python:

 

Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>


I carregarem la llibreria xmlrpc

>>> import xmlrpclib


Ara que ja tenim la llibreria carregada, caldrà dir-li al sistema a quina màquina volem que es connecte, que soporte llamadas xmlrpc.

>>> client=xmlrpclib.ServerProxy("https://IP_DE_NUESTRA_MÁQUINA:9779")


Así ya podemos ejecutar peticiones a nuestra máquina:

>>> mirror=client.get_variable("", "VariablesManager", "LLIUREXMIRROR") >>> print mirror {'llx16': {'exception_msg': '', 'status_mirror': 'Ok', 'mirror_size': '14.258067918', 'progress': 100, 'last_mirror_date': '30/01/2017'}}

 
Podemos fijarnos cómo

 

2.1.  N4d-remote-gui-plugin:

 

Una de las funcionalidades que presenta n4d es el plugin n4d-remote-gui-pluguin que permite lanzar interfície gráfica desde cualquier máquina que tengamos conectada a nuestra red través del servidor gráfico Xephyr.

Este plugin presenta dos clases que podemos utilizar, para conocerlas podemos ejecutar:

 

n4d-client getmethods | grep Gui


Fíjate que Gui, la G está en mayúscula. Así tendremos la siguiente salida donde podemos ver tres clases: RemoteWebGu, RemoteGuiManager y GuiLauncherManager.

 

[RemoteWebGui] run_into_connection : anonymous [RemoteWebGui] remote_execute : anonymous [RemoteWebGui] create_connection : anonymous [RemoteWebGui] close_connection : anonymous [RemoteGuiManager] remote_execute : anonymous [GuiLauncherManager] register_display : adm admins [GuiLauncherManager] execute : adm admins

 

Una es para lanzar interfaces gráficas en local  (a una máquina remota), otra interfícies remotas (a una máquina local) y finalmente tenemos uan clase para lanzar interfícies remotas en una página web. RemoteWebGui no forma parte del paquete de n4d-remote-gui-plugin, se usa para el admin-cente en LliureX 16.  Vamos a ver algunos ejemplos de utilitzación del paquete.

 

 

GUI en local sobre una máquina remota

La clase GuiLauncherManager proporciona un método para lanzar una aplicación en una máquina remota. Vamos a usar el método con n4d-client:

 

n4d-­client   ­-h  172.27.104.107  ­-c   GuiLauncherManager   ­-m execute   ­-u   lliurex   ­-p   lliurex   ­-a   " "   lliurex "firefox wiki.lliurex.net"

 
Vamos a analizar la instrucción:

Opción Función
-h Dirección IP del host que servirá la función (host remoto).
-c Clase donde se encuentra el método que queremos usar.
-m Método que vamos a usar.
-u Usuario del host remoto. El método no es anónimo por lo que es necesario proporcionar un usuario del grupo adm.
-p Contraseña del host remoto.
-a Atributos de la función. En este caso " " es la ip desde dónde se invoca la petición que se autocompleta, lliurex es el usuario que queremos que se ejecute la aplicación y finalmente firefox es la aplicación que queremos lanzar.



De esta manera se abrirá el firefox en el ordenador remoto.
 

GUI remota sobre nuestra máquina

Otra opción que tenemos es la de ejecutar en nuestra máquina uns instancia remota.

 

n4d­-client ­-c RemoteGuiManager- ­m remote_execute -­a $USER "caja" 172.27.104.107 lliurex lliurex True

 

Los parámetros que usamos son:

Opción Función
-c Clase donde se encuentra el método que queremos usar.
-m Método que vamos a usar.
-a
$USER: Usuario local.
"caja": Programa que queremos ejecutar
IP: Ip del host remoto.
lliurex: Usuario del host remoto.
lliurex: Contraseña
True: Este parámetro indica que la aplicación se lanzará como sudo

 

Lo que estamos haciendo es lanzar el programa caja como sudo en el ordenador donde estamos conectado, de manera que los ficheros que veremos seran los del otro ordenador. Además podremos modificar cualquier archivo ya que hemos lanzado el programa como sudo.

 

Historial

Avanzado
Información Versión
2024-08-21 08:44 juanma 20
Ver
2020-12-03 14:59 munoz_ric Ajustament de salts de línia 19
Ver
2020-12-01 13:28 munoz_ric 18
Ver
2020-11-13 12:12 juanma 17
Ver
2020-01-10 13:41 raul 16
Ver
2019-04-08 14:27 admin 15
Ver
2018-09-19 12:44 empar 14
Ver
2018-09-19 12:37 empar 13
Ver
2018-09-19 12:29 empar 12
Ver
2018-09-19 12:20 empar 11
Ver
2018-09-19 12:01 empar 10
Ver
2018-09-19 11:52 empar 9
Ver
2018-09-19 11:47 empar 8
Ver
2018-09-19 11:34 empar 7
Ver
2018-09-19 11:20 empar 6
Ver
2018-09-19 11:11 empar 5
Ver
2018-09-19 11:02 empar 4
Ver
2018-09-19 10:19 empar 3
Ver
2018-09-19 10:10 empar 2
Ver
2018-09-19 12:44 empar 1
Ver

Historial

No hay registros que mostrar
Mastodon E-Mail