sábado, 28 de noviembre de 2020

Como Consultar la configuración de red de mi equipo PC con comandos de consola para Linux distros basados en Debian

Como ver la configuración de la red en mi PC, con comandos de consola

Por diversas razones en ocasiones necesitamos acceder a la información de configuración de red del equipo que estamos usando.

Como esta configurada mi red

La forma mas cómoda y rápida de acceder a esta información es mediante la consola y los comandos respectivos.

La ip del equipo, puerta de enlace (gateway), nombre del host(del equipo), ip de los DNS y número MAC de la tarjeta de red instalada en el equipo.

IP asignada a la tarjeta de red del equipo (Dirección IP)

El comando que se usa en Linux para obtener la IP es el siguiente:

ifconfig

Abajo vemos subrayado de  color rojo que esta tarjeta de red tiene asignado la ip 192.168.1.25, y tiene un prefijo inet. Esta IP  es del tipo IPv4. Vemos del lado izquierdo en la linea inmediata superior, que esta tarjeta esta identificado como eth0:. Notamos también que justo debajo hay otro prefijo inet6 con una serie de letras y números separados por ":" (dos puntos). Este otro tipo de ip que se asigna a la tarjeta y es conocido como IPv6, pero todavía no está muy extendido su uso.

Si el equipo tuviera otra tarjeta aparecería otro grupo de datos relacionados con esta y tendría la identificación eth1:



Vemos así mismo que tiene una mascara(netmask) 255.255.255.0 y la dirección de broadcasting(broadcast) es la 192.168.1.255.

Veremos mas adelante que la mascara(netmask) tiene otra forma de representarse, en lugar de usar números y puntos, ya que este se sustituye por /24, pero se le debe anteponer el rango de la red, así: 192.168.1.0/24 .

Siguiendo viendo los datos arrojados en la imagen vemos que también aparece la MAC (Media Access Control). este es un número que cada tarjeta de red tiene asignada y es único. Es una especie de número de identidad único que se asigna a cada tarjeta de red en el momento de ser fabricadas.

Veamos de nuevo la imagen anterior y ahora veremos la linea roja que subraya el número de MAC de esa tarjeta, con el prefijo ether:

08:00:27:27:16:a0


Quiero aclarar aquí que puede salir información en un contexto diferente en algunas versiones y distro de Linux, ya que por ejemplo en español MAC parace de primero, y coinciden en indicar en la linea la palabra Ethernet, ya sea al principio o al final de la linea.

Hay que aclarar que los prefijos inet, inet6, etho:, ether, lo: no son realmente prefijos son simplemente nombres que le pone linux, para identificarlos dentro del sistema y no forman parte de los números.

Lo que se debe tener en claro que son etiquetas y están justo antes del numero y pueden ser distintas en otros sistemas.

He utilizado el término para que se entienda mejor.

Puerta de Enlace o Gateway


Para conocer nuestra puerta de enlace(Gateway) usaremos el comando:

ip route  ó  ip route show

Veamos la imagen en este caso, porque puede ser un poco confusa:


Vemos arriba con rojo lo que seria la pasarela de enlace, que se identifica por el prefijo default via. En este caso es 192.168.1.1

Pero.... y que son esos nos otros números?

El número que está justo debajo de default es simplemente el rango de la red y es fácilmente distinguible porque se añade al final /24, que es la máscara usada en la red, escrita de otra forma.

Es decir, que este número no lo tendrá ningún equipo, porque su función es simplemente señalar un tramo de red, que contendrá equipos identificados con IPs desde el número 1 hasta es el 254.

En otras palabras 192.168.1.0/24 representa un tramo de red que va desde la IP 192.168.1.1 a la IP 192.168.1.254.

Aquí vale recordar que existe una IP adicional pero que la misma por diseño esta reservada para el broadcasting de la red es la 192.168.1.255.

Está IP la utilizan los equipos de la RED para BROADCASTING (vocear) o difundir información entre todos los nodos del segmento o recibirla a través de paquetes del tipo UDP por el puerto 520, usualmente.

Por ultimo vemos a una IP que debe parecernos conocida y por que efectivamente lo es, ya que corresponde a la IP del equipo. Que hace aquí?

