Raspberry


Cambiar Contraseña en Raspbian

publicado a la‎(s)‎ 21 jul. 2017 7:20 por Juan Jose Ramirez Lama

Basta con ejecutar los siguientes comandos
sudo raspi-config
sudo passwd root
sudo passwd pi
sudo passwd [usuario] #donde [usuario] es cualquier otro usuario en el sistema

Poner Raspbian en Español

publicado a la‎(s)‎ 8 sept. 2016 4:43 por Juan Jose Ramirez Lama

Después de instalar nuestro Raspbian la distribución viene por defecto en ingles, tanto el teclado como el sistema, por lo que a continuación te indico el proceso para pasar todo al español.

Abre una consola (local o por SSH si lo tenemos activado). Recuerda, usuario pi y contraseña raspberry.

Cambiar la Codificación de Idioma.

Ejecuta el comando 
sudo dpkg-reconfigure locales
Aparecerá una lista de las codificaciones disponibles.
  • Busca español de Chile (es_CL), preferiblemente con codificación UTF-8 y pulsa la barra espaciadora para seleccionarlo. 
  • Se recomienda no eliminar el inglés de Reino Unido, aunque es una opción personal. Pulsa Enter para continuar.
  • Selecciona el idioma predeterminado de entre los que has marcado antes (es_CL.UTF-8) y pulsa Enter. Se generarán los locales.

Cambiar la Distribución del Teclado

Lo primero que tenemos que hacer para añadir el idioma que de nuestro teclado es abrir una terminal como root y ejecutar el siguiente comando:
sudo dpkg-reconfigure keyboard-configuration
En mi caso elegí PC configuración de 105 teclas y luego español latino.

Elegir la zona horaria

sudo dpkg-reconfigure tzdata
Selecciona America y después Santiago o la zona horaria en la que te encuentres.

Si además tienes instalado xrdp para acceso remoto desde un PC con Windows y quieres configurar el teclado en xrdp, descarga el fichero km-040a.ini [1] y muevelo a la carpeta /etc/xrdp

Por último, reinicia para aplicar todos los cambios 
sudo reboot


Instalar entorno gráfico Mate en Raspbian

publicado a la‎(s)‎ 20 jul. 2016 13:44 por Juan Jose Ramirez Lama   [ actualizado el 20 jul. 2016 14:08 ]

Una vez instalado nuestro sistema en la RBPi, proseguimos a instalar un entorno gráfico bastante atractivo y que corre bastante bien es este dispositivo.

Abrimos la terminal y editamos el archivo "/etc/apt/sources.list"
sudo nano /etc/apt/sources.list
y agregamos (si es que no esta) la siguiente línea:
deb http://archive.raspbian.org/mate jessie main
Guardamos el archivo y actualizamos los repositorio:
sudo apt-get update
Ahora instalamos el entorno
sudo apt-get install mate-core lightdm
Luego de un tiempo, estará el entorno instalado.

Lanzar el entorno manualmente

Si como yo, tienes configurada tu raspbian para que no inicie el entorno gráfico automáticamente, deberás hacer lo siguiente para iniciarlo:

Primero debemos crear/editar el siguiente archivo
nano ~/.xinitrc
y añadir al final la siguiente línea:
exec mate-session
Ahora solo queda lanzar el entorno con este comando:
startx

Habilitar uso de Convertidor HDMI-VGA en Raspberry

publicado a la‎(s)‎ 16 jun. 2016 6:09 por Juan Jose Ramirez Lama   [ actualizado el 16 jun. 2016 20:53 ]

Este tutorial esta extraído directamente de la página: https://geekytheory.com/tutorial-raspberry-pi-uso-de-convertidores-hdmi-vga/

Es posible que como me pasó a mi, ustedes se hayan comprado una raspberry y tengan una pantalla que solo tiene entrada VGA, como una nueva pantalla es "costosa" la mejor opción es comprar un adaptador HDMI a VGA, en mi caso compre uno en china y me salió unos 4 dólares.

El tema es que cuando llego lo primero que hice fue conectarlo y mi sorpresa fue que no funcionaba, me dije, otra vez compre una mierda, en realidad es casi nada lo que pague, pero aun así molesta que no funcione.

Navegando en descubrí que no funciona por un tema de configuración propia de raspbian (no se si de otras distros para debían).

Entonces lo primero que hay que hacer es apagar la rapberry y conectar la sd a otro computador, acceder a la partición boot y editar el archivo config.txt.

