Hola y bienvenidos


En este sitio encontraras experiencias y «COMOS» de algunos de los temas que nos han hecho quedar levantados mas de una vez.

Si eres un usuario experimentado en linux, eres aún mas bienvenido porque este sitio será enriquecido gracias a vuestro aporte.

Ejercitemos la LIBERTAD con RESPONSABILIDAD y buena leche.

A las armas y BUENA VIDA!

Responsable: Ignacio Martín López, Bahía Blanca, Buenos Aires, Argentina

OpenERP 7 en Docker con jasper report y python 2.7 cuando pip ya no anda más


Estas notas son para contar la aventura LOCA de montar un servidor viejo de OpenERP 7 en el año 2023. (funciono perfecto en un server por 10 años)

Primero hay que decir que esta versión anda en python 2.7 que hoy ya se dejo de ser soportardo y tiene problemas con instalación de librerías con pip necesarias. ¡ uuuuuuuuu !… si, primer luz roja.

Por esta razón decidí usar la versión docker del servidor (que ya sabemos que anda) y desde ahí montar el código fuente. (no se hasta cuando va a funcionar o se va a encontrar… trabajito extra: hacer copia por las dudas que desaparezca)

También quiero poder modificar el código así que necesito instalar el fuente o que ande el fuente en el docker de alguna forma.

En su momento usé JasperReport para la generación de reportes. Se instalaba un server de reportes (creo que usaba apache y tomcat server)….uffffff!

Debe ser por estas cosas que se privilegia actualizar la versión ANTES de hacer las modificaciones.

Logre generar un banco de trabajo con Docker y poder hacer modificaciones, incluso modificar codigo andando… asi que es posible.

Lo bueno de utilizar docker es que es replicable y estable.

Ahora empieza la aventura de importar los datos y actualizar versiones.

Si te sirvió este apunte y quieres invitarme un café o una refrezco puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Automatizar apertura de paginas web y programas cuando inicia la computadora con UBUNTU 20.04 en distintos escritorios (workspace)


escrito el 10/05/2020

En mi trabajo diario -cuando enciendo la computadora- siempre abro los mismos programas en los mismos escritorios (workspace). Entonces la idea es automatizar esta apertura al iniciar el ordenador.

Vamos a abrir el navegador chrome que inicie en «reddit» y «facebook» en el espacio 0 y otro navegador en el espacio 2 que inicie en «google».

Los ingredientes de esta torta son:

  1. wmctrl Es que nos permitira pasar aplicaciones a otro wokspace.
  2. Script Crearemos un script con todos los programas que abriremos.
  3. Apertura de script al inicio de GNOME.

Voy a usar el lanzador de GNOME que se encuentra como «Aplicaciones al inicio» donde puedo colocar instrucciones de comandos de terminal.

  1. Asegurate de tener instalada: $ sudo apt install wmctrl
  2. Armemos un script con un editor de texto y llamemos al archivo abre_apps.sh y que contenga esto:

#!/bin/bash

wmctrl -s 0 #Switch to workspace 0
google-chrome --new-window "http://www.reddit.com"
google-chrome "http://www.facebook.com.ar"

wmctrl -s 3 #Switch to workspace 3
google-chrome --new-window "http://www.google.com"

Se pueden agregar tantos programas como uno quiera (con el path completo es mejor).

3. Abrir desde el menu de apps «Aplicaciones al inicio» e incorporamos poniendo un nombre y el path completo al script.

Probar cerrando la secion y volviendo a abrir.

NOTA: Si cambias de escritorio cuando esta en el proceso de apertura, las ventanas se abriran en el escritorio seleccionado.

Si te sirvió este apunte y quieres invitarme un café o una refrezco puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Canción perdida «el vaquero»


Desde que era muy pequeño (nací en 1973), mi padre, Arturo López (Bahía Blanca, Argentina) nos cantaba a mis hermanos y a mí una canción -que no se de dónde la sacó- que no puedo encontrarla. La quiero dejar escrita por si alguien la conoce (escríbame) o con el fin de que no se pierda en el viento. No sé el nombre así que va directo: (creo que el ritmo es marcha)

Yo quiero ser el más feroz de lo vaqueros,
y los peligros mas terribles buscaré,
infatigable luchare con los cuatreros
y a los hombres mas valientes venceré.