Simplemente señala ser la fuente desde donde se ejecutó el comando ip route, de ahí que su prefijo sea src un abreviación de source(fuente u origen).

Esto señala la ruta que deben seguir paquetes emitidos por nuestra maquina 192.168.1.25, si desea comunicarse con otro equipo fuera del segmento donde se encuentra, que por defecto es la IP 192.168.1.1

Servidores DNS


Para consultar cual o cuales es nuestro servidor(es) DNS procedemos ver lo que contiene el archivo resol.conf, el cual se encuentra en el directorio /etc normalmente, con el comando cat, que es un visualizador de archivos de texto.
Escribimos en la consola la siguiente sentencia:

cat /etc/resolv.conf


La sentencia anterior nos devolverá lo que vemos en la siguiente imagen:



Podemos ver que los DNS están identificados con el prefijo nameserver(servidor de nombres) con la IPs 208.67.222.222 y 208.67.220.220

En este archivo podemos añadir otros DNS. Los mostrados están definidos manualmente en la conexión de Red y corresponden a la empresa OpenDNS, una web dedicada a prestar este servicio.

Pero no siempre aparece algo así, suele aparecer la IP 127.0.0.1, que en realidad no es un servidor DNS es nuestra propia maquina, pero el equipo usa los DNS que estén configurados en el DHCP.

Hostname o Nombre de Ordenador


Para consultar el nombre del equipo, solo tenemos que escribir en la consola:

hostname  ó  cat/etc/hostname

Cualquiera de los dos nos devolverá el nombre del equipo, en el caso de distros basados en Debian así de sencillo.

La primera opción es un comando de consola, y por lo tanto debería funcionar en cualquier sistema operativo Linux.

El segundo es un archivo donde se guarda el nombre, lo que significa que podemos cambiar el nombre del equipo a nuestro antojo.

Para cambiar el nombre entonces lo único que tenemos que hacer es abrir la consola o (Ubuntu), y escribimos:

sudo nano /etc/hostname
 

Al pulsar enter se nos abre el nano y simplemente cambiamos el nombre


Pulsamos  Ctrl+o  para guardar los cambios y salimos de nano pulsando  Ctrl+x

Ahora debemos reiniciar el equipo, ya hasta que no reiniciemos el nombre anterior se mantiene durante toda la sesión.  

Si deseamos que el cambio surta efecto inmediatos aunque esto suele funcionar en distros basados en Debian, como Ubuntu, pero no en todos, escribrimos la siguiente sentencia:

/etc/init.d/hostname.sh start

Escribimos en la consola hostname y nos debe salir nuestro nuevo nombre del equipo.

Esto sería todo pero para curiosos, voy añadir la siguiente parte que no tiene que ver con mas información de la red sino de como filtrar los comandos anteriores y resumir la información que arrojan.

Filtrando con grep 


Ahora veremos como podemos obtener la información filtrandola con la opción grep

Se acuerdan de los prefijos que mencione mas arriba, inet, inet6, ether, etc...? Pues ahora verán que relevancia tienen según necesitamos obtener información.


Si escribimos en la consola lo siguiente:

ifconfig | grep inet




Vemos como grep nos ha filtrado solo las unidades de red y que nos muestra los dos tipos de IP, las tipo IPv4 = inet y las IPv6 = inet6.

Los servidores o equipos que funcionan como pasarelas o gateway, se verán mas unidades.

Para la MAC recomiendo usar la siguiente sentencia:

ifconfig | grep Ethernet


La razón de usar Ethernet se explico antes y es que suele estar escrito en la misma linea donde está el numero MAC.

Para los Gateway(Puerta de enlace)  usaremos la sentencia:

ip route | grep default  ó ip route show | grep default


Así mismo si hay otras conexiones de red , nos saldrán todas las pasarelas que tengan indicadas las unidades de red.

Finalmente para los DNS no tiene mucho sentido aplicar el grep ya que por lo general saldrán todo los especificados, pero puede hacerse

 Como siempre si detectas algún error u omisión, o hacer una observación importante, por favor deja un comentario, para corregir, cambiar los conceptos que sean necesarios. Muchas Gracias por visitar mi blog.