En ese archivo debemos buscar y dejar las siguientes lineas tal como están las siguientes (en mi caso):
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=16
hdmi_drive=2
Lo mas probable es que estas lineas al principio tengan un #, lo que significa que están comentadas, por lo que hay que borrarlo, el numero que esta también puede que sea distinto por lo que en mi caso lo deje como esta aquí.

Luego pon la sd en la raspberry y arranca el equipo, conecta el adaptador y todo funcionará.

Los parámetros

Bueno ahora les hablaré de los parámetros que tenemos que agregar a este archivo  y qué hace cada uno:

hdmi_force_hotplug 
Con este comando obligamos a la Raspberry Pi a utilizar la salida HDMI, incluso si no se detecta alguna pantalla. Dándole el valor de ‘1’ es cuando se obliga. Esto es porque muchas veces el convertidor VGA no lo identifica la Raspberry Pi y piensa que no hay monitor conectado y cancela la salida de vídeo por ese puerto.

hdmi_group
Controla la resolución y frecuencia de salida mediante dos grupos: el 1º, que se refiere al CEA (Consumer Electronics Association) hace referencias a pantallas de alta definición. El grupo 2 que se refiere a VESA (Video Electronics Standards Association) y DTM ( Display Monitor Timing), recomendado para conectar a monitores de computadoras convencionales.

hdmi_mode
Este parámetro depende del grupo que anteriormente se haya elegido. A continuación listaré los parámetros posibles:
En la lista 2, del grupo 2, escogemos la resolución de nuestro monitor.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
These values are valid if hdmi_group=1 (CEA)
hdmi_mode=1    VGA
hdmi_mode=2    480p  60Hz
hdmi_mode=3    480p  60Hz  H
hdmi_mode=4    720p  60Hz
hdmi_mode=5    1080i 60Hz
hdmi_mode=6    480i  60Hz
hdmi_mode=7    480i  60Hz  H
hdmi_mode=8    240p  60Hz
hdmi_mode=9    240p  60Hz  H
hdmi_mode=10   480i  60Hz  4x
hdmi_mode=11   480i  60Hz  4x H
hdmi_mode=12   240p  60Hz  4x
hdmi_mode=13   240p  60Hz  4x H
hdmi_mode=14   480p  60Hz  2x
hdmi_mode=15   480p  60Hz  2x H
hdmi_mode=16   1080p 60Hz
hdmi_mode=17   576p  50Hz
hdmi_mode=18   576p  50Hz  H
hdmi_mode=19   720p  50Hz
hdmi_mode=20   1080i 50Hz
hdmi_mode=21   576i  50Hz
hdmi_mode=22   576i  50Hz  H
hdmi_mode=23   288p  50Hz
hdmi_mode=24   288p  50Hz  H
hdmi_mode=25   576i  50Hz  4x
hdmi_mode=26   576i  50Hz  4x H
hdmi_mode=27   288p  50Hz  4x
hdmi_mode=28   288p  50Hz  4x H
hdmi_mode=29   576p  50Hz  2x
hdmi_mode=30   576p  50Hz  2x H
hdmi_mode=31   1080p 50Hz
hdmi_mode=32   1080p 24Hz
hdmi_mode=33   1080p 25Hz
hdmi_mode=34   1080p 30Hz
hdmi_mode=35   480p  60Hz  4x
hdmi_mode=36   480p  60Hz  4xH
hdmi_mode=37   576p  50Hz  4x
hdmi_mode=38   576p  50Hz  4x H
hdmi_mode=39   1080i 50Hz  reduced blanking
hdmi_mode=40   1080i 100Hz
hdmi_mode=41   720p  100Hz
hdmi_mode=42   576p  100Hz
hdmi_mode=43   576p  100Hz H
hdmi_mode=44   576i  100Hz
hdmi_mode=45   576i  100Hz H
hdmi_mode=46   1080i 120Hz
hdmi_mode=47   720p  120Hz
hdmi_mode=48   480p  120Hz
hdmi_mode=49   480p  120Hz H
hdmi_mode=50   480i  120Hz
hdmi_mode=51   480i  120Hz H
hdmi_mode=52   576p  200Hz
hdmi_mode=53   576p  200Hz H
hdmi_mode=54   576i  200Hz
hdmi_mode=55   576i  200Hz H
hdmi_mode=56   480p  240Hz
hdmi_mode=57   480p  240Hz H
hdmi_mode=58   480i  240Hz
hdmi_mode=59   480i  240Hz H
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
These values are valid if hdmi_group=2 (DMT)
 
