asrob-uc3m / impresoras-asrob

Incidencias de impresoras y ficheros de configuración
http://wiki.asrob.uc3m.es/printers/
7 stars 3 forks source link

Se debe configurar y documentar configuración PC nuevo de Blacky #2

Closed jgvictores closed 6 years ago

jgvictores commented 8 years ago

Se están configurando los PCs nuevos de Blacky e Hija Resurrection (véase 1 y 2). Tareas pendientes:

Siotma commented 7 years ago

Este PC tiene Lubuntu, tal y como se explica en el manual de mantenimiento. En el mismo manual también se especifica que tiene instalado el siguiente software:

En definitiva, solicito ayuda de alguien experimentado con este sistema operativo que nos pueda ayudar a dejar los programas funcionando sobre este sistema operativo que, por cierto, creo que es un gran acierto ya que la sesión de invitado se autodestruye al salir, lo que va en la línea de su utilidad.

David-Estevez commented 7 years ago

Me dio la sensación de que Repetier se instaló, pero no generó iconos de acceso directo. Porque cuando lo probamos arrancaba.

Siotma commented 7 years ago

Perdón, no he sido todo lo explicativo que debería: Efectivamente, corrimos el Script de instalación de Repetier, y llegó a iniciarse. Incluso conectó con la impresora una vez. Sin embargo, poco después de irte, de repente crasheó y se cerró solo. A partir de ese momento, Repetier no duró abierto más de 5 segundos antes de cerrarse súbitamente... De ello desprendo que la instalación no fue correcta...

David-Estevez commented 7 years ago

Vale, en ese caso sí que habría que echarle un ojo...

Siotma commented 7 years ago

Me imagino que la manera más rápida de echarlo a funcionar sería conectar el ordenador a internet y que descargue todos los paquetes que vaya necesitando, el script de la instalación decía que había algo desactualizado en el sistema, el Mono creo, que no sé lo que es. No debe ser muy difícil, pero de verdad que yo soy un negado y no quiero hacerlo mal...

Googleando he encontrado esto, lo dejo por aquí para no perderlo. https://www.repetier.com/documentation/repetier-host/rh-installation-and-configuration/

Poner en marcha ese ordenador implicaría tener una impresora totalmente operativa, ya que Hija Resurrection podría donar su espejo hasta que reparemos su calentador.

David-Estevez commented 7 years ago

Para conectarlo se me ocurren dos formas:

PD: Mono son las librerías que permiten ejecutar programas .NET (cosas de Windows).

Siotma commented 7 years ago

Yo había pensado en algún pincho WiFi y conectarlo a la red abierta de la universidad.

Vale, pues si necesita esas librerías para funcionar, y las que tiene no le valen, normal que crashee.

Igual que antes, dejo por aquí algo de info que he encontrado: http://www.mono-project.com/docs/getting-started/install/linux/

David-Estevez commented 7 years ago

Tiene pinta de ser eso, le hacen falta las Mono y se las intenta descargar, pero como no tiene red no puede, y por eso crashea.

Lo del pincho es una buena idea, pero si no lo pilla porque le faltan los drivers no hay interné para bajárselos :sweat_smile: Como es sencilo de probar, sería cosa de intentarlo como primera opción y si no funciona probar con las que he puesto antes.

Siotma commented 7 years ago

Lamento no haberlo comunicado antes, el trabajo realizado con el PC de Blacky realizado el día 21 de febrero se puede encontrar en #11 , concretamente aquí.

Siotma commented 7 years ago

Hoy se ha completado la instalación de Repetier. Ahora mismo se puede lanzar tanto desde la sesión de ASROB como desde la de invitado. Sin embargo, aún no es funcional en la cuenta de invitado. Tal y como se ha mencionado en #11, el sistema operativo no permite a la sesión de invitado acceder a los puertos serie. Este es el último paso necesario para que la impresora se pueda utilizar por externos. @jgvictores habla de "crear un fichero rules de udev (por no meter un chmod cutre)"

David-Estevez commented 7 years ago