martes, 10 de noviembre de 2020

GLPI Problemas de instalacion del GLPI

GLPI Problemas de instalacion del GLPI

Errores Instalando GLPI en UBUNTU


Si estás instalando la ultima versión GLPI 0.90.1 (11-03-2016) este tutorial te servirá igualmente

Instalando GLPI puedes encontrarte con errores como los que aparecen en la siguiente imagen:


Su solución es sencilla, solo hay que hacer un cambio en un archivo de php y cambiar los permisos del usuario que esta instalando el GLPI en el directorio /var/www. (lea el final del artículo donde he añadido información relativa a esto) Si Ud. a cambiado la ruta anterior al instalar el apache debe deberá dar a esa nueva dirección de apache los permisos necesarios que veremos a continuación.

Para el primer error debe compilar su PHP con la extensión MySQL, se debe modificar el archivo de configuracion, php.ini, del apache en la siguiente dirección /etc/php5/apache2/php.ini.

Ubica la sección Dynamic Extensions; y busca la siguiente linea extension=mysql.so  y descomenta la linea quitando ";" al principio de la linea.


Pulsa guardar y reinicia el servidor apache mediante service apache2 restart


Ahora veremos que al volver intentar instalar GLPI este error ha desparecido, y persisten los de creación de directorios



Para eliminar el resto de los errores es simplemente darle permiso a los subdirectorios config y files, y lo hacemos con chmod -R 777 /var/www/config y chmod -R 777 /var/www/config. 




Una vez hecho esto, la instalación se ejecutará sin problemas.

Recientemente leí en la documentación oficial de GLPI que la instalación se sugiere hacerse en un subdirectorio glpi que estará dentro de la carpeta var/www, que es el DocumentRoot del apache, según sea lo especicificado en sus archivos de configuracion, en esa raiz de documentos debemos crear un directorio llamado glpi, descomprimir ahí los archivos de GLPI y luego utilizar el siguiente comando para que el apache se convierta en propietario del mismo.

chown -R www-data glpi

Posteriormente, se lanza la instalación indicando en la barra de direcciones

http://direccion-servidor/glpi, normalmente utilizamos localhost , 127.0.0.1

http://localhost/glpi o
http://127.0.0.1/glpi

Ahora quiero explicar mejor, para los que no le saben o estén confundidos, lo que significa el DocumentRoot. En los archivos de configuración del Apache se define en que subdirectorio por defecto del equipo o servidor, estarán los documentos que forman la pagina web a mostrar al usuario final.

Esto difiere entre en las versiones de apache, con lo cual la ubicación varia en algunos servidores de /var/www  a  /var/www/html de hecho en el servidor apache de xampp este subdirectorio es completamente distinto.

Solo se puede saber abriendo los archivos de configuración por defecto del Apache.

Voy a mostrar un archivo de ejemplo de un Apache instalado en un Ubuntu 14.04 LTS, mediante lamp.


Puedes observar que el archivo de configuración se llama en este caso 000-default.conf, y en la siguiente imagen verás que el mismo se encuentra ubicado en /etc/apache2/sites-available y como puedes ver en este servidor el directorio raiz es /var/www/html.


Para ubicar donde esta instalado el apache2 puedes usar el siguiente comando:

sudo locate apache2.conf

A partir de ahí buscar en el subdirectorio sites.available el archivo arriba indicado





viernes, 6 de noviembre de 2020

Como Probar programas en java dentro del editor sublime, compilar y ejecutar Java desde Sublime

Como Probar programas en java  dentro del editor sublime, compilar y ejecutar Java desde Sublime


Sublime es un poderoso editor de  texto con el que podemos crear y editar cualquier programa de cualquier lenguaje, personalizarlo a nuestro gusto para cada uno de ellos de tal manera que podemos estar editando varios lenguajes diferentes al mismo tiempo sin salirnos del programa y tener ayudas en la codificación y la escritura de los diferentes código, todo en un solo editor.