hdmi_mode=1    640x350   85Hz
hdmi_mode=2    640x400   85Hz
hdmi_mode=3    720x400   85Hz
hdmi_mode=4    640x480   60Hz
hdmi_mode=5    640x480   72Hz
hdmi_mode=6    640x480   75Hz
hdmi_mode=7    640x480   85Hz
hdmi_mode=8    800x600   56Hz
hdmi_mode=9    800x600   60Hz
hdmi_mode=10   800x600   72Hz
hdmi_mode=11   800x600   75Hz
hdmi_mode=12   800x600   85Hz
hdmi_mode=13   800x600   120Hz
hdmi_mode=14   848x480   60Hz
hdmi_mode=15   1024x768  43Hz  DO NOT USE
hdmi_mode=16   1024x768  60Hz
hdmi_mode=17   1024x768  70Hz
hdmi_mode=18   1024x768  75Hz
hdmi_mode=19   1024x768  85Hz
hdmi_mode=20   1024x768  120Hz
hdmi_mode=21   1152x864  75Hz
hdmi_mode=22   1280x768        reduced blanking
hdmi_mode=23   1280x768  60Hz
hdmi_mode=24   1280x768  75Hz
hdmi_mode=25   1280x768  85Hz
hdmi_mode=26   1280x768  120Hz reduced blanking
hdmi_mode=27   1280x800        reduced blanking
hdmi_mode=28   1280x800  60Hz
hdmi_mode=29   1280x800  75Hz
hdmi_mode=30   1280x800  85Hz
hdmi_mode=31   1280x800  120Hz reduced blanking
hdmi_mode=32   1280x960  60Hz
hdmi_mode=33   1280x960  85Hz
hdmi_mode=34   1280x960  120Hz reduced blanking
hdmi_mode=35   1280x1024 60Hz
hdmi_mode=36   1280x1024 75Hz
hdmi_mode=37   1280x1024 85Hz
hdmi_mode=38   1280x1024 120Hz reduced blanking
hdmi_mode=39   1360x768  60Hz
hdmi_mode=40   1360x768  120Hz reduced blanking
hdmi_mode=41   1400x1050       reduced blanking
hdmi_mode=42   1400x1050 60Hz
hdmi_mode=43   1400x1050 75Hz
hdmi_mode=44   1400x1050 85Hz
hdmi_mode=45   1400x1050 120Hz reduced blanking
hdmi_mode=46   1440x900        reduced blanking
hdmi_mode=47   1440x900  60Hz
hdmi_mode=48   1440x900  75Hz
hdmi_mode=49   1440x900  85Hz
hdmi_mode=50   1440x900  120Hz reduced blanking
hdmi_mode=51   1600x1200 60Hz
hdmi_mode=52   1600x1200 65Hz
hdmi_mode=53   1600x1200 70Hz
hdmi_mode=54   1600x1200 75Hz
hdmi_mode=55   1600x1200 85Hz
hdmi_mode=56   1600x1200 120Hz reduced blanking
hdmi_mode=57   1680x1050       reduced blanking
hdmi_mode=58   1680x1050 60Hz
hdmi_mode=59   1680x1050 75Hz
hdmi_mode=60   1680x1050 85Hz
hdmi_mode=61   1680x1050 120Hz reduced blanking
hdmi_mode=62   1792x1344 60Hz
hdmi_mode=63   1792x1344 75Hz
hdmi_mode=64   1792x1344 120Hz reduced blanking
hdmi_mode=65   1856x1392 60Hz
hdmi_mode=66   1856x1392 75Hz
hdmi_mode=67   1856x1392 120Hz reduced blanking
hdmi_mode=68   1920x1200       reduced blanking
hdmi_mode=69   1920x1200 60Hz
hdmi_mode=70   1920x1200 75Hz
hdmi_mode=71   1920x1200 85Hz
hdmi_mode=72   1920x1200 120Hz reduced blanking
hdmi_mode=73   1920x1440 60Hz
hdmi_mode=74   1920x1440 75Hz
hdmi_mode=75   1920x1440 120Hz reduced blanking
hdmi_mode=76   2560x1600       reduced blanking
hdmi_mode=77   2560x1600 60Hz
hdmi_mode=78   2560x1600 75Hz
hdmi_mode=79   2560x1600 85Hz
hdmi_mode=80   2560x1600 120Hz reduced blanking
hdmi_mode=81   1366x768  60Hz
hdmi_mode=82   1080p     60Hz
hdmi_mode=83   1600x900        reduced blanking
hdmi_mode=84   2048x1152       reduced blanking
hdmi_mode=85   720p      60Hz
hdmi_mode=86   1366x768        reduced blanking