¿Y no se podrá resolver añadiendo al usuario invitado al grupo dialout? (como hay que hacer con el IDE de Arduino para poder programar las placas sin sudo)

jgvictores commented 7 years ago

Metí un /etc/udev/rules.d/80.guest-printer.rules:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GROUP="dialout", MODE="0666"

Y ya conecta desde guest!

Siotma commented 7 years ago

En relación al comentario de @David-Estevez , resaltar el detalle de que la cuenta de invitado se crea una distinta cada vez que se inicia sesión, con distinto nombre de usuario. Por ello no hay ningún usuario al que añadir al grupo, sino que debe ser hecho en cada inicio de sesión. Así pues la solución de @jgvictores es maravillosa.

David-Estevez commented 7 years ago

no tenía ni idea, gracias por la aclaración!

Siotma commented 7 years ago

Problemas encontrados con el PC durante la mañana de hoy:

  1. La sesión de invitado no puede ver los perfiles de Slic3r ni de CURA creados por la sesión de ASROB, por tanto no se puede imprimir con ellos como invitado. Especifico el problema: a. La sesión de invitado sí puede lanzar Repetier. b. La sesión de invitado sí puede conectar Repetier con la impresora. c. La sesión de invitado sí pude lanzar Slic3r desde Repetier. d. La sesión de invitado NO puede utilizar los perfiles creados previamente por el usuario ASROB para Slic3r. e. La sesión de invitado sí pude imprimir si previamente se le cargan unos ajustes manualmente.

Idealmente, la sesión de invitado debería poder VER y UTILIZAR los perfiles de Slic3r y/o CURA creados y afinados para Blacky, es decir, permisos de lectura, pero no MODIFICARLOS, es decir, de escritura.

  1. El PC de Blacky se puede utilizar sin problemas para imprimir usando la sesión de ASROB pero durante la impresión, la sesión se bloquea automáticamente pasado un tiempo. Esto no afecta a la impresión, que continúa aunque la sesión esté bloqueada.
  2. Al desbloquear la sesión, el PC de Blacky se ha quedado pillado con la pantalla en blanco permanente, aunque la impresión no se ha detenido. En una segunda ocasión, la pantalla ha empezado a emitir luces de discoteca.

Así pues, propongo lo siguiente:

Edit: he metido manualmente los ajustes con un .ini en la cuenta de invitado y ahora mismo está imprimiendo. De modo que cada vez estamos más cerca de conseguirlo.

Edit2: en modo invitado, si la sesión se bloquea es imposible recuperarla, aunque la impresión no se para.

Edit3: el problema encontrado con Slic3r se reproduce con Cura también.

Siotma commented 7 years ago

Documentación gráfica para el post anterior:

Pieza impresa con la sesión de ASROB (hubo un problema de adhesión a la cama, pero ninguno relacionado con el PC): pieza_sesion_asrob

Pieza impresa con la sesion de invitado: pieza_sesion_invitado

Vídeo del ordenador de Blacky frito con luces de discoteca (perdón por el ZIP, pero GitHub no me deja adjuntar el vídeo tal cual): PC_Blacky_frito.zip

Siotma commented 7 years ago

Hoy, @David-Estevez y yo hemos estado intentando enlazar las sesiones de ASROB e invitado con éxito parcial.

Hemos descubierto que existe un script (no recuerdo ahora mismo la ruta ni el nombre) que se ejecuta con cada inicio de sesión de la sesión de invitado. Este script se puede modificar con permisos de sudo y añadir los pasos necesarios para enlazar la configuración de Repetier y Slic3r con la sesión de invitado mediante archivos .ini Además, también se puede utilizar este script para confeccionar el escritorio de la sesión de invitado de manera que aparezcan por defecto algunas cosas como el acceso directo a Repetier o una carpeta con piezas de ejemplo.

Poco a poco, vamos avanzando.

Siotma commented 7 years ago

