viernes, 12 de marzo de 2021

Ubuntu 20.04 Arancar un script como servicio. Caso particular de tomcat

1. Definir un servicio simple

Se ha consultado a https://linuxconfig.org/how-to-run-script-on-startup-on-ubuntu-20-04-focal-fossa-server-desktop


1.  Ir a /etc/systemd/system

2. Crear el fichero socket-server.service


[Unit]
After=network.service

[Service]
ExecStart=/home/informatica/MyPrograms/SOCKET_SERVER/startup_SocketServer.sh

[Install]
WantedBy=default.target
3. El script a ejecutar (startup_SocksetServer.sh) es

#!/bin/bash

# 1. show all arguments
echo $@

# 2. Mostra directori
myFolder=`dirname "$0"`
echo "The present working directory is $myFolder"



#3. Execute java program
/home/informatica/MyPrograms/jdk-15.0.2/bin/java -jar $myFolder/socketserver.jar S

4. Cambiar permisos

  1. $ sudo chmod 744 /home/informatica/MyPrograms/SOCKET_SERVER/startup_SocketServer.sh
    $ sudo chmod 664 /etc/systemd/system/socket-server.service
5. Arrancar el servicio

  1. $ sudo systemctl daemon-reload
    $ sudo systemctl enable socket-server.service
    






jueves, 11 de marzo de 2021

Ubuntu 20.04 problemas

 Se ha virtuaiizado Ubuntu 20.04 LTS con vmware y han aparecido los siguientes problemas:

1. No podia entrar a la maquina por ssh (Putty)

Ver https://linuxize.com/post/how-to-enable-ssh-on-ubuntu-20-04/

Hay que instalar el ssh y que se ejecute como servicio, y si hay un firewall hay que abrirle el puerto 

sudo apt update
sudo apt install openssh-server
sudo systemctl status ssh # start ssh as a service
sudo ufw allow ssh # in case there is a firewall

2. No tenia acceso remoto por RDP a la máquina (terminal KRDC)


3. Nautilus se quedaba bloqueado

4. No se puede ejecutar sudo nautilus

 

lunes, 1 de febrero de 2021

Postgres: Importación de un fichero en una tabla. Solucuionar el error "invalid byte sequence for encoding "UTF8": 0xd1 0x41"

 Se va seguir lo expuesto en stackoverflow


Problema:

1. Se ha generado un fichero "txt" desde windows, llamado "file01.txt"

2. Se ha creado una tabla XIMO01 con un único campo c1 varchar de longitud 1000

3. Dentro de PgAdmin ejecutamos

COPY miesquema."XIMO01" (c1) FROM '/home/ximo/file01.txt'

y contesta

ERROR: invalid byte sequence for encoding "UTF8": 0xd1 0x41 CONTEXT: COPY EDU01, line 12 SQL state: 22021

Solución:

1. Pasamos el fichero con final de línea CRLF a LF :

 dos2unix -b file01.txt

2. Miramos que codificación tiene tiene el fichero

file file01.txt

y nos devuelve 

file01.txt: ISO-8859 text, with very long lines

hacemos la conversion a UTF-8 (ojo: el formato que acepta es ISO-8859-15 y no ISO-8859 !!!!)

iconv -f ISO-8859-15 -t UTF-8 < file01.txt > output01.txt

y ahora hacemos

COPY miesquema."XIMO01" (c1) FROM '/home/ximo/output01.txt'

y ya lo carga

miércoles, 27 de enero de 2021

martes, 19 de enero de 2021

ECLIPSE ERROR: The package javax.xml is accessible from more than one module: , java.xml

Antecedentes

1. Tengo un proyecto con tropecientas dependencias en Maveny no da problemas de compilacion.

2. Tengo el JDK 13 insalado

3. Tengo Eclipse 2020-12-02

4. Decido descargarme el JDK 15.0.1

5. En otro proyecto de otro Workspace, hago pruebas del JDK15 con un proyecto pequeño

6. Me creo otro Workspace y me copio el proyecto grande ahí.

7. Aparece el fatídico error


Por tanto tengo el antiguo Workspace que no da dicho problema y en cambio en el antiguo no da el problema.


