19Aug
Así que tienes una Raspberry Pi y te gustaría maximizar su pequeña huella convirtiéndola en una caja totalmente independiente: sin monitor, teclado u otros periféricos de entrada. Siga leyendo mientras le mostramos cómo configurar el shell remoto, el escritorio y el acceso a la transferencia de archivos en su Pi.
¿Por qué quiero hacer esto?
El Pi, incluso revestido de un estuche resistente, es una computadora pequeña. Es perfecto para esconderse en algún lugar fuera de la vista sin una maraña de cables que se salen de él, para muchos proyectos simplemente no necesita un monitor permanente y acompañamiento periférico.
Que no significa, sin embargo, que no necesitará conectarse al cuadro para realizar cambios, actualizar cosas, transferir archivos, etc. Un ejemplo perfecto de esto es el pequeño indicador de lluvia que hemos construido como parte de nuestro Build a LED Indicator con un artículo de Raspberry Pi( para correo electrónico, clima o cualquier otra cosa).No necesita todas esas cosas conectadas directamente, pero aún nos gustaría poder saltar al dispositivo y hacer cambios fácilmente o probar nuevos experimentos con el módulo LED sin tener que volver a arrastrarlo al taller, yconéctelo a un monitor, teclado, mouse, etc. Al configurarlo para shell remoto, escritorio remoto y transferencia remota de archivos, hacemos que sea super simple interactuar siempre con nuestra unidad Pi desde la comodidad de nuestra computadora de escritorio como si fueraHe conectado la unidad a una estación de trabajo completa.
¿Qué necesito?
Si es la primera vez que trabaja con Raspberry Pi, le sugerimos que consulte la Guía HTG para Comenzar a usar Raspberry Pi para conocer los principios básicos del dispositivo y ponerse al día.
Para este tutorial necesitarás las siguientes cosas:
- Una Raspberry Pi ejecutando Raspbian.
- Una computadora de escritorio o portátil.
- Una red Wi-Fi o por cable local para conectar el Pi y su computadora.
Primero, la mayoría de los pasos en este tutorial deberían funcionar con otras distribuciones Pi basadas en Linux pero vamos a usar Raspbian. Debería tener pocos problemas para adaptar el tutorial a otras distribuciones.
En segundo lugar, estamos utilizando una máquina con Windows como nuestra computadora en red para interactuar con la unidad Raspberry Pi como la cabeza / interfaz remota. Cuando corresponda, haremos nuestro mejor esfuerzo para vincular a tutoriales y lecturas sugeridas sobre la realización de tareas y herramientas paralelas en OS X y Linux.
Configuración y conexión con el servidor SSH
El acceso remoto a la línea de comandos de su instalación Raspbian es la pequeña modificación más práctica que puede realizar en su sistema, y su activación es sencilla.
Abra el terminal en Rasbian, el acceso directo es LXTerminal en el escritorio y escriba el siguiente comando:
sudo raspi-config
Navegue hasta ssh y presione enter. Cuando se le solicite sobre el servidor SSH, seleccione Habilite y presione enter nuevamente. Serás devuelto al panel Raspi-config;navegue hasta Finalice y presione enter para cerrar la herramienta de configuración. Eso es todo lo que necesita hacer para activar el acceso SSH a su Pi. El nombre de usuario y la contraseña de SSH predeterminados son pi y raspberry , respectivamente.
Mientras todavía estás sentado en la línea de comando, ahora es un buen momento para verificar la IP de tu unidad Raspberry Pi en la red local. Escriba ifconfig en el indicador y luego observe el resultado del comando. Si está utilizando el puerto Ethernet, debe buscar init addr en la sección eth0 ;Si está utilizando Wi-Fi, debe buscar init addr en la sección wlan0 .Además de verificar y anotar la dirección IP, este es también un buen momento para configurar una entrada de IP estática en su enrutador para que no tenga que buscar la IP en el futuro.
Ahora que tenemos habilitado el servidor SSH, sabemos el inicio de sesión y sabemos la dirección IP de la máquina, es hora de conectarse a través de SSH y probarlo. Para hacerlo desde Linux y OS X, simplemente puede usar el comando ssh en la terminal. Sin embargo, los usuarios de Windows necesitarán un cliente SSH como PuTTY.
Dado que estamos usando un cuadro de Windows para administrar nuestro Pi de forma remota, es PuTTY.Instale una copia de PuTTY o extraiga la versión portátil y enciéndala. Hay mucho de configuraciones con las que puedes jugar en PuTTY, pero solo tenemos que preocuparnos por una sola cosa para conectarte a nuestro Pi. En la interfaz principal de la sesión, simplemente escriba la dirección IP de su Pi y seleccione SSH debajo de ella:
Acceda a Abra en la parte inferior y PuTTY le abrirá una ventana de terminal, conéctese a su Pi y solicíteloinicie sesión. Inicie sesión con pi / frambuesa :
Una vez que su conexión SSH esté operativa, técnicamente puede completar el resto de este tutorial de forma remota desde la comodidad de su escritorio, aunque le aconsejamos que deje la cabeza y el tecladoen su sistema hasta que haya terminado todo el proyecto y todo funcione sin problemas.
Antes de continuar, hay alguna funcionalidad adicional que podemos eliminar de SSH.Además de administrar la línea de comando de forma remota, también puede transferir archivos de forma remota con Secure Copy. Es una línea de comando intensiva y no particularmente conveniente para transferir una gran cantidad de archivos provenientes de múltiples directorios, pero para una transferencia de archivo de configuración única u otro pequeño volcado, es bastante útil. Consulte nuestra guía para copiar archivos a través de SSH usando el comando SCP aquí.
Vamos a mirar más de cerca las técnicas de transferencia de archivos más fáciles de usar y basadas en GUI más adelante en el tutorial.
Configuración y configuración del escritorio remoto
El acceso remoto a la línea de comandos es increíble, pero también lo es el acceso al escritorio para actividades centradas en la GUI.Acerquemos los poderes de la línea de comando y los poderes del escritorio.
Aunque nos hemos estado refiriendo a este como "escritorio remoto" hasta este punto, la herramienta que estamos instalando en realidad se conoce como Virtual Network Computing( VNC), elementos de los que muchos están familiarizados, como RealVNC y TightVNC.Para este tutorial, instalaremos TightVNC en el Pi. Para acceder a la sesión TightVNC basada en Pi, necesitará un cliente remoto como:
- cliente de escritorio TightVNC para Windows
- cliente de escritorio TightVNC para sistemas Linux / Unix
- cliente de escritorio RealVNC para OSX
Tome una copia ahora, ylo estaremos trotando más adelante en esta sección. Por ahora, vayamos a instalar el servidor TightVNC en su Raspberry Pi. Abre la terminal. Ingrese el siguiente comando para comenzar:
sudo apt-get install tightvncserver
Esto descargará y descomprimirá los archivos de instalación;cuando se le solicite que continúe, presione Y. Una vez que se complete la instalación, regresará a la solicitud. Puede iniciar el VNC de una de dos maneras. Simplemente ejecute el comando para el servidor de la siguiente manera:
tightvncserver
Le indicará que ingrese una contraseña para acceder a su computadora de escritorio VNC, como se ve en la captura de pantalla anterior. La contraseña debe tener entre 4 y 8 caracteres. Una vez que confirme la contraseña, se le pedirá que configure una contraseña de solo lectura( puede cancelar el paso, como lo hicimos nosotros).
Alternativamente, puede utilizar un comando mucho más preciso, aunque más largo de escribir, que le da más control sobre cómo verá la computadora remota el escritorio; lo que es más importante, qué resolución mostrará el escritorio para que pueda disfrutar de una vista de pantalla completaen la computadora remota. Para especificar la resolución del escritorio VNC, utilice el siguiente comando, intercambiando el valor de resolución( el cuarto elemento del comando) para la resolución del escritorio remoto:
vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:
Si en algún momento comete un error al configurar su instancia de servidor VNC y / o desea cerrar el servidor VNC, simplemente ingrese lo siguiente( cambiando el número después de dos puntos al número de la instancia VNC que deseakill):
vncserver -kill: 1
Ahora que tenemos el servidor VNC en funcionamiento, conéctenos desde nuestro escritorio remoto. Encienda el visor TightVNC en su computadora y conecte la dirección IP de la unidad Raspberry Pi, seguido de: 1 similar:
Y aquí está nuestra recompensa por configurar con éxito nuestro servidor VNC: una bonita pantalla completa de nuestra unidad Raspberry Pi remota:
Existe un problema conocido con TightVNC y Rasbian que, gracias a un cambio de permiso poco claro, causará problemas con el escritorio real adjunto del monitor( mientras deja intacta la interfaz de escritorio remota provista por el servidor VNC).Para solucionar este problema incluso antes de que se convierta en un problema para usted, diríjase directamente a la línea de comando e ingrese el siguiente comando:
sudo chown pi /home/pi/. Xauthority
Este comando cambia la propiedad del archivo. Xauthority de nuevo al usuario pi-forlo curioso, el archivo. Xauthority es utilizado por el sistema X-windows en Rasbian y , algo durante el proceso de instalación y configuración del servidor TightVNC causa ese pequeño inconveniente.
Con ese pequeño desvío menor, volvamos a terminar nuestra configuración de escritorio remoto.
Ahora que tenemos línea de comando completa y acceso de escritorio a Raspberry Pi, tenemos que hacer una modificación no tan trivial. La herramienta Raspi-config configura el servidor SSH para que se inicie automáticamente al arrancar, pero el servidor VNC aún no está configurado de esa manera. Puede omitir este paso e iniciar manualmente el servidor en la línea de comando a través de SSH cuando lo necesite, pero estamos tratando de hacer que esto sea lo más libre de problemas posible para su uso futuro. Tomemos un minuto ahora y creemos un archivo de inicio para el servidor VNC.
Para iniciar automáticamente el servidor VNC, debemos configurar un archivo init o de inicialización que Raspbian utilizará para iniciar y cerrar el servidor de manera limpia durante el proceso de arranque y apagado. Vamos a crear el archivo de inicio ahora. En la línea de comando, escriba el siguiente comando:
sudo nano /etc/init.d/ tightvnc
Esto creará un archivo en el directorio de inicialización llamado "tightvnc" y abrirá el editor nano para que podamos pegarlo en nuestro script. En el editor nano, pegue el siguiente código( asegúrese de cambiar el valor de resolución de 1600 × 900 para que coincida con la pantalla de su computadora remota:
#! /bin/ sh
### COMENZAR INIT INFO
# Proporciona: tightvncserver
# Obligatorio-Inicio:
# Obligatorio-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start vnc server
# Descripción:
### END INIT INFO
case "$ 1 "en
start)
su pi -c 'vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:'
echo" VNC Started "
; ;
stop)
pkill Xtightvnc
echo "VNC Terminado"
; ;
*)
echo "Uso: /etc/init.d/ tightvnc{ inicio | stop}"
exit 1
; ;
esac
Además de modificar la porción de resolución de pantalla del script, hay otra cosa que puede modificar. En la línea 14 puede cambiar el comando "su pi -c" a cualquier otra cuenta de usuario además de "pi" si desea usar VNC en el escritorio específico para esa cuenta.
Una vez que haya pegado y modificado el código, es hora de guardarlo. Presione CTRL + X para salir y guardar su trabajo en nano. Una vez que haya regresado a la línea de comando, necesitamos hacer algunos cambios rápidos a los permisos del archivo:
sudo chmod 755 /etc/init.d/ tightvnc
Ahora el archivo de inicialización es ejecutable. Podemos probarlo desde el prompt:
sudo /etc/init.d/ tightvnc start
sudo /etc/init.d/ tightvnc stop
El último cambio que vamos a hacer es actualizar el archivo rc.d( que rastrea qué scripts de inicialización están en la carpeta /init.d/):
sudo update-rc.d tightvnc defaults
Después de ingresar ese comando, obtendrá una confirmación de que el archivo se actualizó.Ahora es el momento de la prueba real: ¿el archivo se carga correctamente después de reiniciar? Ingrese lo siguiente en la línea de comando para reiniciar y prepárese con su cliente VNC para probar la conexión en un momento:
sudo reiniciar
Una vez que el sistema haya terminado de reiniciarse, inicie sesión con su cliente VNC.Si su sesión de VNC falla, visite el símbolo del sistema y ejecute nuevamente el comando tightvnc start( desde la parte de prueba anterior) para verificar que el archivo sea ejecutable y que la contraseña se guardó correctamente.
En este punto, estamos aún más avanzados en nuestra misión de controlar totalmente nuestra unidad Raspberry Pi. Con el acceso remoto a la línea de comandos a través de SSH y el acceso remoto de escritorio a través de VNC, pasamos a simplificar el proceso de transferencia de archivos entre nuestra computadora de escritorio y Pi.
Configuración y configuración de las herramientas de transferencia de archivos
Dado que ya tenemos configurada SSH, la forma más fácil de configurar una transferencia de archivos muerta simple entre nuestro Pi y las computadoras remotas es utilizar una interfaz GUI en la conexión SSH.¿Recuerdas cómo hablamos acerca de usar SCP sobre SSH anteriormente en el tutorial? Ejecutarlo desde la línea de comandos se vuelve realmente tedioso, muy rápido. Con un contenedor GUI, podremos pasar más tiempo moviendo archivos y jugando con nuestro Pi y menos tiempo picoteando el teclado.
Si bien existe una variedad de envolturas GUI para el comando SCP, vamos a ir con una herramienta multiplataforma que muchas personas ya conocen, tienen y aman( e incluso pueden desconocer que hace transferencias SCP): FileZilla. Está disponible para Windows, OS X y Linux; puede obtener una copia aquí.
Una vez que haya instalado FileZilla, enciéndalo y vaya a Archivo - & gt;Administrador del sitio. Cree una nueva entrada de sitio, asígnele un nombre y conecte el nombre de usuario y la contraseña de su Pi.
Finalmente, asegúrese de configurar el puerto a 22 y el Servertype a SFTP - Protocolo de transferencia de archivos SSH.Haga clic en conectar en la parte inferior y obtendrá una vista similar a esta:
Sus directorios locales están en el panel izquierdo y los directorios remotos en el Pi están en el panel derecho. Mover archivos entre los dos es tan simple como arrastrarlos y soltarlos.
Aprovechar la transferencia de archivos SSH existente es la forma más fácil de acceder a los archivos en el Pi sin necesidad de configuración adicional pero si desea configurar su Pi para recibir y compartir archivos sin que el usuario remoto requiera herramientas sofisticadas( como un cliente FTP compatible con SCP como FileZilla), le recomendamos revisar la sección de configuración de Samba de nuestra guía: Cómo convertir una Raspberry Pi en un dispositivo de almacenamiento de red de bajo consumo. Al leerlo, se familiarizará con la configuración de un recurso básico de Samba en Pi para crear una carpeta compartida a la que cualquier persona de la red pueda acceder fácilmente sin necesidad de herramientas adicionales.
Has configurado SSH, has configurado VNC, y has configurado el acceso sencillo de SFTP y Samba a tu Pi; en este punto puedes arrancar tu Raspberry Pi, quitar el monitor, el teclado y el mouse, y guardarlo como una máquina silenciosa y sin cabeza.
: ¿Tienes una idea para el proyecto Raspberry Pi y te mueres por escribir un tutorial para ella? Haga un sonido apagado en los comentarios o escríbanos un correo electrónico a [email protected] y haremos nuestro mejor esfuerzo para ayudar.