"Después del juego es antes del juego"
Sepp Herberger

Mostrando entradas con la etiqueta ubuntu bionic. Mostrar todas las entradas
Mostrando entradas con la etiqueta ubuntu bionic. Mostrar todas las entradas

martes, 17 de diciembre de 2019

Jkiwi en Ubuntu Bionic 18.04

Ya hicimos funcionar la aplicación de maquillaje y estilismo capilar jkiwi para una arquitectura de 64 bits aquí.

Cuando me han pedido instalarla en Ubuntu 18 me he encontrado con que da error de dependencias porque no encuentra la máquina virtual java. Necesita uno de los siguientes paquetes: sun-java6-jre | sun-java5-jre | icedtea-java7-jre | openjdk-6-jre para funcionar y al no encontrarlos se aborta la instalación.

El motivo es que en Ubuntu 18.04 el paquete con la máquina virtual java es openjdk-8-jre, que no existía cuando se creó el .deb de jkiwi. La solución pasa por editar el paquete .deb y añadir la dependencia de openjdk-8-jre.

El paquete .deb lo modificamos tal como contamos aquí:
# dpkg-deb  -R jkiwi_0.9.5_all.deb jkiwi
En jkiwi/DEBIAN/control hay que modificar la siguiente línea, añadiendo la parte en negrita:
Depends: sun-java6-jre | sun-java5-jre | icedtea-java7-jre | openjdk-6-jre | openjdk-8-jre
Y luego reconstruimos el paquete:
# dpkg-deb -b jkiwi/ jkiwi_0.9.5_all.deb
El recién creado jkiwi_0.9.5_all.deb (puedes descargarlo de aquí) es el que ya podremos instalar (en mi caso lo he metido en mí repositorio local para instalarlo mas cómodamente) al tener su dependencia openjdk-8-jre cumplida. La aplicación funciona perfectamente con este openjdk, aunque sea muy posterior a la propia aplicación.

viernes, 23 de noviembre de 2018

Error al actualizar desde mirrors locales de Ubuntu Bionic

Tras crear un mirror local en mi red de los repositorios de Ubuntu Bionic, Google y alguno más siguiendo las indicaciones de nuestro compañero Esteban me he encontrado con que al hacer "apt-get update" en los clientes me saltaba el error de que no podía descargar el fichero:
http://servidor/html/archive/ubuntu/dists/bionic/main/dep11/icons-48x48.tar
Lo cual es una sorpresa ya que "dep11" no es una rama que yo haya incluido en el mirror, ya que solo puse a bajar las ramas amd64 e i386. La causa es al parecer algo que trae el paquete appstream y la solución es borrar mediante puppet el fichero:
/etc/apt/apt.conf.d/50appstream
en todos los PC clientes. De esta manera ya podemos actualizar los puestos a una velocidad más razonable desde dentro de nuestra red.

martes, 23 de octubre de 2018

Scratch 2 en local para Ubuntu 18 Bionic

En Ubuntu 14 instalaba y ejecutaba Scratch 2 de forma local usando la guía de mi compañero Esteban.

Como este curso hemos tenido algún problema de conexión a Internet me pidieron instalarlo de nuevo de forma local en Ubuntu Bionic. Siguiendo el manual anterior me encontré que la parte "airinstall /root/Scratch-445.air" se paraba con el error:
No se ha podido instalar la aplicación de Adobe AIR. No se han encontrado herramientas Debian para crear paquetes deb (como dpkg-deb o ar) en el sistema.
Evidentemente tengo tanto dpkg-deb como ar instalados. Buscando en Internet en el blog de diocesanos.es encontré la solución. No se sabe cual es la causa de error, pero ahí se hacen eco de un workaround que mete Scratch-445.air de forma indirecta usando el SDK de Adobe AIR. De esta manera nos da igual que airinstall no funcione: no se usa y ya está.

En el blog proponen un script que descarga con wget todo lo necesario y lo instala. Como yo quería hacerlo en muchas máquinas no me interesaba descargar en cada instalación todos los ficheros requeridos, por lo que los he descargado previamente una sola vez y los he puesto junto con el script de tal forma que el directorio queda:
-rw-r--r-- 1 root root 37489410 oct 23 10:10 AdobeAIRSDK.tbz2
-rw-r--r-- 1 root root     1059 oct 23 10:10 adobe-air.tar.gz
-rwxr-xr-x 1 root root     2133 oct 23 11:26 scratch2-bionic.sh
-rw-r--r-- 1 root root 60491365 jul  5  2017 Scratch-456.0.4.air
Y he retocado el script para que no descargue nada. Poniendo todos estos ficheros en un lugar común (por ejemplo la carpeta /home/instituto/scratch2 de nuestra red) basta con entrar por ssh en el pc del usuario y hacer:
# cd /home/instituto/scratch2
# ./scratch2-bionic.sh
Para instalarlo de forma local. Para su ejecución ya no dependemos de Internet: sólo habrá que buscarlo en el menú de aplicaciones del escritorio para lanzarlo o sacar un acceso directo a escritorio.