hdmi_drive
Este parámetro modifica el voltaje de salida del puerto, tiene como valores 1 ó 2. El 1 se refiere a voltaje para DVI y sin sonido, mientras que el 2 a HDMI normal, con sonido. Aunque la solución fuese obviamente usar el 1, algunos convertidores no funcionan del todo bien así que es recomendable el valor en 2.

Nota: agrega tus configuraciones  antes de las configuraciones del procesador. y en cada SO, cambia un poco el archivo de configuración, en caso del Raspbian tiene comentarios que te ayudan a realizar estas configuraciones que tras a ver visto este tutorial entenderás ala perfección.

Toda la información de este tutorial fue de distintas fuentes pero me gustaría dar el crédito a  “Guía de usuario de Raspberry pi” de Eben Upton, además de esta pagina http://elinux.org/RPiconfig. Les recomiendo den una revisión a fondo a estas dos fuentes ya que tienen muchas más configuraciones que nos podrían facilitar nuestra experiencia con Raspberry Pi.

Eliminar el warning de Perl en Raspbian

publicado a la‎(s)‎ 15 jun. 2016 12:13 por Juan Jose Ramirez Lama

Si cada vez que ejecutas alguna instrucción como sudo o alguna configuración recibes un mensaje como el siguiente:

perl: warning: Setting locale failed.

perl: warning: Please check that your locale settings:

LANGUAGE = (unset),

LC_ALL = (unset),

LC_CTYPE = "UTF-8",

LANG = "es_CL.UTF-8"

    are supported and installed on your system.

perl: warning: Falling back to a fallback locale ("es_CL.UTF-8").


Ejecuta los siguientes comandos y listo:

$ export LANGUAGE=es_CL.UTF-8

$ export LANG=es_CL.UTF-8

$ export LC_ALL=es_CL.UTF-8

$ sudo locale-gen es_CL.UTF-8

$ sudo dpkg-reconfigure locales

En el último comando procura siempre elegir la misma configuración de idioma que los comandos anteriores.

En mi caso es es_CL por que uso el español de chile, tu cambialo por el que uses.


Gestor de Descargas JDownloader

publicado a la‎(s)‎ 24 may. 2016 11:57 por Juan Jose Ramirez Lama   [ actualizado el 24 may. 2016 11:57 ]

Ahora vamos a instalar Jdownloader en la Raspberry Pi 2 bajo OSMC, pero en Raspbian es lo mismo. 

Primero tendremos que descargar desde el computador el archivo .jar de jdownloader. Una vez descargado, creamos una carpeta dentro de la raspberry pi y metemos ese archivo.

Ahora por ssh nos conectamos a la Pi (o desde la misma pi usando la terminal) y vamos a la carpeta creada. En mi caso sería:
$ cd JD

Ahora tenemos que instalar Java ya que sino, no podremos ejecutar Jdownloader:
$ sudo apt-get install openjdk-7-jre libjna-java

Ahora tenemos que instalar Jdownloader en la Raspberry Pi:
$ java -Djava.awt.headless=true -jar JDownloader.jar
Cuando ponemos este comando, la raspberry pi nos preguntará si queremos actualizar Jdownloader. Le damos a la "s" por lo que tardará un rato. 

Cuando termine de actualizar reiniciamos la rasbperry pi con el comando:
$ sudo reboot

Mientras que se está actualizando Jdownloader, podemos crearnos una cuenta en "http://my.jdownloader.org/" para poder acceder a Jdownloader desde nuestro computador o teléfono.

Cuando termine de reiniciar, volvemos a meternos en la carpeta de Jdownloader y volvemos a poner el mismo comando:
$ cd JD
$ java -Djava.awt.headless=true -jar JDownloader.jar
Ahora el programa, si todo va bien, nos pedirá los datos de registro que hemos usado en la web de my.jdownloader. Ponemos el correo y contraseña y listo. Si no nos pide estos datos, volvemos a reiniciar la pi y volvemos a poner el comando.

Una vez añadidos nuestros datos, reiniciamos la pi y nos volvemos a meter en la carpeta de Jdownloader y ponemos el siguiente comando:
$ java -Djava.awt.headless=true -jar JDownloader.jar &
Este comando lo tendremos que usar cada vez que queramos ejecutar Jdownloader en la Raspberry Pi. Para ello, cada vez que ejecutemos este comando, tenemos que estar dentro de la carpeta de Jdownloader. Usar este comando tiene dos problemas. El primero que es un comando muy largo como para recordarlo, y el segundo es que tenemos que si cerramos la terminal se acaba el proceso. Para no tener que estar con la terminal abierta, damos a Ctrl+C y luego escribimos "exit". Se nos cierra el comando pero sigue ejecutándose en segundo plano.

