Lo hice y lo entendí

El blog de Vicente Navarro
29 jul

Cambiar la fuente del CMD de Windows

Ya son cuatro las entradas anteriores dedicadas al Cygwin. Esta no es exactamente la quinta, ya que vamos a contar algo genérico de Windows, pero sí es algo que es mucho más útil cuando usamos Cygwin que cuando no lo usamos, ya que en realidad el CMD de Windows normalmente no se usa más que para escribir un par de comandos, entre otras cosas porque Windows no da facilidades para trabajar en la consola.

Por defecto, el CMD sólo nos permite usar dos fuentes: Raster Fonts (fuentes bitmap con la apariencia de la fuente VGA de la consola de los PCs) y la fuente True Type Lucida Console.

cmd properties

Sigue leyendo »

28 jul

Terminales para Cygwin. Notas sobre Terminfo y Termcap.

Llevamos varias entradas ya hablando del Cywin. En la de Instalar un Cygwin portable en una memoria USB comentaba que el Cygwin se usa normalment en una ventana de CMD de Windows. El tipo de terminal que usa Cygwin cuando funciona dentro de un CMD es cygwin:

vnavarro@DARKSTAR ~
$echo $TERM
cygwin

Cada tipo de terminal supone una forma diferente de hacer scrolling, de mover las líneas por la pantalla, los retornos de carro y de línea, de borrar el carácter anterior, de limpiar la pantalla, de conocer el número de líneas y columnas, de cómo usar colores y si se pueden usar, etc. Para la mayoría de aplicaciones de línea de comandos típicas de UNIX (por ejemplo, ls, awk, sed, grep, cat, mv, cp), todas estas especificaciones son indiferentes: Ellas toman la información que necesitan de sus argumentos de la línea de comandos o de la entrada estándar y sacan los resultados a través de la salida estándar y del código de error. Pueden incluso funcionar sin un terminal. Sin embargo, hay muchas otras aplicaciones que tienen que conocer muy bien cómo mover y posicionar texto por el terminal, como por ejemplo el vim, el mc, o el top.

Para que las aplicaciones que lo necesiten puedan interactuar con los múltiples tipos diferentes de terminales, las aplicaciones pueden usar, bien la librería Termcap, bien la librería ncurses junto con la base de datos de terminales Terminfo.

El Terminfo almacena la información de todos los tipos de terminal en /usr/share/terminfo. Dentro de ese directorio, por ejemplo el fichero c/cygwin almacena la información sobre el tipo de terminal que por defecto usa el Cygwin en el CMD de Windows, y el fichero v/vt100 almacena el tipo de terminal más común y más emulado.

El Termcap también tiene su (mucho más pequeña) base de datos de terminales centralizada en un fichero único, el /etc/termcap. Podemos usar herramientas como el infocmp -C o el captoinfo (herramientas incluidas en el ncurses) para pasar la configuración para un tipo de terminal de un formato al otro.

Sigue leyendo »

20 jul

Servicios en Cygwin (syslogd, sshd, telnetd, ftpd, nfsd, etc.)

En entradas anteriores hemos tratado diversos temas sobre la utilización del Cygwin, centrándonos mucho en la consola del Cygwin y en su portabilidad. Pero una de las cosas más importantes de los sistemas UNIX son sus servidores/servicios/demonios que trabajan en segundo plano sin aparecer para nada en la consola. Los más típicos son los de red, aunque hay muchos otros. En Cygwin también podemos usarlos, y opcionalmente podemos usar la infraestructura de Windows para convertirlos en servicios de Windows, de forma que podamos controlarlos usando el panel de Servicios, algo muy conveniente.

Para poder usar servicios de red, es muy importante tener en cuenta que la configuración por defecto del Firewall de Windows no nos permitirá su uso, de modo que en todo momento tenemos que tener en cuenta la necesidad de configurar correctamente este Firewall o cualquier otro Firewall Personal que podamos tener instalado.

También es muy importante, si queremos crear servicios de Windows, haber hecho la instalación para todos los usuarios, no sólo para el actual:

Cygwin - Instalación para todos los usuarios

Además, los usuarios de Windows 2003 tendrán que tener alguna precaución adicional, ya que como dice el manual de Cygwin en la importante sección NT security and usage of ntsec:

On NT and Windows 2000 the SYSTEM user has these privileges and can run services such as sshd. However, on Windows 2003 SYSTEM lacks the Create a token object right, so it is necessary to create a special user with all the necessary rights, as well as Logon as a service, to run such services. For security reasons this user should be denied the rights to logon interactively or over the network.

En esta entrada vamos a tratar los siguientes servicios:

Sigue leyendo »

18 jul

Trabajando con Cygwin

Cualquiera que se sienta confortable trabajando con una shell de Linux podrá comenzar a trabajar desde el primer momento con Cygwin sin absolutamente ninguna dificultad.

Sin embargo, el Cygwin tiene algunas peculiaridades debidas a su naturaleza Windowsera que conviene que conozcamos para poder sacar el máximo rendimiento de este excelente proyecto. Vamos a verlas:

Sigue leyendo »

06 jul

Instalar un Cygwin portable en una memoria USB

Para aquellos que no lo conozcan, el Cygwin es un oasis en el desierto del Windows, un destello de luz entre sus tinieblas… Poético, ¿verdad? Bueno, ahora en serio, el Cygwin son dos cosas:

  • Una librería dll (cygwin1.dll) que proporciona una capa de emulación de POSIX a las aplicaciones que hagan uso de ella.
  • Una muy importante colección de herramientas migradas de Linux fácilmente usando la librería anterior.
Logo de Cygwin