Por supuesto java no se le iba a escapar y a continuación veremos que debemos hacer para que nuestro editor favorito compile y ejecute nuestra aplicación, sin tener que salirnos de sublime.

Actualmente la versión Sublime Text2, ya tiene un compilador de java cuya única utilidad es compilar el programa o aplicación y solo nos dice si hay errores o no. Para mi gusto esto deja una sensación de que falta algo adicional, ya que yo suelo usar mucho System.out.println("xxxx"); para que mi indique algún valor determinado y mensaje en alguna parte del programa.

Como puedo hacer que además de compilar ejecute el código?

 Para esto debemos insertar las rutinas de llamadas de compilación y ejecución de java en el sistema de construcción del programa (Build System) en las herramientas(Tools).

Buscamos Tools en la barra de tareas superior de sublime, ponemos el cursor sobre Build System y pulsamos con el botón izquierdo del ratón sobre New Build System. Nota: si hemos sido curioso, veremos que entre la opciones que están por encima de New Build System  vemos que está JavaC, que es el compilador comentado antes.


Eso provocará que el sublime nos muestre la siguiente pantalla:
 


A continuación vamos sustituir el código que se nos muestra en la imagen anterior,  por el siguiente que simplemente es un objeto creado basado en  JSON

{
     "cmd": ["javac ${file_name} && java ${file_base_name}"] ,
     "shell": true
}



A continuación vamos a guardarlo buscando en la barra de tareas la opción File y luego Save As...


Lo anterior nos trae la siguiente pantalla, donde vemos que se nos sugiere poner el nombre untitled.sublime-build, y que el mismo va a ser guardado en un directorio sugerido por sublime. OJO:Dejaremos la extensión del archivo y el directorio sugeridos por sublime, sin cambiarlos.


Solo modificamos la parte del nombre resaltada en color naranja, y escribimos el nombre que deseemos que debe ser algo que nos indique que es el compilador y el ejecutor del aplicaciones java. Por ejemplo:

javacompile_and_run

Algo que nos recuerde que hace el comando de sublime que hemos creado.



Pulsamos Guardar, y con esto ya hemos terminado de implementar nuestro nuestra opción compilación y ejecución de java dentro de sublime.

Solo resta probar que todo esté correctamente y para ello vamos a probar un programa sencillo que nos muestre por la consola de salida, algunas líneas.

Vamos a File en la barra de tareas y escogemos lo que deseemos New File o la opción Open File..., y pulsamos sobre ella, para abrir nuestro archivo. En mi caso abriré un archivo que ya tengo para probar.
 

Buscamos en donde se encuentra el archivo, lo seleccionamos y lo abrimos.


Una vez abierto tendrán algo parecido a lo siguiente, que lo coloco aquí, para que si lo desean. escriban un programa nuevo con el mismo contenido o similar para probar.



Para compilar y ejecutar este código solo habría que pulsar la tecla Ctrl dejarla pulsada y pulsar la tecla b. Esto lanzaría la compilación y luego ejecutaría el programa, pero solo si antes hubiéramos estado programando en Java y hubiéramos cambiado el Build System en Tools de la de barra de tareas.

Como yo he estado programando en JavaScript, tengo el compilador de ese lenguaje marcado y eso nos dará un error si intentamos usarlo con java, veamos de que estamos hablando:



Si aquí pulsamos Ctrl + b , lo que tendremos es lo siguiente:


Un error que no nos suena para nada, y nos podríamos volver locos buscando cual es el problema.

Por eso es importante tener un programa que previamente estuviera ya probado, por ejemplo en NetBeans o Eclipse, o directamente compilado y ejecutado desde una consola CMD en Windows o en el terminal en Linux, porque con esto descartamos un problema de código y ya sabremos que el problema es que hay algo mal  en el Build System de Sublime.

En este caso la causa ya la sabemos, vamos ahora a cambiar el Build System a la nueva opción que fue creada por nosotros como vemos en la siguiente imagen:


Y ahora volvemos a y probar pulsando de nuevo Ctrl + b , y........


Vemos que nuestra opción añadida para compilar y ejecutar funciona, lo cual nos permite usar sublime de forma más funcional.