8. Busco en StackOverflow y comenta algunas ideas:

   a. Hay una duplicidad de exportación de referencias   

   b. Hay una libreria que está incluida tanto en el JDK como en Maven


Solución 

1. Haciendo un click derecho sobre el proyecto y seleccionando "Properties", buscamos :

   a. En Java Build Path y hay 2 apartados (Modulepath y Classpath). Vemos qye el JRE System Library que está en Modulepath apunta a JavaSE-13. Lo editamos y que apunte al JDK 15

   b. En Java Compiler, arreglamos para que la version de java se la 15

   c. En Project Faces, dejamos la version 15 de java

2. Ahora hay que ver que en "properties" del pom.xml tenemos el valor 15 en maven.compiler.source y maven.compiler.target 

3. Ahora tras hacer un Maven-Clean y un Maven-Update project desaarece el fatídico error.


La causa del error, parece ser que es debida al conflicot de versiones de JDK 13 y JDK 15 que se ve que ha exportados librerioas de ambos JDK, quejandose de la duplicidad.

 


lunes, 18 de enero de 2021

Java 15 con Eclipse y Maven

 1. Indicar en el pom.xml en la sección de properties la propiedad maven.compiler.source y maven.compiler.source al valor 15.

Recordar que según Mkyong los valores posibles son ... 1.8, 1.9, 1.10, 10, 11, 12, 13...

<properties>
 
 <maven.compiler.source>15</maven.compiler.source>
 
 <maven.compiler.target>15</maven.compiler.target>

  ....

</properties>

2. En el pom.xml dentro de  <build> metemos

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <showWarnings>true</showWarnings>
          <showDeprecation>true</showDeprecation>
        </configuration>
      </plugin>
    </plugins>
  </pluginManagement>

  ....

</build> 

3. Con el boton derecho del ratón hacemos click sobre el proyecto y seleccionamos Java Compiler


Y pinchamos en Java Build path y le damos 2 clicks rápidos al JRE que tengamos marcado


Y marcamos el boton de Installed JREs


Le damos al botón Add ..


Y ahora a Standard VM y al botón Next


Y le damos la ruta de nuestro jdk


Seleccionamos y ya está


4. Ahora temos que actualizar el Project Faces dentro de propiedades seleccionando la version 15 de java.



Y le damos Apply and Close y ya está.










lunes, 11 de enero de 2021

A dibujar: Gimp (1) Introduccion

 1. Instalación

Vamos a seguir los pasos de Rahul.

Para ello hacemos:

1
2
3
sudo add-apt-repository ppa:otto-kesselgulasch/gimp
sudo apt-get update
sudo apt-get install gimp

 2. Característticas:

Según https://gimp.es tiene las siguientes características:

  • 3 formas de definir el color 
  • Selecciones múltiples
  • Herramientas de edición de imágenes (pinceles, aerógrafos...)
  • Un dibujo contiene varies Capas y cada capa contiene canales (rojo, verde, azul) 
  • Hay un 4º canal que es el canal alfa o "layer mask", para determinar la opacidad
  • Hay también capas de texto.
  • Efectos: Hay 150 efectos clásicos y filtros como sobra base (drop shadow), desenfoque (blur) i desenfoque de movimiento (motion blur)
  • Admite scripts en Python, C, C++ .. 
  • Formatos de archivo: XCF (original Gimp), BMP, JPEG, PNG, TIFF, HEIF, Auntodesk, PaintShop Pro y Adobe Photoshop, Postscript, X bitmap, XWD, PCX, SVG, ICO.
  • Importa PDF pero no guarda
  • Exporta a MNG, HTML, lenguaje C, arte ASCII
  • Plugin GAP para animaciones
  • Plugin GPS con muchos pinceles y automatización
  • Plugin Resynthesizer
  • Plugin G'MIC: Tiene muchos filtros

3. Pequeñas acciones

  • Crear un dibujo: Fichero - Nuevo - Se dan las dimensiones
  • Crear capa: Boton derecho sobre la parte inferior derecha (donde estan las propiedades de la capa) y duplicar o crear capa. si se crea una capa se puede decir que sea transparente, para que se pueda mezclar con lo que pintemos en las otras capas
  • Marcando la lupa y control podemos con el ratón ampliar o reducir la imagen