iTerm: poner título a las pestañas

A veces cuando tenemos muchas pestañas abiertas en el iTerm, especialmente en la misma shell (ya sea local o remota)  nos interesa poder distinguirlas. Bien el propio iTerm permite hacerlo, pulsando manzana+i (⌘+i) nos aparece una ventana en la cual podemos cambiar el nombre en el campo “name”.
ventana información iTerm
También podemos añadir un texto a este nombre desde la shell usando un simple echo con una secuencia de escapes:

echo "^[]1;texto^G"

NOTA: NO vale copiar y pegar ya que no funcionará, ^] es control+v y luego esc, ^G es control+v y luego control+g, es muy importante.
Con esto añadimos a la pestaña “texto” a lo que ya estuviera:
Pestaña iTerm con texto añadido
También podemos usar otro tipo de escape que es básicamente lo mismo:

echo -ne "\033]0;texto\007"

Lo interesante de esto es que el texto puede ser una variable o una función de Bash o lo que queramos con lo cual podemos añadir que nos indique el path o directorio actual:

 echo  "^[]1;${PWD/#$HOME/~}^G"

El problema de esto es que no es dinámico y si nos cambiamos de directorio no se cambia a menos que coloquemos esa cadena de escape en la variable PS1 que se encarga de cambiar el prompt:

PS1="\[\033]0;\u@\h: \w\007\]\u@\h:\W>"

Con lo que tanto el prompt como la pestaña se irán actualizando (usuario@host:path>) según vayamos cambiando de directorio.
Yo personalmente como prompt uso el siguiente que es a color y doble línea:

PS1="\[\033[33m\]\\u\[\033[37m\]@\[\033[32m\]\\H\[\033[37m\]:\[\033[36m\]\\w\[\033[37m\]\n\\$ "

Si además queremos que nos actualice la pestaña (solo el path para que se vea mejor y más útil):

PS1="\[\033]0;\w\007\]\[\033[33m\]\\u\[\033[37m\]@\[\033[32m\]\\H\[\033[37m\]:\[\033[36m\]\\w\[\033[37m\]\n\\$ "

Esto lo podemos meter en el fichero .bash_profile de nuestra home:

# Actualiza prompt y pestaña
export PS1="\[\033]0;\w\007\]\[\033[33m\]\\u\[\033[37m\]@\[\033[32m\]\\H\[\033[37m\]:\[\033[36m\]\\w\[\033[37m\]\n\\$ "
# Actualiza solo prompt
export PS1="\[\033[33m\]\\u\[\033[37m\]@\[\033[32m\]\\H\[\033[37m\]:\[\033[36m\]\\w\[\033[37m\]\n\\$ "

NOTA: solo puede estar activo uno de los dos así comenta o borra el que no quieras.

Sipcalc

Calculadora de subredes que funciona en consola, NO tiene entorno gráfico. Calcula todo tipo de redes y da información detallada.

Podemos compilar el source o mejor aún podemos instalar el port de MacPorts, por tanto requiere tener instalado MacPorts para esta segunda opción.

Página oficial: http://www.routemeister.net/projects/sipcalc/

Para instalar la aplicación:

$ sudo port install sipcalc

Ejemplo:

$ sipcalc 10.20.30.33/26
-[ipv4 : 10.20.30.33/26] - 0

[CIDR]
Host address            - 10.20.30.33
Host address (decimal)  - 169090593
Host address (hex)      - A141E21
Network address         - 10.20.30.0
Network mask            - 255.255.255.192
Network mask (bits)     - 26
Network mask (hex)      - FFFFFFC0
Broadcast address       - 10.20.30.63
Cisco wildcard          - 0.0.0.63
Addresses in network    - 64
Network range           - 10.20.30.0 - 10.20.30.63
Usable range            - 10.20.30.1 - 10.20.30.62

-

Ayuda y parámetros:

Usage: sipcalc [OPTIONS]... <[ADDRESS]... [INTERFACE]... | [-]>