Con Cygwin tenemos en un entorno unificado la mayoría de las aplicaciones de consola de Linux y, además, como lleva también una implementación del X.org (Cygwin/X), también muchas aplicaciones gráficas. Hay incluso GNOME sobre Cygwin (CyGNOME) y KDE sobre cygwin.

Para dar una idea de lo que lleva cygwin, podemos citar algunos de los programas que lleva la distribución estándar: gcc, bash, sed, awk, bzip2, wget, apache, ssh, sshd, perl, vim, emacs, latex, pine, netcat, rsync, rpm, dpkg, mc, cpio, curl, gv, fvwm, twm, xfig, xterm… Cygwin Package List.

Sigue leyendo »

05 jul

Arrancar Linux, Windows y MS-DOS de una memoria USB

Ahora que tenemos toda la información necesaria en entradas previas:

podemos comenzar a trabajar en confeccionar una memoria USB con varios sistemas operativos unidos con el GRUB. La tarea consiste en ordenar todo lo que hemos hecho en entradas anteriores de forma coherente para acabar con todo junto, pero no revuelto, en la misma memoria USB.

Nos vamos a encontrar con un inconveniente muy importante: El BartPE necesita una partición FAT16 para arrancar de USB, no le sirve una FAT32. Por un lado, el tamaño máximo de partición de FAT16 es de 2GB (con un escandaloso tamaño de clúster de 32Kb), con lo que no podríamos ponerlo en memorias USB más grande. Por otro lado, he descubierto que hay muchos más problemas para arrancar MS-DOS desde USB usando FAT16 que usando FAT32, especialmente si usamos el comando ms-sys.

Sigue leyendo »

03 jul

Sobre el BartPE. Arrancar Windows/BartPE desde una memoria USB.

Mientras que hay infinidad de LiveCDs y CDs de rescate de sistemas operativos UNIX, no abundan en absoluto los de Windows, ya que Microsoft da pocas facilidades para crearlos, aunque sí ofrece una posibilidad, gracias a su Windows Preinstallation Environment (WinPE). Con esta herramienta, diversos fabricantes de software han creado interesantes CDs bootables como el del Symantec Ghost o el del ERD Commander (un producto de Winternals, empresa comprada por Microsoft, que nos permitía editar passwords de Windows, entre otras útiles funcionalidades).

ERD Commander 2005

Sigue leyendo »

29 jun

Arrancar MS-DOS desde una memoria USB

Continuando con la entrada Arrancar Knoppix desde una memoria USB usando SYSLINUX, en esta vamos a comentar cómo arrancar MS-DOS desde la memoria USB, información que usaremos posteriormente para construir nuestra memoria USB que arranque varios sistemas operativos.

Valiéndonos del comando ms-sys desde Linux la tarea es muy sencilla. Partimos con una memoria USB completamente vacía, cosa de la que nos aseguramos llenando el dispositivo de ceros con el comando dd:

# dd if=/dev/zero of=/dev/sdi
dd: writing to `/dev/sdi': No space left on device
492545+0 records in
492544+0 records out
252182528 bytes (252 MB) copied, 192.376 seconds, 1.3 MB/s

Sigue leyendo »

06 jun

¿Cómo hacer cables de red?

¿Qué ocurre si, en la era del todo WiFi e inalámbrico, vives en una comunidad de vecinos en la que por la noche se pueden llegar a ver hasta 15 puntos de acceso diferentes llenando por completo todos los canales disponibles? Pues simplemente que la señal de una habitación no llegas a recibirla en otra. Y si la recibes, es tan inestable que se te corta continuamente. Sí, sí, incluso con una antena de dos palmos…

Por eso decidí hacer llegar a (casi) todas las habitaciones cables Ethernet usando los tubos del operador alternativo de telecomunicaciones, para olvidarme de los cortes e inestabilidades para siempre. Aquí vemos el router Zyxel Prestige 660HW-61 con cables de red y de teléfono saliendo hacia las habitaciones:

Cableado Casa - Router

Y aquí vemos cómo quedan las rosetas de teléfono y red (es muy difícil encontrar rosetas de red bonitas, y cuando se encuentran, son muy caras):

Cableado Casa - Roseta

Y fruto del trabajo hecho, y de los múltiples cables que he hecho a posteriori a petición popular, me declaro una autoridad en la materia y me voy a atrever a contar los difíciles pasos que hay que seguir hasta llegar a tener un cable de red.

Sigue leyendo »

03 jun

Wake on LAN

Hoy en día hay mucha gente que tiene en casa un ordenador conectado a Internet casi siempre encendido y al que se puede acceder desde cualquier lugar, normalmente por SSH en sistemas UNIX (aunque también hay servidores SSH para sistemas Windows, son menos frecuentes, porque las posibilidades que tenemos en la shell de Windows son muy limitadas) y por VNC o RDP en Windows. En muchos casos, es bastante normal que además de ese ordenador siempre encendido se tenga algún otro que sólo se enciende cuando se está en casa.

Pero hay veces que, estando lejos, nos puede interesar encender ese otro ordenador de forma remota porque necesitamos un fichero que tenemos en él o necesitamos hacer algo en él. Para esas situaciones, lo mejor es tener el Wake on LAN (WoL) preparado en esa máquina y las utilidades necesarias para activarlo en la máquina que no solemos apagar.

El WoL es posible en los PCs actuales gracias a las fuentes de alimentación ATX que, cuando el ordenador está apagado, siguen alimentando a ciertas partes de la placa base permitiendo asimismo el Wake on Ring y la posibilidad de arancar el PC sólo pulsando una tecla del teclado o que se encienda a una determinada hora.

Sigue leyendo »

Tema LHYLE09, creado por Vicente Navarro