Ya en adelante no tendríamos que ir a Build System cambiar de compilador ya que el nuestro esta marcado, hasta que quisiéramos compilar un programa en otro lenguaje.

Aquí debemos hacer una aclaración, y es que aquellas aplicaciones que usen la consola como entrada de datos no funcionan bajo sublime.


Veamos un ejemplo:

Supongamos que deseamos saber si un archivo existe y que pedimos el nombre del mismo desde una consola o terminal usando Scanner como se indica en la imagen de abajo:
 

El error de excepción es que  el ejecutor de Java detecta que la consola de Sublime no es realmente una consola válida del sistema operativo, para poder ingresar datos por la misma.

En este caso tenemos que hacer un cambio mas general y crear otro Build System que nos permita realizar esa tarea, pero normalmente no programamos aplicaciones Java para ingresar datos por consola, mas bien todo lo contrario.

Sin embargo en este enlace, se muestra como hacer que sublime utilice la consola del sistema operativo, para realizar las pruebas necesarias, para probar el código que se ha programado.


Como crear una consola para que sublime ejecute programas que necesiten entrar datos por consola

En el anterior anterior enlace se trata de como hacerlo con un sistema operativo Linux

Como siempre si detectas algún error u omisión, o hacer una observación importante, por favor deja un comentario, para corregir, cambiar los conceptos que sean necesarios. Muchas Gracias por visitar mi blog.

miércoles, 4 de noviembre de 2020

Como compilar y ejecutar desde sublime Java sin tener que salir de Sublime usando la consola del Sistema Operativo



Como compilar y ejecutar desde sublime Java sin tener que salir de Sublime usando la consola del Sistema Operativo

https://commons.wikimedia.org/wiki/File:DalNet-Mac.jpgExisten ciertos programas de aplicación Java que son utilizados desde terminales, donde todo se envía y se recibe en texto, tal cual se hacía en los inicios de la informática, durante los cuales aparecieron los primeros terminales de video. En un principio fueron usados aparatos de TV en blanco y negro. Luego aparecieron los famosos terminales VT que integraban un teclado, los mas extendidos.

En aquella época todo se manejaba escribiendo en una pantalla negra con letras verdes o ambar, y lo que eran imágenes no eran mas que lineas rectas, horizontales, diagonales y matrices de pixeles en la pantallas y de unos y ceros en las hojas impresas, con los que se lograban incluso fotografías en dos colores.

Hoy en día este tipo de aplicación es utilizada para equipo de control básico, como ciertos equipos de cadena de montaje, la domótica, controles de temperatura, detección de movimientos, niveles de líquido, etc... donde la carga inicial de los parámetros que servirán de rangos de servicio, se suelen introducir desde una terminal con una pantalla mínima.

Si se desea entender mas sobre el tema se aconseja mirar los proyectos basados en Arduino, Raspberry Pi, etc... donde este tipo de aplicación es muy utilizado, en diferentes lenguajes. 


Debido a esto me he animado a realizar este tutorial, porque por lo general esos programas son bastantes sencillos y Sublime sería ideal para desarrollar estas aplicaciones sin necesidad de instalar un IDE sofisticado tipo NetBeans o Eclipse, para realizar estas tareas.

Vamos entonces a entrar en materia, diciendo que para que Sublime compile y ejecute una aplicación java vamos a llamarlo tipo  consola interactiva, debe hacerlo desde la consola del sistema operativo en donde se encuentra instalado Sublime, o sea, CMD en Windows, y el Terminal en Linux.

Para ello Sublime debe invocar internamente una llamada a la consola ya sea de Window o el Terminal de Linux internamente y pasarle la aplicación para que se compile y sea ejecutada.



En este tutorial explicaremos como se hace para los sistemas basados en Linux.


Para Linux debemos crear un script tipo bash, y para ello abrimos el Terminal(consola) de Linux pulsando en el teclado la combinación de teclas Ctrl + Alt +t , en Ubuntu ó Alt + t  para distros basados en Debian, y escribimos nano o vi, según la preferencia de cada uno, lo cual abrirá un editor de texto muy sencillo. Yo abriré el nano, que me resulta mas lógico de usar.