Global options:
  -a, --all                     All possible information.
  -d, --resolve                 Enable name resolution.
  -h, --help                    Display this help.
  -I, --addr-int=INT            Added an interface.
  -n, --subnets=NUM             Display NUM extra subnets (starting from
                                the current subnet). Will display all subnets
                                in the current /24 if NUM is 0.
  -u, --split-verbose           Verbose split.
  -v, --version                 Version information.
  -4, --addr-ipv4=ADDR          Add an ipv4 address.
  -6, --addr-ipv6=ADDR          Add an ipv6 address.

IPv4 options:
  -b, --cidr-bitmap             CIDR bitmap.
  -c, --classfull-addr          Classfull address information.
  -i, --cidr-addr               CIDR address information. (default)
  -s, --v4split=MASK            Split the current network into subnets
                                of MASK size.
  -w, --wildcard                Display information for a wildcard
                                (inverse mask).
  -x, --classfull-bitmap        Classfull bitmap.

IPv6 options:
  -e, --v4inv6                  IPv4 compatible IPv6 information.
  -r, --v6rev                   IPv6 reverse DNS output.
  -S, --v6split=MASK            Split the current network into subnets
                                of MASK size.
  -t, --v6-standard             Standard IPv6. (default)

Address must be in the "standard" dotted quad format.
Netmask can be given in three different ways:
 - Number of bits    [/nn]
 - Dotted quad       [nnn.nnn.nnn.nnn]
 - Hex               [0xnnnnnnnn | nnnnnnnn]

Interface must be a valid network interface on the system.
If this options is used an attempt will be made to gain the address
and netmask from the specified interface.

Replacing address/interface with '-' will use stdin for reading further arguments.

MacPorts

Logo de MacPorts MacPorts es una iniciativo de la comunidad de código abierto para diseñar un sistema sencillo y simple de compilar, instalar y actualizar aplicación que no hay nativas para OSX pero si en código abierto. Hay miles (más de 4000) de aplicaciones portadas a OSX listas para compilar e instalar.

La página oficial: http://www.macports.org/

iTerm

Logo Solitaire XLiTerm es un completo programa de emulación de terminal desarrollado para OS X usando Cocoa. El objetivo de los desarrolladores es ofrecer a los usuarios de la mejor experiencia de línea de comando (shell) bajo OS X. La letra i representa un aspecto nativo de la interfaz de Apple, y enfatiza en el completo soporte internacional. iTerm se fusionó a partir de dos proyectos, CTerminal y TerminalX, ambos de los cuales se basaron en el proyecto JTerminal. La versión actual está aún en fase beta. Sin embargo, es muy funcional y utilizable y especialmente recomendable para cualquiera que necesite un terminal.

Página principal: iterm.sourceforge.net

Características:

  • o Aplicación Cocoa nativa que se ejecuta tanto en Panther, Tiger y Leopard.
  • Interfaz de usuario OS X nativo.
  • Soporte de PowerPC e Intel Mac.
  • Soporte de AppleScript.
  • Ventanas transparentes y las imágenes de fondo personalizadas.
  • Soporte de Bonjour.
  • Completa emulación de VT100, con soporte adicional para la mayoría de xterm y secuencias de escape ANSI más comunes.
  • Terminfo con soporte de mapeo de teclado.
  • Soporta selecciona-copia y pega con el botón del medio.
  • Soporta gran variedad de nuevas secuencias de escape xterm, incluida la secuencia de títulos de xterm.
  • Soporta ANSI 16 colores, que son completamente personalizables.
  • Multi-pestaña dentro de una ventana.
  • Las pestañas se pueden arrastrar y soltar entre ventanas.
  • Las etiquetas de las pestañas pueden cambiar de color para indicar actividad dentro de la pestaña.
  • Se puede seleccionar entre estilos, Metale, Aqua, Adium, y Unificado.
  • Puede enviar la entrada de teclado a múltiples pestañas.
  • Marcadores (bookmarks) para almacenar las configuraciones de las sesiones más utilizadas.
  • Se puede especificar en los Marcadores (bookmarks) la URL completa incluyendo el protocolo, por ejemplo, ftp.
  • Crear perfiles para la gestión de la configuración de marcador (bookmark).
  • Función anti-no-actividad (anti-idle) que evita la desconexión por falta de actividad.

Capturas:

vi en iTerm

mc en iTerm

mapeo de teclado en iTerm