juliobm algunos videos algunas notas algunos scripts aprendiendo

Utilización RaspBerryPi en puestos de trabajo simples

Actualización septiembre 2017:
¡ NO UTILIZAR RASPBERRYS !
Si no quieres estar cada pocos meses con sustos porque dejan de funcionar debido a que se corrompen muy asiduamente el sistema de ficheros. Con solo uso de telnet hacia el ERP, he tenido que reinstalar RASPBIAN en las microSD en muchas pi’s.
Con tarjetas microSD casi todas de 16GB y de buena calidad, de varias marcas, Samsung, TDK, y otras.
Los modelos de raspberry da también lo mismo. Model B, 1 ,2 o 3. En cambio en puestos con pcs antiguos con Linux Mint, o Ubuntu, sin problemas. Mejor invertir en algo que no utilice microSD.

Edición en jul16:

Se trata de utilizar la Raspberry Pi 2 Model B para los puestos de almacén, que sólo requieren conexiones telnet hacia el servidor principal.

Por poco más de 50€ se tiene resuelto necesidades de esos puestos y sobre todo más controlados y con menos problemas de seguridad y administración que conllevan por ejemplo puestos Windows (administración, actualizaciones, antivirus, seguridad, etc..)

El usuario de estos puestos solo verán accesibles los puntos que necesite para su trabajo, eliminando así muchas opciones que no aportan nada en su dia a dia.

Se evita así también la cantidad de software innecesario cargado por defecto en los sistemas Windows.

Otro punto a su favor es el poco consumo (~5W), comparado con un puesto de sobremesa.

resultado

Esta guía me ha quedado larga pues incluyo algunas explicaciones, pero si se ejecutan directamante los pasos a seguir y copiando y pegando algunos ficheros, se puede configurar una raspberry completamente en menos de 5 minutos. Se trata de configurar e instalar:

INSTRUCCIONES INSTALACION RASPBERRY PI 2 MODEL B

Se puede volver a correr todo esto ejecutando $ sudo raspi-config

Con ello tendríamos un equipo con Raspberry completo que podría ya trabajar con Disfar, pero se trata de quitar más opciones (correo electrónico, juegos, cliente de email, etc..)

Menú personalizado para nuestra empresa con el entorno LXDE

Donde ponga MYMENU podéis poner el nombre de vuestra empresa.

1.- Vamos a sustituir todo el menu por defecto que viene en Raspbian con el entorno LXDE por uno personalizado.

LXDE es un entorno gráfico que permite configurar a nuestro gusto el menú y las aplicaciones que cuelgan de él, simplemente editando ficheros de texto. Es como si en Windows, el botón Inicio hiciéramos visible solo los puntos que quisiéramos.

LXDE en la raspberryPi tiene los ficheros que definen los menús en una carpeta especial. Vamos a copiar ese fichero a una carpeta local del usuario pi, para que prevalezca sobre el general. Una vez copiado podemos modificarlo según nuestras necesidades.

$ mkdir .config/menus
$ sudo cp /etc/xdg/menus/lxde-pi-applications.menu ./config/menus
$ nano .config/menus/lxde-pi-applications.menu (o el editor que se quiera)

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">

<Menu>

	<Name>Applications</Name>
	<Directory>lxde-menu-applications.directory</Directory>

	<!-- Read standard .directory and .desktop file locations -->
	<DefaultAppDirs/>
	<DefaultDirectoryDirs/>

	<!-- Read in overrides and child menus from applications-merged/ -->
	<DefaultMergeDirs/>
	
   <Menu>
      <Name>MYMENU</Name>
      <Directory>mymenu.directory</Directory>
      <Include>
         <And><Category>MYMENU</Category></And>
      </Include>
   </Menu>

	<Layout>
		<Menuname>Development</Menuname>
		<Menuname>Internet</Menuname>
		<Menuname>Games</Menuname>
		<Menuname>Accessories</Menuname>
		<Merge type="files"/>
		<Merge type="menus"/>
		<Separator/>
		<Menuname>Help</Menuname>
		<Separator/>
		<Menuname>DesktopSettings</Menuname>
	</Layout>

</Menu> <!-- End Applications -->


Con esto le hemos dicho que el único menú que queremos es el de MYMENU, pues hemos borrado todo lo demás.

2.- Ahora vamos a crear la existencia de ese menú.

Igualmente LXDE para raspberrypi tiene las entradas a los menús en la carpeta /usr/share/raspi-ui-overrides/desktop-directories. En ella tiene las entradas de los menús. En LXDE standard están todas en /usr/share/desktop-directories.

Vamos a crear nuestra propia carpeta del usuario pi que una vez más prevalecerá sobre el standard de LXDE, y crearemos en ella el fichero mymenu.directory, nuestro único menú que queremos que aparezca.

$ mkdir ./local/share/desktop-directories
$ nano ./local/share/desktop-directories/mymenu.directory

[Desktop Entry]
Encoding=UTF-8
Name=MYMENU
Type=Directory
Icon=mymenu.png

Explicación breve. En Name= el nombre del menu, en Type= le decimos que es un menú nuevo.

3.- Ahora los elementos que queremos de ese menú.

Cada punto dentro de los menús estan en LXDE en /usr/share/applications y en la raspberrypi en /usr/share/raspi-ui-override/applications y son ficheros con la extensión .desktop

Tal como hemos seguido hasta ahora no vamos a tocar los puntos generales de LXDE y vamos a crearnos los propios.

Para ello nos creamos nuesta carpeta, y allí pondremos nuestro puntos. Lo más fácil es copiar ficheros .desktop de las carpetas originales a las nuestras y modificarlos luego.

$ mkdir ./local/share/applications