Iré contento galopando en mi caballo
con mi pistola defendiendo la razón
y si la luna da su plata a la cañada
a la luna iré cantando esta canción.

oooiiii, oopiiiii,
mía es la llanura con sus pastos y su sol
oooiiii, oopiiiii,
corre mi caballo como el viento mas veloz.

Allá en el rancho más hermoso que he soñado,
tendré una rosa como premio a mi valor
que con sus besos me domine como niño,
y con su boca haga temblar mi corazón.

……(no recuerdo esta parte)…

oooiiii, oopiiiii,
mía es la llanura con sus pastos y su sol
oooiiii, oopiiiii,
corre mi caballo como el viento mas veloz.

Yuuh yuuuuh!!!

Encontre una parte en el cancionero con los tonos, supongo que para guitarra como la tocaba mi padre:

Gracias Eugenio por el aporte y ojala a alguien le llamé la atención, la sepa y así la completamos.

Cómo instalar y controlar el UPS en UBUNTU 18.04 y que se apague el server si se gasta la batería


En este articulo lo que buscamos es instalar un único UPS que tenga un USB para cominicarse con el servidor UBUNTU 18.04 (Funciona con muchas marcas pero no se si funciona con todos, será cuestion de probar) y queremos que cuando se este por terminar la bateria le «diga» al server que se apague correctamente. No vamos a profundizar porque se puede hacer mucho, al final voy a dejar unos links para el que necesite mas.

En primer lugar debemos instalar un programa denominado NUT:

$ sudo apt-get install nut nut-monitor libcanberra-gtk-module

Ahora para saber donde esta instalado hacemos

$ lsusb
...
Bus 002 Device 087: ID 0d9f:0004 Powercom Co., Ltd
....

En nuestro caso es ese y lo que nos interesa es el numero de vendorid 0d9f

S sudo pico /etc/nut/nut.conf

Agregamos al final de todos los comentarios lo siguiente, para indicar que vamos a sondearlo directamente por el usb.

MODE=standalone

Ahora le tenemos que indicar donde tiene que mirar

$ sudo pico /etc/nut/ups.conf

donde colocamos al final de los comentarios

maxretry = 3

[myups]
    driver = usbhid-ups
    port = auto
    vendorid = 0d9f
    pollfreq = 30

NOTA: El vendorid es el que descubrimos mas arriba.
NOTA1: Hay otro driver que puede probar si no funciona bien «driver = megatec_usb»

Ahora le indicaremos como reaccionar ante algun evento

$ sudo pico /etc/nut/upsmon.conf

Es aquí donde tenemos que poner nuestro foco y es donde pone el foco el censador. Acá configuraremos las acciones que queremos que haga el servidor dependiendo las señales que nos llegan del UPS. Se pueden hacer muchas cosas pero nosotros solo queremos que se apague correctamente si el UPS se esta quedando sin batería. No queremos apagarlo si se corta la electricidad de red, solo que se apague cuando ya «casi» no le quede carga a la batería interna.

Un Ejemplo puede ser:

DEADTIME 15

FINALDELAY 5

HOSTSYNC 15

MINSUPPLIES 1

MONITOR ups1@localhost 1 upsMonitorMasterUser upsMonitorMasterUserPasswd master

# UPSMON alerts to dead UPS with NOCOMM every NOCOMMWARNTIME seconds.
# Value changed from default 300 to 15.
NOCOMMWARNTIME 15

NOTIFYCMD /sbin/upssched

NOTIFYFLAG COMMBAD  SYSLOG+WALL+EXEC
NOTIFYFLAG COMMOK   SYSLOG+WALL+EXEC
NOTIFYFLAG FSD      SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT  SYSLOG+WALL+EXEC
NOTIFYFLAG NOCOMM   SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT   SYSLOG+WALL+EXEC
NOTIFYFLAG ONLINE   SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC

POLLFREQ 5
POLLFREQALERT 5

POWERDOWNFLAG /etc/killpower

RBWARNTIME 43200

RUN_AS_USER nut

SHUTDOWNCMD "/sbin/shutdown -h -P now"