Lo único que tendremos que configurar es el directorio donde vamos a descargar (disco duro, pendrive, etc), ya que por defecto se descargará en la SD. Esto se hace desde la misma interface de Jdownloader. Ese directorio tenemos que darle permisos para escribir ya que sino, no funcionará. En mi caso:
$ cd /media/nas/Respaldo
$ mkdir Jdownloader
$ chmod 777 Jdownloader

Gestor de descargas Pyload

publicado a la‎(s)‎ 24 may. 2016 8:38 por Juan Jose Ramirez Lama   [ actualizado el 24 may. 2016 8:38 ]

Gracias a Pyload podemos dejar que la Raspberry Pi nos descargue archivos en descarga directa sin necesidad de nosotros estar esperando para dar a continuar y cosas de esas. Pyload es compatible con mega por lo que todos los archivos que tengamos alojados en ese servidor los podemos descargar con la Raspberry Pi. 

Encendemos nuestro computador y nos conectamos por ssh a la raspberry pi. Ahora vamos a descargar pyload:

Revisa esta página para asegurarte de bajar la última versión: https://github.com/pyload/pyload/releases

abrimos una terminal y tecleamos:
$ wget -c https://github.com/pyload/pyload/releases/download/v0.4.9/pyload-cli-v0.4.9-all.deb
$ sudo apt-get install rhino python-openssl tesseract-ocr tesseract-ocr-eng  python-imaging unrar-free python-qt4
$ sudo  dpkg -i pyload-cli-v0.4.9-all.deb
$ sudo apt-get install -f
Ya tenemos instalado Payload. 

Ahora vamos a ver que dependencias necesita por si falla la instalación:
$ sudo apt-cache show pyload-cli

Bien, se supone que ya tenemos todas las dependencias listas así que vamos a ejecutar por primera vez Pyload:
$ cd /usr/share/pyload/
$ ./pyLoadCore.py
En este punto nos sale un configurador. Tenemos que ir leyendo los que nos pregunta e ir configurándolo a nuestro gusto.

En el primer paso elegimos idioma y damos a continuar. El configurador nos sacará por pantalla las dependencias por si no están cumplidas. Nos tiene que salir todo OK

Seguimos con el tutorial de configuración y más o menos tenemos que poner lo que viene entre corchetes (que es lo predefinido). ¿Pasos importantes? Poner IP 0.0.0.0 si queremos conectarnos a Pyload desde cualquier IP y para las descargas poner /media/discoduro siendo disco duro el nombre con el que nos monta el pendrive o el disco duro la raspberry. Recomiendo formatear el disco duro o el pen en ntfs o ext4 para poder descargar archivos de más de 4gb.

Importante: cuando nos diga que server elegir, poner "threaded". A mi el que viene por defecto no me funciona bien

Una vez completado el tutorial, ejecutamos Pyload:
$ pyLoadCore --daemon
Ahora desde el navegador de nuestro computador ponemos la IP de la raspberry y el puerto 8000. Ejemplo:
192.168.1.157:8000

Nos saldrá la interface de Pyload. Ponemos usuario y contraseña. Ahora este paso es importantisimo y es donde está el error en la mayoría de usuarios. Para poder descargar necesitan actualizarse los plugins, para ello dejamos Pyload un rato ejecutándose y en la parte de arriba nos saldrá que tenemos que reiniciar Pyload para recargar plugins. 

Para reiniciar Pyload:
$ sudo /etc/init.d/pyload stop
$ sudo /etc/init.d/pyload start
También funciona reiniciar la RBPi

$ cd /usr/share/pyload/
$ ./pyLoadCore.py
Y listo. No es tan difícil pero hay que tener las cosas claras. Usar Pyload es muy sencillo. Damos a añadir descarga y ponemos la url del archivo que vamos a descargar. Ponemos un nombre (eso es el nombre de la carpeta donde vamos a descargar esos archivos) y añadir. ¿Por qué poner un nombre? Porque si son varias partes tenemos todas las partes metidas en una carpeta y todo bien organizado. Un saludo

Insync (Alternativa de pago al cliente de Google drive) para Raspberry Pi

publicado a la‎(s)‎ 13 may. 2016 12:05 por Juan Jose Ramirez Lama   [ actualizado el 13 may. 2016 12:05 ]

Insync es una aplicación de pago para el servicio de Google Drive para escritorio, el cual entre sus principales características que lo diferencian con el cliente oficial son que: puede sincronizar multiples cuentas, permite una sincronización selectiva incluyendo la opción de selección archivos, también posee la gran ventaja de que esta para los principales SO, Linux, Windows, Mac y Raspberry.
Ofrece 15 dias de prueba gratuita.