Todos los ficheros necesarios se pueden descargar de aquí.

lunes, 10 de septiembre de 2018

Ejecutar un script que necesita conexión de red al apagar la máquina en Ubuntu 18

Ya estamos de vuelta del veranito con las pilas cargadas, vamos al lío: me interesa ejecutar un script cuando las máquinas estén apagándose o reiniciándose pero es importante que durante la ejecución del mismo todavía hubiera red, ya que el script hace conexiones hacia fuera.

Anteriormente con init.d esto lo hacíamos poniendo el script en /etc/rc6.d, pero con Ubuntu 18 y systemd eso se ha acabado. Ahora debemos hacerlo creando un servicio:
# cat /etc/systemd/system/apagado.service 
[Unit]
Description=Script para ejecutar en apagado
Requires=network.target
After=network.target
Before=shutdown.target reboot.target halt.target
DefaultDependencies=no

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/bin/bash /root/apagado.sh

[Install]
WantedBy=multi-user.target
Los parámetros Requires/After/Before establecen las dependencias y precedencias con las que se ejecutará el script /root/apagado.sh, que es donde tenemos nuestro código.

Una vez definido el servicio lo activamos con:
# systemctl enable apagado.service
Después reiniciamos la máquina y a partir de ahora el script /root/apagado.sh se ejecutará en cada shutdown/reboot.



martes, 17 de julio de 2018

Multiseat en Ubuntu 18

Tras 2 añitos con multiseat en varias ubicaciones del centro puedo afirmar que son un éxito de crítica y público. Se usan a diario sin mayor problema, habiendo desaparecido la confusión inicial del usuario al ver que hay un solo PC para dos tríadas de monitor, teclado y ratón. Sacamos 2 puestos de trabajo totalmente operativos de dónde solo había un único PC con el único gasto de comprar una tarjeta VGA barata de menos de 40 euros.

Tengo incluso una anécdota de un usuario que me decía que tenia problemas en su PC y señalaba hacia un espacio vacío para referirse a él (donde estaba su antiguo PC hasta que sustituí ambos por uno con multiseat), ya que tenia interiorizado de que el PC que había en la mesa era el de su compañero de despacho y que él no tenía una máquina física a la que aporrear cuando fallaba algo.

Todo el montaje lo tratamos en la serie de artículos parte 1, parte 2 y parte 3.

Con el cambio a Ubuntu 18 temía que esto no funcionase o fuese a dar problemas nuevos. Pues no casi todo lo antiguo vale, la única parte que hay que saltarse porque ya no es necesaria está en el primer artículo, bajo el epígrafe "2. Preparando el entorno", en los párrafos que hablan de añadir un repositorio ppa y actualizar paquetes desde él. Es decir, en Ubuntu 18 debemos ignorar la parte:

Bueno, pues para preparar esto tenemos que empezar añadiendo un repositorio ppa:
# sudo add-apt-repository ppa:ubuntu-multiseat/ppa
Que nos añadirá:
# cat /etc/apt/sources.listd.d/ubuntu-multiseat-ppa-trusty.list 
deb http://ppa.launchpad.net/ubuntu-multiseat/ppa/ubuntu trusty main
# deb-src http://ppa.launchpad.net/ubuntu-multiseat/ppa/ubuntu trusty main
Y actualizamos los paquetes, especialmente los relaciones con las X para soporte multiseat :
# sudo apt-get update
# sudo apt-get upgrade

De hecho si intentamos realizar los pasos anteriores veremos que fallan porque no hay paquetes para Ubuntu 18 Bionic, ya que la última versión es para Ubuntu 16. No se muy bien que ha pasado, pero asumo que lo que implementaba ese repositorio se ha integrado en la paquetería oficial de Ubuntu.

Por tanto sólo haremos la parte:

Tambien hay que editar
# # cat /etc/lightdm/lightdm.conf
[LightDM]
logind-load-seats=true
Para que lightdm reconozca la configuración de los seat y abra una sesión en cada monitor, con todo el hardware asociado.

Tampoco viene mal quitar el paquete light-locker. Hemos observado que produce pantallas en negro y bloqueos especialmente en el seat secundario. Si tenemos pkgsync lo mejor es ponerlo en maynothave.

El resto se hará igual a como se relata en los artículos de hace dos años. De hecho, si guardamos los ficheros creados en /etc/udev/rules.d de Ubuntu 14 seguramente podamos copiarlos a Ubuntu 18 sin problemas, aunque yo he preferido hacerlo todo a mano para controlar mejor el proceso.

Bueno, pues un quebradero menos de cabeza.