La señal que nos va a llegar desde el UPS y que nos interesa es NOCOMM durante NOCOMMWARNTIME segundos

Ahora tenemos que lanzar el demonio para ver si andar el censado del UPS.

$ sudo upsdrvctl start

Para sabe cuales son las señales que nos llegan del UPS hacemos

$ upsc myups
Init SSL without certificate database
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 30
battery.date: 2014/01/15
battery.runtime: 800
battery.type: PbAc
device.mfr: POWERCOM Co.,LTD
device.model: HID UPS Battery
device.serial: 004-0D9F-000
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.synchronous: no
driver.parameter.vendorid: 0d9f
driver.version: 2.7.4
driver.version.data: PowerCOM HID 0.5
driver.version.internal: 0.41
input.frequency: 50.0
input.voltage: 228.0
input.voltage.nominal: 220
output.frequency: 50.0
output.voltage: 228.0
output.voltage.nominal: 220
ups.beeper.status: disabled
ups.date: 2014/01/15
ups.delay.shutdown: 20
ups.delay.start: 60
ups.load: 35
ups.mfr: POWERCOM Co.,LTD
ups.model: HID UPS Battery
ups.productid: 0004
ups.serial: 004-0D9F-000
ups.status: OL
ups.test.result: Done and passed
ups.timer.shutdown: 0
ups.timer.start: 863520
ups.vendorid: 0d9f

NOTA: myups es el que le pusimos en la etiqueta de configuración en ups.conf. Pueden haber mas de uno y tiene que tener nombres distintos.

Si tenemos un acceso con acceso al sevidor grafico, entonces ahora vamos a ver lo que sondea el programa grafico

$ sudo NUT-Monitor

Para testear si funciona y simular un corte de electricidad en el mundo real hacemos:

$ sudo upsmon -c fsd

Espero que le sirva, Buena Vida!

Si te sirvió este apunte y quieres invitarme una café, gaseosa o agua, puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

WEBGRAFIA

Cambiar accion del boton de encendido en UBUNTU 16.04 18.04 desktop (power button action)


Necesito setear que cuando pulse el boton la maquina se apague. Basta con hacer:

$ gsettings set org.gnome.settings-daemon.plugins.power button-power shutdown

La ultima palabra es la accion que le asignamos al pulsado del boton. Las acciones posibles son:

  • interactive: pregunta que quiere hacer
  • Blank: no hace nada
  • Suspend: pone en suspender al sistema
  • Shutdown: lanza un pedido de apagado normal
  • Hibernate: hace hibernar el sistema
  • Nothing: no hace nada al pulsar
  • Log out: hace logout de el usuario

 

Si te sirvió este apunte y quieres invitarme una café, gaseosa o agua, puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Configurar un redireccionamiento dinamico de dns (DynamicDNS) en Ubuntu 16.04 18.04 con ddclient


Asumo que ya sabe lo que es un redireccionamiento dinamico de dns y que tiene una cuenta en algun servidor ya funcionando y tiene 4 datos a mano… usuario, pass, su dominio dinamico y el lugar donde alctualizara sus datos. Suponemos un dominio gratuito en NoIP. Tampoco entraremos en profundidad solo lo haremos funcionar.

$ sudo apt install ddclient

Si quiere puede seguir el wizard de configuracion que ya trae el programa por default donde le pedira que configore sus datos de ingreso pero nosotros lo haremos a mano asi que TODO ENTER hasta que se cierre.

$ sudo nano /etc/ddclient.conf

use=web
ssl=yes
protocol=noip
login="USERNAME"
password="PASSWORD"
"YOUR_HOSTNAME"

NOTA: en este caso que usamos NoIP no necesitamos poner el servidor pero en cualquier otro si.

Si tiene otro servidor puede usar el protocol=dyndns2 en conjunto con

protocol=dyndns2
server=members.dyndns.org
web=checkip.dyndns.com/
web-skip='Current IP Address: '

Prueba tu configuración

$ sudo ddclient -daemon=0 -debug -verbose -noquiet

Ahora configuramos el servicio

$ echo 'run_daemon="true"' | sudo tee -a /etc/default/ddclient
$ sudo service ddclient restart
$ journalctl -u ddclient.service
...
systemd[1]: Started LSB: Update dynamic domain name service entries.
ddclient[24631]: SUCCESS:  updating MY_HOST.redirectme.net: good: IP address set to 118.X.Y.Z