Nos tenemos que crear tantos ficheros de texto como los que figuran abajo con la extensión .desktop

Pongo aquí un ejemplo para la conexión con servidor Disfar mediante el programa putty

$ nano ./local/share/applications/puttyGEO.desktop

[Desktop Entry]
Version=1.0
Name=GEO
GenericName=GEO
Comment=Aplicacion para saber geo, existencias, pedidos, etc
Type=Application
Exec=putty -load "geo"
Icon=putty
Categories=MYMENU;

Explicación breve. En Type= le decimos que es una aplicación, en Exec= se pone lo que queremos ejecutar, y en Categories= en qué menú queremos que aparezca este punto.

Para aplicaciones ya existentes en LXDE lo mejor es copiarlas de su lugar de origen a nuestro menu personalizado de aplicaciones y modificar solo el concepto Categories=

Pongo otro fichero en la misma carpeta a modo de ejemplo de esta guia. En este caso para que el usuario pueda utilizar la herramienta de la calculadora.

$ sudo cp /usr/share/applications/galculator.desktop ./local/share/applications
$ nano .local/share/applications/galculator.desktop

[Desktop Entry]
Version=1.0
Name=zGalculator
Comment=Perform simple and scientific calculations
Exec=galculator
Icon=galculator
Terminal=false
Type=Application
Categories=MYMENU;
StartupNotify=true

Lo único que modificamos en Categories= a MYMENU;

Podemos actualizar el panel y menú con

$ lxpanelctl restart

aunque es casi instantáneo ver los cambios según se hagan.

Referencias:

https://lkubaski.wordpress.com/2012/06/29/adding-lxde-start-menu-and-desktop-shortcuts/
https://lkubaski.wordpress.com/2012/11/02/adding-lxde-start-menu-sections/

FORMA RÁPIDA DE INSTALAR TODO LO ANTERIOR

Lo mejor es tener todos los ficheros resultantes de arriba en un puesto, y luego copiarlos a la nueva raspberry. Yo lo hago con el siguiente script

cd ~/Documentos/09-HARDWARE/RASPBERRYPI/LXDE
scp -r . pi@ip_nueva_raspberry:/home/pi

Dentro de la carpeta LXDE tengo los siguientes ficheros que se necesitan:

julio@nuc1 ~/Documentos/09-HARDWARE/RASPBERRYPI/LXDE $ ls -aR
.:
.   .config         disfarputty.sh  kbdisfar.sh  .putty                    zacofarva.png
..  disfarcolor.sh  disfar.sh       .local       zacofarva logo color.png
./.config:
.  ..  autostart  menus
./.config/autostart:
.  ..  x11vnc.desktop
./.config/menus:
.  ..  adding_zacofarva_lxde-pi-applications.menu  lxde-pi-applications.menu
./.local:
.  ..  share
./.local/share:
.  ..  applications  desktop-directories
./.local/share/applications:
.  ..  galculator.desktop  leafpad.desktop  mimeapps.list  puttyDISFAR.desktop  puttyGEO.desktop
./.local/share/desktop-directories:
.  ..  zacofarva.directory
./.putty:
.  ..  sessions
./.putty/sessions:
.  ..  a  geo  zacofarva  zacofarvazamora

PUTTY

Es el programa telnet que utilizaremos para conectarnos a Disfar (como el smarterm en simple)

$ sudo apt-get install putty

Ya está instalado. Ahora podemos copiar los ficheros de las sesiones ya creadas (por almacén o para determiandas funciones) en la siguiente carpeta.

$ mkdir .putty/sesiones

Para que funcionen las teclas de función PF1, PF2, PF3 y PF4 de Disfar hay que añadir kbdisfar.sh para que se ejecute al inicio de sesión del usuario pi.

$ nano .profile

sh ./kbdisfar.sh

Todo lo referente al Putty, sesiones y configuración de teclado aquí:
http://juliobm.github.io/2014/03/14/Putty-teclas-PF1-PF4.html

VNC

Para conectarnos al equipo por VNC aunque yo prefiero por SSH, reconozco que no he encotrado una forma más simple. Quizá probar con instalación de tightvnc

$ sudo apt-get install netatalk x11vnc
$ x11vnc -storepasswd

Para que se arranque al comienzo de cada arranque de sistema, hay que crear el siguiente fichero texto:

$ mkdir .config/autostart
$ nano ~/.config/autostart/x11vnc.desktop

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
Exec=x11vnc -forever -usepw -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false

Referencias:

http://dennistt.net/2013/09/15/raspberry-pi/

SAMBA

Es bueno poder disponer de una carpeta compartida en la red.

$ sudo apt-get install samba
$ sudo smbpasswd -a (le pongo la misma)
$ sudo cp /etc/samba/smb.conf ~

Edit the file “/etc/samba/smb.conf”

$ sudo nano /etc/samba/smb.conf

[KERMIT]  
path = /home/pi/KERMIT  
available = yes  
(#valid users = <user_name> no lo pongo)  
read only = no  
browseable = yes  
public = yes  
writable = yes  

$ sudo service samba restart

VARIOS

Otras preferencias

Todo lo siguiente sobra para nuestra instalación. Lo dejo aquí por consultas.

Formas manuales para el autologin y arranque en entorno gráfico

Esto queda aquí por culturilla general pues son

$ sudo raspi-config

se consigue lo mismo

autologin

$ sudo nano /etc/inittab
comentar @1:2345:respawn:/bin/getty 115200 tty1
añadir para el usuario pi
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1

autostart desktop LXDE

en /etc/rc.local
añadir linea antes del exit 0
su -l pi -c startx

mejor:
$ sudo raspi-config
Enable Boot to Desktop/Scratch
Desktop Login as user pi at the Graphical Desktop
Finish y reboot