gecko - LofNaDI/Tutorials GitHub Wiki
Acceso a gecko por conexión RDP (Remote Desktop Protocol, protocolo de Microsoft)
Este protocolo, a diferencia del protocolo SSH, nor permite conectarnos a gecko a través de una interfaz gráfica conocida por todos: el Escritorio y es similar a VNC. Es decir, nos permite trabajar en gecko tal cual lo hacemos en nuestro ordenador habitual. Vamos a ver cómo usarlo. Para este protocolo también es necesario estar en la red de la UPV o conectarse a ella a través de la VPN de la UPV.
Instalar KRDC (GNU Linux) o Microsoft Remote Desktop (macOS)
En Windows el protocolo está (o debiera estar) por defecto, pero para conectarnos desde otros sistemas operativos necesitaremos instalar por ejemplo KRDC (GNU Linux) o Microsoft Remote Desktop (macOS).
-
Como instalar KRDC en Debian, Ubuntu y derivados: Podemos buscarlo en la app-store preinstalada por defecto, por ejemplo, Ubuntu Software, e instalarlo. También podemos hacerlo a través de la Terminal con el comando
sudo apt install krdc
. -
Como instalar Microsoft Remote Desktop en macOS: Lo podemos encontrar en la Mac App Store
Acceder a gecko
Al abrir el programa, nos encontraremos una interfaz gráfica muy sencilla:
https://github.com/LofNaDI/Tutorials/blob/main/images/KRDC.png
En el apartado Connect to / Conectar a, seleccionamos la opción rdp. A la derecha, escribimos usuario@gecko.gnd.upv.es:3389, donde usuario será el nombre que tengamos asignado en gecko. Pulsamos Enter
y nos aparecerá el siguiente cuadro de opciones:
https://github.com/LofNaDI/Tutorials/blob/main/images/cuadro_opciones.png
Nos aseguramos de tener la distribución de teclado en español. Podemos dejar el resto de configuraciones como vienen. Aceptamos, introducimos la contraseña de Gecko y entraremos a nuestro Escritorio Remoto. Si no funciona, debemos estar seguros de encontrarnos en la red de la UPV o en la VPN de la UPV, al igual que pasaba con la conexión SSH. Una vez dentro podemos manejar el ordenador con normalidad.
Usar KRDC
El uso es como el de un ordenador normal.
Para dejar programas corriendo sin tener que estar conectados, tan solo debemos cerrar la aplicación KRDC sin cerrar la sesión. Así, la próxima vez que entremos lo tendremos todo tal cuál lo dejamos.
Es importante recordar que cuando no dejemos ningún programa abierto en gecko debemos cerrar la sesión para desconectarnos. De esta manera se podrá realizar un mejor mantenimiento del sistema.
Acceso a gecko por conexión SSH
Conectarse
Lo primero que ncesitamos es tener una ruta de acceso. Para ello tenemos dos opciones:
- Estar en un ordenador interno de la UPV.
- Conectarnos a la VPN (Virtual Private Network) de la UPV. En este enlace están las instrucciones para hacerlo en diferentes sistemas operativos https://www.upv.es/contenidos/INFOACCESO/infoweb/infoacceso/dat/697481normalc.html
Cumplidos uno de estos dos requisitos, procedemos a establecer la conexión. La conexión a gecko se realiza mediante el protocolo SSH. La forma de hacerlo varía según el sistema operativo que estemos usando:
-
Linux: Ya que gecko opera con Linux, este sistema operativo ofrece la forma más sencilla de conectarse. Tan solo tenemos que abrir una Terminal de comando y escribir:
ssh [email protected]
. A continuación nos pedirá nuestra contraseña. Cuando la tecleemos no aparecerá nada en pantalla, pero se estará escribiendo. Pulsamos Intro y estaremos dentro. -
Windows: El programa Putty se utiliza para conectarse a través de protocolos SSH. Visitar su web para aprender a instalarlo y usarlo. https://www.putty.org/
-
Mac: La conexión se establece de la misma forma que con Linux.
Familiarización con gecko
El protocolo SSH nos permite manejar la máquina remota a través de comandos de Linux. Por ello, es importante familiarizarnos con los más esenciales. Aquí dejo un enlace para empezar con esta tarea: https://www.hostinger.es/tutoriales/linux-comandos. Esta otra web contiene un tutorial que cubre de forma muy educativa los principios básicos: https://www.digitalocean.com/community/tutorial_series/getting-started-with-linux
Al entrar, estaremos situados en nuestra carpeta (directorio) personal de trabajo: /home/usuario/. El símbolo ~ suele usarse en Linux para identificar este lugar. De hecho, podemos ir a nuestra carpeta personal desde cualquier otro punto usando el comando cd ~
. Con el comando cd /
iremos al directorio raíz (root). Dentro del directotio raíz se encuentra todo lo que haya en el sistema. Si usamos el comando ls
veremos todas los archivos y directorios. Tenemos, por ejemplo, el directorio opt, en el que se suelen instalar programas de terceros, y el directorio home, donde se encuentran las carpetas personales de todos los usuarios.
Todo lo que haga un usuario (subir archivos, correr programas, etc) debe hacerlo en su directorio personal. Antes de realizar cualquier cambio en otra parte del sistema, los usuarios deben ponerse en contacto con el administrador del sistema
Primera conexión
En nuestra primera conexión conviene realizar unos ajustes en nuestro directorio personal.
1. Cambiar nuestra contraseña
Es conveniente cambiar la contraseña que se nos asigna por defecto. Para esto usamos el comando passwd
, que nos pedirá nuestra contraseña actual y la nueva que queremos tener. Al teclear las contraseñas no aparecerá nada en pantalla, pero quedará registrado todo lo que tecleemos, igual que al usar la contraseña para establecer la conexión SSH.
2. Activar los comandos de Conda
Conda es un gestor de Entornos (Environments) para cualquier lenguaje. Un Entorno es el conjunto de características de software que se utilizan para una tarea. Los Entornos permiten controlar las versiones y paquetes instalados para un uso concreto. Por ejemplo, podemos tener un entorno con todos los paquetes de TensorFlow instalados para entrenar una red neuronal con una versión concreta de los programas. En Gecko ya está instalado Miniconda (una instalación mínimalista de Conda), de modo que debemos activarla. Para ello seguimos los siguientes pasos:
- En el directorio personal, usar el comando
nano .bashrc
. - Vamos al final del archivo que se abre en la terminal y añadimos el texto
export PATH="/home/miniconda/miniconda3/bin:$PATH"
. - Salimos pulsando Ctrl+X, confirmando los cambios pulsando y, despueś Enter.
- Por último, usamos el comando
source .bashrc
. Hecho esto ya tenemos Conda disponible
3. Iniciar Conda y crear un entorno:
Ahora, lo más conveniente es activar Conda para crear nuestro propio entorno de trabajo acorde a nuestras necesidades o para utilizar un entorno ya existente creado por otro usuario. Lo primero será usar el comando conda init
en nuestro directorio personal. Hecho esto, nos pedirá que reiniciemos la conexión. Usamos el comando logout
y nos reconectamos de nuevo. Ahora, en la terminal, aparecerá el texto (base) a la izquierda de nuestro usuario. Esto significa que estamos en el entorno por defecto de Conda. Éste contiene los paquetes básicos por defecto y es importante que no realicemos cambios en (base). Cada vez que entremos a Gecko a partir de ahora siempre estará activado.
Para crear nuestro propio entorno, conviene duplicar (base), de modo que tengamos los paquetes básicos ya instalados. Usamos el comando conda create -p /home/miniconda/miniconda3/envs/nombre\_del\_entorno --clone base
. Si usamos el comando conda env list
veremos los entornos disponibles, incluido el que acabamos de crear. Para cambiar de entorno usamos conda activate nombre\_del\_entorno
.
Podemos hacer que nuestro entorno se active automáticamente cada vez que nos conectemos a Gecko. Abrimos el archivo .bashrc con el comando nano .bashrc
, vamos al final, y escribimos el comando conda activate nombre\_del\_entorno
. Salimos usando Ctrl+X, confirmando los cambios, y ya estaría listo.
Para aprender más sobre Conda (instalación de paquetes, manejo de entornos, etc), visitar su documentación en este enlace: https://conda.io/projects/conda/en/latest/index.html
Lanzar programas
Normalmente las estaciones de tabajo como Gecko se utilizan para correr programas que tardan horaso incluso días en finalizar. Si lanzamos uno de estos programas y cerramos la conexión (cerrando la terminal, apagando nuestro ordenador, etc), estos programas se detendrán. Para evitarlo, debemos crear uns sesión que siga corriendo de fondo. En Gecko se pueden usar tres progamas: tmux, screen y byobu. En este caso vamos a explicar tmux.
Para iniciar una sesión utilizamos el comando tmux
. Abajo nos aparecerán las sesiones que tenemos activas. Podemos abrir más, pulsamos Ctrl+B, lo soltamos y pulsamos la tecla C. Ahora podemos lanzar cualquier programa. Por ejemplo, podemos lanzar un script de Python prueba.py, pidiendo que el output se guarde en el fichero prueba.out, y que se ejecute en segundo plano por si queremos lanzar más programas en una misma sesión. El comando sería: python prueba.py &>prueba.out &
. Utilizando el comando jobs
podemos ver que se está ejecutando.
Para desconectarnos de gecko sin que se detengan los programas lanzados en tmux, pulsamos las teclas Ctrl+B, soltamos, y pulsamos D. Esto dejará la sesión de tmux corriendo incluso cuando cortemos la conexión SSH. Para recuperar la sesión la próxima vez que entremos, usamos el comando tmux attach
.
Para profundizar más en este programa: https://github.com/tmux/tmux/wiki