Para usuarios mas nuevos en estos es recomendable que usen gedit, o algún editor de texto gráfico similar.


Ya abierta la terminal escribimos nano y pulsamos Entrar (Enter,Intro,Return, etc..)




Cuando estemos dentro del editor vamos escribir la siguiente lo siguiente:



#!/bin/bash
gnome-terminal -e "/bin/bash -c 'javac $1; java $2; echo; read -p 'Pulse_Enter_para_terminar.'; exit; exec /bin/bash'; &"




Pulsamos Ctrl + o , para guardar, lo cual va a solicitar antes que le pongamos un nombre al archivo.

Escribiremos un nombre que tenga sentido para nosotros y asociarlo para la compilación y ejecución del java desde Sublime y pulsamos Enter. Este nombre tiene que terminar en .sh.

Escribimos ConsolaJavaLinux.sh



Debemos obtener algo parecido a la siguiente imagen:



Pulsamos Ctrl +x, y salimos del nano.

Lo anterior ha grabado el archivo justo en el directorio donde nos encontramos en este momento, con lo cual debemos tomar debida nota de esto, ya que es primordial para luego ubicarlo donde mejor nos convenga o dejarlo alli si se desea.

Para saber donde en que directorio estamos escribimos en el terminal pwd (printing working directory), que significa imprime directorio de trabajo:



Con esto vemos en que directorio hemos creado nuestro archivo, y ahora utilizaremos el administrador de archivos nautilus, que por ser gráfico se verá mejor lo que vamos hacer.

Para invocar este programa solo tenemos que escribir nautilus en el Terminal


y esto nos abrirá el administrador de archivo



Ya sabemos que el archivo esta en el directorio /home/josem, esto equivale a Carpeta personal en el administrador de archivos (home/josem es sustituído por Carpeta personal), por la tanto vamos a Carpeta personal y buscamos allí el archivo ConsolaJavaLinux.sh, que hemos creado anteriormente.


Ahora procedemos a copiar el archivo al destino que hemos decidio, marcamos el archivo ConsolaJavaLinux.sh y pulsamos el botón derecho del raton y escogemos la opción Cortar (equivalente Ctrl + x), nos permite copiar el archivo en su destino y a la vez se elimina del directorio fuente, donde no lo necesitaremos para nada.


Ahora vmaos a la carpeta de destino. Por razones de mantener coherencia, en mi opinión es mejor colocar este archivo dentro de la carpeta de sublime que esta dentro del directorio oculto .config en Carpeta personal. Para poder ver los archivos ocultos con nautilus solo hay que ir al menú de tareas, pulsar sobre Ver y marcar Mostrar los archivos ocultos, o pulsar Ctrl + h.



Con esto ya ver los archivos y carpetas ocultos, ubicamos la carpeta .config y  buscamos dentro de ella la carpeta de sublime:




Vemos que solo hay una carpeta sublime nombrada como sublime-text-2, entramos en la carpeta, y dentro de ella pulsamos el botón derecho del ratón y pulsamos sobre Pegar para copiar ahí el archivo:


Y aquí vemos que ya tenemos el archivo dentro de la carpeta deseada:




Ahora marcamos el archivo ConsolaJavaLinux colocandonos sobre el pulsamos el botón derecho del ratón y luego pulsamos sobre Propiedades lo que nos abrirá una ventana donde escogeremos la pestaña Permisos y marcamos el recuadro de Ejecución: Permitir ejecutar el archivo como un programa.





Con esto ya estamos preparados para crear el Build System que necesitamos en Sublime, procedemos entonces abrir Sublime y en el menú superior de opciones vamos directamente a ToolsBuild System y New Build System...


Esto nos abre una ventana de edición en cuya pestaña nos indica un nombre sugerido untitled con la extensión .sublime-build. Vamos a sustituir el contenido que tiene por defecto al abrirse, por las siguientes líneas:

{
 "cmd": ["~/.config/sublime-text-2/ConsolaJavaLinux.sh ${file_name} ${file_base_name}"],
 "shell": true

}