NOTA: Ctrl-Z para salir del comando anterior

Si en algun momento te da error relacionado con el cache puedes resolverlo así:

$ sudo rm /var/cache/ddclient/ddclient.cache
$ sudo service ddclient restart

Si te sirvió este apunte y quieres invitarme una café, gaseosa o agua, puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Weblografía

Cómo mejorar la calidad de las piezas en impresiónes 3d


maxresdefault

En este articulo voy a exponer los primero principios que tiene que tener en cuenta para imprimir con calidad. Seguro que enontrara tanto detalle como requiera en la web pero aqui vemos los primeros paso que tenemos que dar para mejorar bastante.

Primero lo primero

  • Cama caliente, ventilador de capa y calibre son cosa muy basicas que si o si tiene que tener.
  • Impresora NIVELADA. No la cama caliente… la estructura nivelada, sino los movimientos no seran consistentes.
  • Estructura de impresion rigida o ajustada. En lo posible tambien sobre algun material que asile de las vibrasiones de la superficie en donde este apoyada. Vea este video.
  • Muy aconsejable el sensor para hacer autonivelacion de la cama caliente.
  • Muy aconsejable un gabinete que cubra por completo la impresora nos permite control en la temperatura que es EL PUNTO A CONTROLAR. Como la temperatura ambiente puede variar, aislemos la impresora en un ambito que le podamos controlar la tempera ambiente y que nos permita consistencia en le repetitividad. aun mejor si podemos calefaccionar ese ambito y ponerle dos ventiladores extractores en lo alto y que funcionen segun parametros que le fijemos.

Con estas premisas estamos listos para empezar……… ¿que?… ¿hay más?… si!!… es un universo posible que vamos a empezar a revisar.

Comencemos!

Primero resulelve todos los problemas que puedas mirando mi pulicacion anterior: ¿Como identificar y resolver los problemas de impresiones 3D con fotos y ejemplos

Para asegurarnos que la superficie esta nivelada y el pico a una distancia correcta, podemos hacer una pruba de impresion, vea este video.

Una vez que tenemos una pieza decente lo que podemos hacer es pulir la superficie. Para algunos materiales, puede ser mecanica pero para el caso de PLA y ABS se debe hacer una camara para pulirla con bapores. Ahora aclaro:

in-action

Sependiendo si es ABS o PLA se embebe el paño (PLA es soluble en Tetrahidrofurano (THF) y el ABS en Acetona) y se deja la pieza encerrada por 5-10 min (estimado) y el resultado es asi:

 

Si te sirvió este apunte y quieres invitarme una gaseosa puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Configurar servidor y cliente VNC desde conexión ssh para conectar a escritorio remoto UBUNTU 16.04 18.04 desktop y controlar la pc en modo gráfico


Tenemos instalado un Ubuntu 16 o 18 desktop en una pc remota y configurado el acceso ssh que por default viene seteado el puerto 22. Entonce desde un terminal cliente en UBUNTU hacemos:

   $ ssh -p 22 usuario@ipremota

NOTA: reempace usuario por el usuario correspondiente y lo mismo con ipremota. Tambien si esta configurado un puerto distinto al 22, ponga el correspondiente.

Ubuntu instala por default como servidor de escritorio remoto el servidor vino (/usr/lib/vino/vino-server)  y se configura desde gnome en modo grafico pero nosotros lo haremos desde el terminal y al final mostrare en donde esta esata informacion en modo grafico.

1) Habilitar el servidor

$ gconftool-2 --set --type=bool /desktop/gnome/remote_access/enabled true

2) Cofigurar una contraseña de acceso

$ gconftool-2 --set --type=string /desktop/gnome/remote_access/vnc_password suclave

NOTA: cambie suclave por la correspondiente

3) Asegurar el puerto de red de acceso

$ gconftool-2 --set --type=bool /desktop/gnome/remote_access/use_alternative_port true
$ gconftool-2 --set --type=int /desktop/gnome/remote_access/alternative_port 5999

4) hay que recordar habilitar el puerto en el firewall

$ sudo ufw allow 5900