Lo primero es indicar que es un paquete "portable" por lo que solo se ejecutará, por tanto no arrancará con el sistema, a menos que nosotros lo programemos.
Primero quiero indicar que es necesario estar conectado por vnc o directamente en la máquina con un entorno gráfico, ya que el login de tu cuenta de Gmail es via web exclusivamente.

Para "instalarlo" debemos descargar el paquete correspondiente a tu arquitectura:
Una vez descargado debes descomprimirlo
tar -xjf Nombre_Paquete
cd insync-portable
./insync-portable start
Te enviará el siguiente mensaje: Add accounts through the ./insync-portable add_account command. For help on Insync commands, run ./insync-portable help.
Esto quiere decir que ya se inicio el programa pero que hay que lograrse a gmail. Entonces ejecutamos el siguiente comando:
./insync-portable add_account
Esto abrirá una ventana en el navegador donde tendrás que hacer login.

Una vez esté todo listo comenzará a sincronizar TODO, si quieres (como yo) cambiar el directorio ya que la memoria de la raspberry puede ser muy pequeña y los archivos que tienes son muchos, lo mejor es mover el directorio. Para eso ejecuta el comando siguiente, cambiando las rutas a tu gusto.
./insync-portable move_folder Directorio_Original Directorio_Destino

Ahora si deseas hacer una configuración selectiva, te recomiendo ejecutar el siguiente comando para informarte:
./insync-portable help manage_selective_sync

y si deseas saber sobre otras opciones, simplemente ejecuta el siguiente comando y te dará las opciones de las que puedes obtener información:
./insync-portable help

Habilitar VNC Server sin entorno gráfico

publicado a la‎(s)‎ 13 may. 2016 11:26 por Juan Jose Ramirez Lama   [ actualizado el 13 may. 2016 11:40 ]


Yo hace un día, a la fecha de la publicación de esta entrada, recibí mi nueva Raspberry Pi 2, el único inconveniente que tenia es que yo no tenia en mi oficina (donde la usare para trabajo de pruebas) una pantalla HDMI, y al intentar entrar por VNC no me dejaba, ya que al parecer estaba o no instalado (instale Rapsbian) o no habilitado, así que me conecte por SSH para configurar todo lo necesario, a continuación describo todo los pasos.

Primero ingresamos por ssh a la raspberry:
$ ssh pi@192.168.1.100
nos pedira una clave, la cual es por defecto raspberry

Luego instalamos VNC:
$ sudo apt-get install xorg lxde-core lxde-icon-theme tightvncserver

Una vez instalado procedemos a configurarlo. 

Si iniciamos TightVNC y nos conectamos en estos momentos sólo veríamos una pantalla gris. Eso es debido a que es necesario configurar VNC para que inicie el escritorio LXDE al conectarnos. Para ello ejecutamos el siguiente comando para editar el archivo de configuración de VNC.
$ nano  ~/.vnc/xstartup

Añadimos la siguiente linea al final del archivo
lxterminal & /usr/bin/lxsession -s LXDE &
Guardamos cambios y cerramos el archivo

Ese es el archivo de configuración por defecto de VNC.
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 1280x1024+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &

Para configurarlo debemos sustituir su contenido por lo siguiente:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 1280x1024+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
lxterminal & /usr/bin/lxsession -s LXDE &

Ahora iniciamos la primera conexión ya que nos solicitar configurar una contraseña.
/usr/bin/tightvncserver :1 -geometry 800x600/usr/bin/tightvncserver :1 -geometry 800x600 -depth 16 -pixelformat rgb565 -depth 16 -pixelformat rgb565
Y nos pedirá escribir nuestra contraseña con la que accederemos a VNC. Una vez configurada la contraseña (mínimo 6 y máximo 8 caracteres) de acceso nos indicará que el servidor se ha instalado en la primera pantalla virtual de VNC, es decir, en :1

Sin en algún momento queremos detener TightVNC usamos
$ tightvncserver -kill :1

Configurar para que arranque con el sistema

Ya podríamos conectarnos con nuestro computador. Pero si en algún momento se apaga o se reinicia el computador el servidor dejaría de estar disponible. Tendríamos que conectarnos por SSH previamente e iniciar TightVNCServer. Para evitar esto vamos a configurar el sistema para que inicie TightVNC Server al iniciar.

Para ello escribimos el siguiente comando.
$ sudo nano /etc/init.d/tightvncserver
Añadimos el código siguiente
#!/bin/sh
# Change username by the user you want to run this under
export USER='username'
 
eval cd ~$USER
 