Las partes importantes de estas líneas está en la primera línea, que es la que contiene la ubicación en donde se encuentra el archivo script de Linux que creamos y el nombre de este, por lo tanto las partes en rojo son las que cambian según la decisión que tome cada usuario:

Para aquellos que los desconozcan, en Linux este simbolo "~" equivale a la ubicación por defecto que Linux hace del usuario que usando el equipo. En otras palabras cuando Linux ve ~ ya sabe que lo tiene que sustituir por /home/nombre_usuario/.

Es decir, el directorio /home/ dentro del cual se crean todos los subdirectorios de los usuarios que se creen en el sistema operativo, /home/nombre_usuario. Es lo que equivale en Windows c:/Users/ dentro del cual se crea las carpetas de usuario /nombre_usuario/, La diferencia es que en Linux solo se crean las carpetas de los usuarios, mientras que Windows crea carpetas adicionales por defecto

Repasemos una vez más esta parte de la línea, ya que cualquier error aquí, simplemente hará que no funcione la consola.

      Ubicación el archivo         nombre del script
~/.config/sublime-text-2/ConsolaJavaLinux.sh

Una vez aclarado esto, toca ahora guardar el archivo Build System, y para ello vamos al menú principal de sublime y pulsamos sobre File y entre las opciones pulsamos Save:


Se nos abre la siguiente ventana en donde vamos a escribir el nombre que le daremos a este Build System. Solo modificaremos la parte sombreada naranja, y usaremos para este ejemplo un nombre como ConsolaRealLinux_Java.


Escribimos el nombre y pulsamos guardar.



Con esto hemos terminado de configurar todo para poder compilar y ejecutar las aplicaciones Java que requieran que se introduzcan datos desde la consola del sistema.


Solo resta probar que todo funciona vamos de nuevo al menú principal de Sublime, Tools, Build System y buscamos el nombre que le hemos dado al Build System que acabamos de crear, el cual era ConsolaRealLinux_Java y lo dejamos marcado  con el tilde:


Ahora simplemente es cuestión de buscar un programa que use la consola como entrada de datos, para probar que funciona:

Vamos a utilizar el siguiente:

import java.util.Scanner;
import java.io.*

 public class ExisteArchivo{

    public static void main(String args[]){   
        Scanner teclado = new Scanner(System.in);
        System.out.print ("Entra el nombre del fichero :");
        String nombre = teclado.nextLine();
        File fichero = new File (nombre);
       
        if ( !fichero.exists()){
         System.out.println ("El fichero no existe");
         } else {
             System.out.println ("El fichero existe!!!");           
       }
    }        
 }




Puedes copiar y pegar el código anterior de prueba o crear uno propio.



Recordar que el nombre del archivo debe ser el mismo que el nombre de la clase, en nuestro caso el nombre de este programa será ExisteArchivo.java

Una vez este guardado, pulsamos la tecla Ctrl y dejandola pulsada pulsamos la tecla b, y veremos como se inicia la apertura de la consola del sistema, compilará el programa y lo ejecutará.

Tenemos que ver algo similar a la siguiente imagen si usamos el programa anterior:


Podemos ver el terminal del Ubuntu 16.04 que es el SO que estoy usando y en el cual me esta solicitando un nombre del archivo, ya que el programa solo verifica que el mismo exista o no.

Con esto se ha probado que funciona como se esperaba, y siguiendo con la prueba, escribo cualquier cosa, para que comprueba si existe o no y devuelva un mensaje:


Y vemos que todo ha funcionado bien. Finalmente me pide que pulse Enter para terminar y cerrar la consola.

Espero que este tutorial les sirva de ayuda, y he sido especialmente detallista por cuestión de enseñar a los mas novatos, pero el mismo proceso es un poco complicado, porque tiene aspectos que no tiene que ver con la programación en si y he tratado de aclarar posibles dudas.

Sin embargo, si  alguien sigue teniendo alguna no dude en comentarlo y trataré de ayudarle gustosamente.


Como siempre si detectas algún error u omisión, o hacer alguina observación importante, por favor deja un comentario, para corregir o cambiar los conceptos que sean necesarios. Muchas Gracias por visitar mi blog.

Vistas de página en total