LISTO!…. ahora para ver las variables seteadas hacemos

$ gconftool-2 -a /desktop/gnome/remote_access

Con esto hecho en el servidor ya podemos conectarnos desde nuestro cliente UBUNTU con la aplicacion vinagre

Si tenemos acceso fisico al escritorio cliente, podemos configurar el acceso desde:

… YAPA y fueeeeera de programa:

hay otras variables que pueden ser seteadas la misma manera como por ejemplo:

gconftool-2 -a /desktop/gnome/remote_access
 use_upnp = false
 vnc_password = 
 authentication_methods = [vnc]
 network_interface = 
 require_encryption = false
 disable_background = false
 enabled = true
 use_alternative_port = false
 mailto = 
 disable_xdamage = false
 lock_screen_on_disconnect = false
 icon_visibility = always
 view_only = false
 prompt_enabled = true
 alternative_port = 5900

para saber que hace cada, puedes hacer con cada clave en el terminal:

$ gconftool-2 --long-docs /desktop/gnome/remote_access/alternative_port

       The port which the server will listen to if the
       'use_alternative_port' key is set to true.
       Valid values are in the range from 5000 to 50000.

 

Si te sirvió este apunte y quieres invitarme una gaseosa puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

 

Weblografía

Configurar el email (correo electrónico) del servidor UBUNTU 18.04 para que nos notifique via el servidor de correo de GMAIL


En este articulo NO profundizaremos solo lo haremos funcionar.

$ sudo apt-get install ssmtp
$ sudo pico /etc/ssmtp/ssmtp.conf 

root=username@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=fileserver.local
UseSTARTTLS=YES
AuthUser=username
AuthPass=password
FromLineOverride=YES

NOTA: cambiar username@gmail.com por el que corresponda

ahora creamos la lista de destinatarios

$ sudo pico /etc/ssmtp/revaliases

root:username@gmail.com:smtp.gmail.com:587
youruser:username@gmail.com:smtp.gmail.com:587

NOTA: cambiar username@gmail.com por el que corresponda y youruser por su usuario correspondiente

 

Si te sirvió este apunte y quieres invitarme una gaseosa puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Crear un RAID1 de una partición BTRFS con datos y una nueva en Ubuntu 18.04


De tan sencillo, complica. Este articulo lo hago para recordar y ayudar a aquellos -que como yo- perdieron un buen rato de su vida por algo simple.

Partimos teniendo un disco andando y ahora agrego otro para hacer una partición BTRFS en espejo en RAID1. En mi caso es el /home que está en sdb6. El disco que agrego tiene una particion del mismo tamaño en sda6.

Un requisito indispensable es que tengan el UUID de disco distintos. Los vemos haciendo:

$ sudo blkid
...
/dev/sda6: UUID="e12c98df-7c8e-4f50-be39-e208597f71a7"
.....
/dev/sdb6: UUID="e12c98df-7c8e-4f50-be39-e208597f71a7"

Nota: Si hace copia de las particiones al disco nuevo, el UUID quedaran iguales en las dos y el sistema puede volver inestable.

Si queremos cambiarlo, primero generamos uno nuevo:

$ sudo uuidgen
a6a1fc9a-48e5-4cff-82b9-04f0afa925e3

y ahora se lo asignamos a la particion que necesitamos cambiarle… en mi caso la sda6

$ sudo tune2fs -U a6a1fc9a-48e5-4cff-82b9-04f0afa925e3 /dev/sda6

Mi disco con datos (sdb6) está montado en el /home y es un disco con tabla de partición BTRFS al que le puedo agregar discos nuevos «en caliente», haciendo

$ sudo btrfs device add -f /dev/sda6 /home

Nota: el -f es forzar para que si hay datos viejos en la particion nueva la sobreescriba

Pero esto solo agrega mas espacio a esa carpeta y yo quiero que esa partición sea en raid1… entonces ahora convierto ese «arreglo» de discos en raid1

$ sudo btrfs balance start -dconvert=raid1 -mconvert=raid1 /home

Esto tarda un rato y terminado, ya estará listo. Podemos ver su estado haciendo

$ sudo btrfs fi show

Si te sirvió este apunte y quieres invitarme una gaseosa puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.