case "$1" in
  start)
    su $USER -c '/usr/bin/tightvncserver :1 -geometry 800x600 -depth 16 -pixelformat rgb565'
    echo "Starting TightVNC server for $USER"
    ;;
  stop)
    pkill Xtightvnc
    echo "Tightvncserver stopped"
    ;;
  *)
    echo "Usage: /etc/init.d/tightvncserver {start|stop}"
    exit 1
    ;;
esac
exit 0

A continuación guardamos cambios y cerramos. Finalmente introducimos el siguiente comando.

$ sudo chmod 775 /etc/init.d/tightvncserver
$ sudo update-rc.d tightvncserver defaults
La siguiente vez que reiniciemos nuestra máquina se iniciará automáticamente TightVNC server, y podremos conectarnos, iniciándose el entorno LXDE al iniciar la sesión.

Alternativa:

Los siguiente sirve para tener un script que puedas ejecutar si es que por algún error no se inicio el servidor vnc tal como lo programamos.
Creamos una archivo
$ nano vnc.sh
Añadimos las siguientes líneas
#!/bin/sh
/usr/bin/tightvncserver :1 -geometry 800x600 -depth 16 -pixelformat rgb565

Guardas y cierras
Ahora le daremos los permisos de ejecución:
$ chmod +x vnc.sh
Ahora solo debes ejecutar el siguiente comando para correr el servicio cada vez:
$ ./vnc.sh

Para conectarnos a él solo debemos, en el equipo cliente iniciar nuestro servicio VNC y conectarnos a la maquina con la IP de nuestro servidor seguida de dos puntos : y el escritorio virtual que hemos activado, en nuestro caso, en 1. Según este ejemplo es 192.168.1.100:1.


NAS casero con Raspberry Pi

publicado a la‎(s)‎ 12 may. 2016 11:40 por Juan Jose Ramirez Lama   [ actualizado el 12 may. 2016 12:26 ]


El almacenamiento conectado en red, Network Attached Storage (NAS), es el nombre dado a una tecnología de almacenamiento dedicada a compartir la capacidad de almacenamiento de un computador (servidor) con computadoras personales o servidores clientes a través de una red (normalmente TCP/IP), haciendo uso de un sistema operativo optimizado para dar acceso con los protocolos CIFS, NFS, FTP o TFTP.

Los sistemas NAS son dispositivos de almacenamiento a los que se accede desde los equipos a través de protocolos de red (normalmente TCP/IP). También se podría considerar un sistema NAS a un servidor (Microsoft Windows, Linux, etcétera) que comparte sus unidades por red, pero la definición suele aplicarse a sistemas específicos.

Los protocolos de comunicaciones NAS están basados en archivos por lo que el cliente solicita el archivo completo al servidor y lo maneja localmente, por lo que están orientados a manipular una gran cantidad de pequeños archivos. Los protocolos usados son protocolos de compartición de archivos como Network File System (NFS) o Microsoft Common Internet File System (CIFS).

Formatear el disco duro

Lo primer que haremos es formatear nuestro disco duro al formato EXT4 para que funcione 100% con nuestro sistema. Entonces verificamos que discos nos reconoce nuestra RBPi.
$ ls -laF /dev/disk/by-uuid/
Si te fijas hay una unidad que dice /sda1, ese es nuestro disco duro externo, el que procederemos a formatear, por lo tanto procederemos a desmontarlo para que el sistema no lo bloquee y podamos borrarlo.
$ sudo umount /dev/sda

Ahora continuamos con el comando para formatear
$ sudo mkfs.ext4 /dev/sda -L Respaldo
La parte final -L Respaldo corresponde a la etiqueta.
Nos informa que vamos a formatear todo el disco y que para seguir hay que decir Sí o No, o sea, s,n . Le damos a la tecla s y luego a tecla Enter / Intro / Return.

Ahora nos informa de como transcurre el proceso y si todo ha ido bien será más o menos este el resultado.

Ahora si volvemos a teclear el comando del principio, veremos que el resultado es algo distinto, y que ese código es la clave para que nuestro esté listo para usar al arrancar la próxima vez o lo podamos conectar y desconectar más fácilmente.
$ ls -laF /dev/disk/by-uuid/

Añadir el disco de Forma Permanente

Después de explicar cómo formatear el disco duro o la memoria. Vamos ahora a hacer que todo quede preparado para que se conecte de forma automática al encender la Raspberry con el disco conectado, o poder conectarlo y desconectarlo con un comando muy simple en caso de tenerla ya encendida.

Ahora toca obtener el código que identifica a nuestra partición de forma única, asi no nos preocupamos que conectemos el disco duro en otro usb o que pongamos otro disco con la misma etiqueta, sino que si no es específicamente esa partición no se montara.