Hoy tenemos reunión de Printer One ( #12 ) y mi idea es retomar lo dicho en el último comenario. Si podéis pasaros @David-Estevez o @jgvictores durante la tarde para repasar esto sería genial.

David-Estevez commented 7 years ago

Como ya hemos quedado esta tarde en la nave, os puedo echar un cable cuando terminemos la reunión con Javi

Siotma commented 7 years ago

Creemos que el tema está en copiar los archivos values.xml

Imagen

Se puede añadir código en el script guest-session-auto.sh que está dentro de la carpeta usr/lib/lightdm para realizar las copias siempre que se inicie sesión.

David-Estevez commented 7 years ago

y no se podría copiar directamente el registry del repetier de un user a otro? y así dejamos de tener que controlar tanto archivo suelto...

Siotma commented 7 years ago

No sé lo que es el registry... pero cualquier prueba es bienvenida! :D

Yo creo que todos tenemos claro el objetivo: Que la sesión de invitado inicie Repetier con todo listo para darle al botón de Slic3r y al de imprimir y funcione.

La forma de conseguirlo, es lo que estamos buscando y, por cierto, el primero que lo consiga, se llevará una gran admiración general 🤣

David-Estevez commented 7 years ago

Seguramente no me expliqué bien. Quería decir la carpeta repetier de dentro de la carpeta registry de mono (que según la imagen que has puesto parece que contiene todos los archivos values.xml)

Imagino que esta carpeta lo que hace es emular el registro de Windows, que no existe en GNU/Linux.

Siotma commented 7 years ago

Ah, comprendo, sí sí, totalmente de acuerdo. Yo incidí en los archivos xml porque son lo realmente importante pero obviamente una sola copia de la carpeta repetier cumple con todos los requisitos.

Siotma commented 7 years ago

Hoy, he conseguido darle vida a la sesión de usuario, tras echarle unas cuantas horas.

Voy a describir lo que he hecho para que no se me olvide. La intención es que se pueda programar un script que lo haga todo automáticamente, pero para eso hoy no tengo tiempo ni conocimiento. Ahí va:

  1. Para funcionar, Repetier necesita 3 carpetas:
  1. Las carpetas anteriores deben copiarse a una intermedia a la que tenga acceso la cuenta de invitado. En nuestro caso estamos usando /usr/share/asrob . Esta carpeta es adecuada porque el invitado no tiene permisos de escritura, solamente se puede alterar desde la sesión de administrador y haciendo sudo.
Nombre del campo Nombre del archivo Ruta del archivo
lastLoadGCodeFolder values.xml ~/.mono/registry/CurrentUser/software/repetier
lastLoadModelFolder values.xml ~/.mono/registry/CurrentUser/software/repetier
workdir values.xml ~/.mono/registry/CurrentUser/software/repetier
soundTemperature values.xml ~/.mono/registry/CurrentUser/software/repetier/window
soundSoundCommand values.xml ~/.mono/registry/CurrentUser/software/repetier/window
fileHistory values.xml ~/.mono/registry/CurrentUser/software/repetier/window
soundError values.xml ~/.mono/registry/CurrentUser/software/repetier/window
soundPrintPaused values.xml ~/.mono/registry/CurrentUser/software/repetier/window
soundPrintFinished values.xml ~/.mono/registry/CurrentUser/software/repetier/window
  1. Dichas carpetas deben copiarse a la carpeta local del invitado, mediante las siguientes instrucciones al final del script guest-session-auto.sh, que es el que crea la sesión de usuario y está localizado en /usr/lib/lightdm ; mediante el código:

    # cp -r /usr/share/asrob/RepetierHost ~/.local/share/ #en principio solo para cura mkdir -p ~/.mono/registry/CurrentUser/software cp -r /usr/share/asrob/repetier ~/.mono/registry/CurrentUser/software cp -r /usr/share/asrob/.Slic3r ~/

Ahora mismo la sesión de invitado es funcional para imprimir! 🎉

Siotma commented 7 years ago

Tal y como comenta @pamarinp en https://github.com/asrob-uc3m/impresoras-asrob/issues/12#issuecomment-306917681 , la sesión de invitado tiene activado el auto log-out. Esto hace que sea técnicamente imposible volver a la sesión ya que si se inicia de nuevo como invitado creará otra cuenta distinta. Aunque la impresión sigue funcionando, el Repetier desaparece de la pantalla por lo que no es posible realizar tareas básicas como cancelar o parada de emergencia.

Habría que buscar la línea de comandos necesaria para desactivar el auto logout y añadirla al script de creación de la sesión de invitado guest-session-auto.sh.

Siotma commented 7 years ago

En la reunión de Printer One de la semana pasada, se añadió una línea adicional al script para desactivar al auto-logout; export TMOUT=0, tal y como aparece con una búsqueda rápida en Google.

Sin embargo, hoy, @davidvelascogarcia y yo hemos descubierto tras varias pruebas, que esta línea no cancela los temporizadores, que mantienen su valor por defecto (ver foto), por lo que no es válida por si sola. temporizadores por defecto

Hemos localizado el comando que controla los temporizadores en el fichero tmp/guest-xxxxx/.config/autostart/screensaver-settings.desktop (ver foto) y hemos añadido una nueva línea que los cancela xset s 0 dpms 0 0 0 en el script de creación de la sesión de invitado guest-session-auto.sh. Con esta nueva línea, los temporizadores se desactivan correctamente y el auto-logout ya no salta nunca.

localizado_fichero_temporizadores

En esta issue hay actualmente toda la información necesaria para configurar el PC por lo que ya se puede comenzar con la configuración del PC de Hija Resurrection (ver #3 ).

Únicamente quedan dos mejoras que hacer al script, desde mi punto de vista:

Además, quedaría automatizar la exportación de los perfiles desde la sesión de administrador hasta la sesión de invitado, mediante un script tal y como indiqué en este mensaje: https://github.com/asrob-uc3m/impresoras-asrob/issues/2#issuecomment-306881958

David-Estevez commented 7 years ago

No sé si esto está hecho ya o no, pero creo que sería bueno tener una copia del script guest-session-auto.sh y de todos los archivos de configuración que se hayan modificado en este repo por si las moscas.

davidvelascogarcia commented 7 years ago

@David-Estevez El Script guest-session-auto.sh, ya está disponible en el repositorio en el apartado de Blacky, con un añadido además en el readme.txt, comentando la funcionalidad del Script. El Script se encuentra en el ordenador que controla la impresora Blacky, pero a su vez, dado que se ha clonado el disco duro de este ordenador al nuevo ordenador que controlará Hija Resurrection, también se encuentra incorporado en ese.

davidvelascogarcia commented 7 years ago

Tras haberlo consultado con @Siotma , podría ser una buena incorporación de seguridad, realizar un backup del sistema operativo con todos los programas instalados y configuraciones en el estado actual, en formato ISO. En caso de suceder cualquier tipo de problema con alguno de los ordenadores, dado que son clones, se podría re instalar rápidamente para que volvieran a ser funcionales en el menor tiempo posible.

David-Estevez commented 7 years ago

Ocupa mucho la ISO del PC?

jgvictores commented 7 years ago

En todo caso, recomiendo fsarchiver (fsa), pese a que en RobotDevastation tiremos por dd. :smile:

davidvelascogarcia commented 7 years ago

@David-Estevez , creo recordar que con el S.O, datos y configuraciones ocupaba al rededor de 8 GB. Podría servir para luego hacer re-instalaciones desde un USB booteable, o desde un DVD de doble capa. @jgvictores , sí, además con fsarchiver, no habría ningún problema de licencias al ser open source, y con el añadido de que el resultado lo da en un fichero comprimido. Lo único, como puede dar problemas al hacer un backup desde una unidad montada, habría que usar otro PC de apoyo como con el clonado de disco de Blacky a Hija Resurrection, pero no debería de durar más de 30 minutos el proceso,

David-Estevez commented 7 years ago

Siendo 8GB, sí se podría tener el backup y además tenerlo subido a algún sitio online. (Incluso, a unas malas, subirlo al drive de ASROB en UC3M que tiene espacio infinito).

Gran trabajo, @davidvelascogarcia !! :clap: :clap:

jgvictores commented 7 years ago

como puede dar problemas al hacer un backup desde una unidad montada, habría que usar otro PC de apoyo como con el clonado de disco de Blacky a Hija Resurrection, pero no debería de durar más de 30 minutos el proceso

Lo habitual es arrancar de una distro Live (cualquier USB instalador de Ubuntu Xenial o anterior), y hacer el fsa/dd/etc desde ahí. Sobre todo, para no tener que estar conectando/desconectando discos duros. :-)

davidvelascogarcia commented 7 years ago

@David-Estevez Si, pienso lo mismo, en un disco duro, DVD o USB, podría acabar perdiéndose. Había pensado que junto al Drive, subirlo al github, pero desconozco la capacidad ahora mismo. Por tenerlo en varios sitios. @jgvictores Totalmente de acuerdo, y así hay menos complicaciones. Ayer tuvimos problemas al bootear desde USB, aunque la placa lo permite. De todos modos acabo de acordarme de que tengo varias distritos de Ubuntu live en DVD RW, por lo que podría llevarlas y añadir alguna versión particular para estar seguros de poder hacerlo a la primera.

David-Estevez commented 7 years ago

Quizá https://git-lfs.github.com/ ? O el SVN de ASROB, @jgvictores ?

jgvictores commented 7 years ago

My preferences, de más a menos:

  1. https://git-lfs.github.com/ suena bien, a ver si lo podemos usar.
  2. Directamente como fichero (sin SVN tan siquiera) en https://sourceforge.net/projects/asrob/files/?source=navbar
  3. Ojo que he metido ficheros enormes sin problema en SVN, así que en SVN de https://sourceforge.net/projects/asrob
  4. Y ya lo peor, tirar de algo del server que a fecha de hoy aloja asrob.uc3m.es (del que me gustaría dejar de depender).
davidvelascogarcia commented 7 years ago

@Siotma En la sesión de hoy, se ha comenzado el proceso de backup del sistema operativo, aplicaciones y configuraciones con el fin de generar una ISO con la cual restaurar los ordenadores, aprovechando la ventaja de ser clones, en caso de que surgiera cualquier tipo de problema. En un inicio, se comenzó con la carga de un DVD Live, distro Ubuntu 14.04 i686 x32 bit, así como añadió el repositorio de manera temporal con el fin de instalar el fsarchiver del mismo modo. Sin embargo, al no encontrar el packcage, se procedió con el método secundario, la creación de copia desde las unidades de disco, encontrando a su vez el error de ficheros. Por último, se procedió con un método funcional desde el terminal, la generación de una copia con el comando dd. El proceso de copiado, tuvo que detenerse, dado que en ese método se desconocía el porcentaje de progreso, el cual al finalizar se descubrió que era de aproximadamente el 50%, a costa de un largo tiempo. Aprovechando la sesión del día de mañana para organización y limpieza, dado que los equipos estarán disponibles, y no se requerirá de supervisión de los mismos, se procederá con el backup en segundo plano. Para evitar inconvenientes, se ha buscado un sustituto también en CD Live, también Open Source, concretamente, Clonezilla, que permitirá realizar el backup en formato ISO, y así será más sencilla su reinstalación. Tras haber consultado los manuales del software, en principio mañana no deberían de surgir problemas adicionales, y podría guardarse el backup en los servidores.

Morgloz commented 7 years ago

Hay un par de opciones para monitorizar el comando dd, en la próxima reunión las explico

jgvictores commented 7 years ago

De memoria, diría que ddrescue con alguna opción verbose -v, aunque también había hacks de consola sobre dd. fsarchiver, pese a que Clonezilla no está mal, me sigue pareciendo la mejor opción. En trusty (14.04) simplemente hay que tener activados loa repositorios Universe, ¿podéis comprobarlo?

David-Estevez commented 7 years ago

A dd le puedes mandar una señal SIGUSER1 para que te muestre el progreso.

Conociendo el PID del proceso, es tan sencillo como:

kill -USR1 PID

El PID lo puedes conseguir con un:

pgrep dd

David-Estevez commented 7 years ago

Fallo mío, confundí "close" con "cancel" :sweat_smile:

davidvelascogarcia commented 7 years ago

@jgvictores @Siotma @David-Estevez En la sesión extraordinaria de ayer, en paralelo con la limpieza y organización, se continuó con el proceso de backup, esta vez de forma exitosa. Dado que ayer aún no entendía del todo bien, como emplear fsarchiver, con vistas a una medida temporal, hasta entender como emplearlo procedí con el backup desde Clonezilla. Se realizó el backup del PC de Hija Resurrectión, posteriormente, tras cambiar el lector del DVD del ordenador antiguo de Hija Resurrection al de Blacky dado que este lector estaba dañado, se procedió con el backup de Blacky. Tras comprobar que en PC de Blacky funcionaba con ambas impresoras correctamente, y con el fin de probar que funcionan correctamente los backups, y aprovechando que son clones, se restauró el PC de Hija Resurection con el backup de Blacky, sin dar ningún problema. Actualmente ambos ordenadores controlan sin problemas ambas impresoras en modo administrador, por otro lado en modo invitado Blacky controla ambas, pero Hija Resurrection, solo la impresora de Blaky y no la de Hija Resurrection. En la próxima sesión se podría realizar el backup adicionalmente con fsarchiver, que había sido la primera idea, dado que he conseguido entender un poco mejor el funcionamiento. De todos modos, por seguridad podría guardarse además el backup hecho con Clonezilla que solo ocupa 2.1 GB. He intentado subirlo a sourgeforge, pero no tengo usuario ASROB en esa plataforma, por otro lado, en https://git-lfs.github.com/ , no entiendo muy bien como hacerlo. De momento he optado por subirlo al drive de alumno de la universidad, por si hubiera un drive de ASROB, pasarlo directamente o compartirlo. Por cierto, he documentado el ANEXO 3 y el ANEXO 4 explicando con detalle el proceso de backup y de restauración en el manual de mantenimiento, y en la carpeta de backup de impresoras hecho un índice para redirigir a la descarga cuando este del backup y los anexos. Quedo a la espera de vuestra respuesta. Un saludo.

Siotma commented 7 years ago

Añadir que la imagen ya se encuentra en el Drive de ASROB (dominio UC3M) y se ha enlazado desde el repo vía 4679c574c4e6e30baf7de19aec925fd5b912a3cf .

Siotma commented 7 years ago

A mi ver, lo único que queda para tener los ordenadores perfectamente configurados es que la sesión de invitado se inicie con un par de cosas en el escritorio:

jgvictores commented 7 years ago

Re @davidvelascogarcia

He intentado subirlo a sourgeforge, pero no tengo usuario ASROB en esa plataforma, por otro lado, en https://git-lfs.github.com/ , no entiendo muy bien como hacerlo.

Si te creas un usuario en sf.net, te puedo agregar al proyecto.

Re @Siotma

Un accceso directo a Repetier, con logo y todo, para que se vea bien.

En robotDevastation, usamos un .desktop en ~/Desktop: véase robotDevastation.desktop que a su vez enlaza con el icono 64x64 (que debería instalarse en otro lado, pero así nos es más cómodo por cómo está montado).

Siotma commented 7 years ago

Sí, el .desktop de Repetier ya existe, lo crea automáticamente con la instalación. La cosa es sacar un ratillo para configurar el script del inicio de sesión para que se copie en el escritorio. Gracias aún así por el apunte!

davidvelascogarcia commented 7 years ago

@jgvictores He creado el usuario en Sourceforge. El nombre de usuario es davidvelascogar. Link: https://sourceforge.net/u/davidvelascogar/profile/

Un saludo y gracias.

jgvictores commented 7 years ago

Añadido!