Ejecutamos el siguiente comando:
$ sudo blkid
En este caso nos interesa la partición que se llama "Respaldo" o /dev/sda.
Apuntamos letra por letra lo que aparece tras UUID, por largo que sea, TODO.

Ahora creamos una carpeta nueva que será en la que "montemos" ese disco duro para que se pueda ver desde el explorador de archivos o desde otros programas. En mi caso he elegido crearla en la carpeta "media" que es la recomendada para esto y con el mismo nombre (o parecido ) que la etiqueta que le puse al formatearlo, en mi caso le he puesto "nas". Y luego, le damos permisos para que todo el mundo pueda escribir, esto es más o menos inseguro pero nos facilitará las cosas.

sudo mkdir /media/nas
sudo chmod 777 /media/nas
ln -s /media/nas/ /home/juaramir/respaldos
Hacemos una cosa más, que es poner un "enlace simbólico" estilo Linux para que desde la carpeta del usuario (juaramir) podamos acceder más rápido a nuestro disco.

Ahora con el código que copiamos al principio (UUID) o viéndolo de nuevo, vamos a editar el archivo de la configuración de discos de la Raspberry Pi.
sudo nano -w /etc/fstab
Ahora se nos abre una aplicación que se llama "nano" y que es un editor muy básico pero más o menos sencillo de manejar. Con los cursores, las teclas de las flechas, nos movemos hasta el final para añadir una línea parecida a la que les doy, pero con cuidado de poner el código UUID tuyo y tu directorio.

UUID=0d6facc8-2e9d-4a7f-912e-58ac293752cf /media/nas ext4 defaults 0 0
Guardamos y cerramos el documento (ctrl+x, ctrl+o)

Ahora comprobamos que unidades hay montadas:
df -h

Luego hacemos montar todas las unidades que estén conectadas pero no montadas y luego verificamos que unidades hay con el mismo comando anterior.
sudo mount -a
df -h

Como pueden ver, la última unidad es la que hemos montado. Esto se mantendrá así cada vez que encendamos la raspberry con el disco encendido.

Ahora para desconectarlo o conectarlo usamos el comando
sudo umount /dev/sda #desmontarlo
sudo mount /dev/sda  #montarlo
Siempre y cuando tu disco también esté en la unidad sda.

Instalar Samba

Ahora necesitamos instalar un servidor de archivos para que nuestro disco sea visible en la red. Para esto usaremos SAMBA.
sudo apt-get install samba samba-common-bin
A continuación configuraremos el archivo de SAMBA:
sudo nano -w /etc/samba/smb.conf
Se abre un archivo de texto enorme con cientos de líneas que no es necesario tocar. nos movemos con el cursor hasta el final del documento y ponemos las siguientes líneas (cambiando según tu configuración).

[PiRespaldos]
comment = USB Share
path = /media/nas
writeable = Yes
create mask = 0777
directory mask = 0777
browseable = Yes
valid users @users
force user = juaramir


Ya fuera del editor nano de vuelta a la terminal añadimos el usuario (en mi caso juaramir) a los usuarios de SAMBA
sudo smbpasswd -a juaramir
y le ponemos la contraseña de red dos veces y el usuario queda añadido.

Y reiniciamos el servidor para que tengan efectos los cambios
sudo /etc/init.d/samba restart

Y ya estará listo para acceder

Optimizar Samba

Después de haber instalado el servidor SAMBA, vamos a ver un par de cambios y al final una opción para optimizar el rendimiento en la Raspberry Pi al máximo.
Volvemos a abrir el archivo de configuración de SAMBA:
sudo nano -w /etc/samba/smb.conf

Ahora vamos a desactivar las carpetas o directorios que venían por defecto en la configuración y vamos a dejar exclusivamente el nuevo disco duro que hemos preparado. Para ello hay que comentar las líneas que no hacen falta, añadiendo al principio un punto y coma ; o un símbolo #.

Original
Antes
Después

Antes
Después

Ahora vamos a añadir una serie de parámetros para sacarle todo el jugo a la Raspberry Pi como servidor con SAMBA. Volvemos al principio, dentro de la sección [global] e incluimos justo donde termina esa sección:
max xmit = 65535
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=65535 SO_RCVBUF=65535
read raw = yes
write raw = yes
max connections = 65535
max open files = 65535
Ya fuera del editor nano de vuelta a la terminal reiniciamos el servidor para que tengan efectos los cambios

sudo /etc/init.d/samba restart

Listo ya tenemos nuestro disco duro en red.

1-10 of 22