sep 112015
 

1- Configurar ~/.ssh/config (ver rafael.bonifaz.ec)

3- Instalamos bash-completion (ver howtoforge.com)

2- Creamos función de autocompletado en /etc/bash_completion.d/ (ver eli.thegreenplace.net y www.dicas-l.com.br)

3- Reiniciamos o recargamos el fichero (source /usr/share/bash-completion/bash_completion)

4- Probamos

oct 032014
 

Problema: Tenemos que ejecutar un proceso desde un terminal que va a dejar de estar disponible y no queremos que se cancele al cerrar dicho terminal

Solución:  Depende de si ya hemos arrancado el proceso o no.

A) Procesos sin arrancar

Esto arrancara script.sh sin que sea asociado a nuestro terminal, y generar un fichero nohup.out donde se guardara la salida del script.

B) Procesos ya arrancados

Si el proceso nos tiene ocupado el terminal tecleamos Control+Z para dormirlo

Como de esta manera no tenemos disponible ningún nohup.out desde el que ver la salida la podemos consultar de la siguiente manera:

C) Recuperar proceso en otro terminal

Fuente: askubuntu.com, raspi.tv, monkeypatch.me, askubuntu.com

sep 192014
 

Problema: Queremos ver webs y alguna cosilla más desde nuestra Raspbery pero no queremos arrancar un entorno de escritorio completo

Solución: Instalar Minimal Kiosk Browser

Para ejecutar sin tener que arrancar el entorno de escritorio:

O para facilitar su uso podemos crear un alias

Documentación: kweb manual, omxplayerGUI manual, changelog

Fuente: www.raspberrypi.org

sep 182014
 

1- Instalar XFCE

2- Eliminar LXDE

Primero listamos los paquetes de LXDE, luego desinstalamos todos los resultados y finalmente desintalamos los paquetes que han quedado huérfanos

4- Instalar paquetes extra para el audio

5- Reiniciar y arrancar XFCE

El primer arranque puede tardar varios minutos pero es normal, luego arrancara mucho más rápido.

Fuentes: www.etcwiki.org, raspberrypi.stackexchange.com [1] [2], mike632t.wordpress.com

sep 112014
 

Problema: Queremos usar los plugins de gedit pero nuestro Linux Mint viene con una versión anterior de gedit que es incompatible con los plugins del repositorio

Solución: Actualizar gedit

1- Eliminamos el antiguo gedit e instalamos el nuevo

2- Instalar plugins

3- Instalar Gmate

4- Configurar gedit

Editar -> Preferencias -> Ver:

  • Mostrar los número de línea
  • Resaltar la línea actual
  • Resaltar parejas de corchetes

Editar -> Preferencias -> Editor:

  • Anchura del tabular: 4
  • Activar sangría automática

Editar -> Preferencias -> Tipografías y colores:

  • Monokai

Editar -> Preferencias -> Complementos:

  • Buscar/Remplazar avanzado
  • Cambiar capitalización
  • Completar paréntesis
  • Find in Files
  • Panel del examinador de archivos
  • Recortes
  • Smart Highlighting
  • Snap Open
  • Tamaño del texto
  • White Space Terminator
  • Zen Coding

Fuentes: forums.linuxmint.com, blog.desdelinux.net y blog.jorgeivanmeza.com

ago 012014
 

Problema: Estamos en la situación ya detallada en el anterior post "Acceder a OWA a través de otra cuenta de correo" pero no nos vale la solución porque han deshabilitado desde el servidor el acceso EWS

Solución: Para reducir las veces que nos vemos obligados a entrar a OWA construiremos un script que nos avise de cuando hay un correo nuevo

1- Crear el script que visitara OWA por nosotros

Nota: El comando "say" es el implementado en "Notificaciones xmmp desde linux" y podría ser sustituido por algún otro método de notificación que deseemos

2- Crear tarea programada

Repetimos el paso homologo del post "Acceder a OWA a través de otra cuenta de correo" pero con el script ~/.owa/notif.sh

ago 012014
 

Problema: Queremos tener un comando sencillo que usar en nuestros script para mandarnos notificaciones

Solución: usar xmpp y crear un grupo con permisos para usar este comando

1- Instalar sendxmpp y crear comando

Nota: Creamos este script como root (sudo) ya que contiene el usuario y contraseña de la cuenta que usamos para enviar y la derección de a quien queremos que se le envíen los mensajes que usen este comando. Ahora bien, probablemente queremos que el comando este disponible para usuarios que no queremos que sean sudo ni puedan leer el codigo del script, para ello veremos los siguientes pasos

2- Crear grupo que podrá enviar mensajes y darle permisos para ejecutar el comando

3- Ejemplo de uso para que transmission nos avise cuando ha finalizado una descarga

jul 102014
 

Problema 1: Tenemos que volver a usar algún comando o fichero pero no conseguimos recordarlo

Solución 1: Pulsar en para mirar en el histórico de comandos usados

Problema 2: Es un rollo y hay mucha morralla

Solución 2: Hacer un script que analice el histórico y nos saque la información más relevante

1- Configurar histórico

2- Crear script

3- Parámetros

  • por defecto muestra los ficheros más usados
  • con -c muestra los comando más usados
  • parsea el fichero que se le pase, y por defecto el .bash_history del usuario que ejecuta el script
  • si se le pasa una palabra sera usada para filtrar los resultados
  • si se le pasa un número se usara como tope máximo de resultados a mostrar (siendo 0 = todos)
  • por defecto se mostraran 5 elementos si se esta filtrando y 10 en caso contrario

4- Ejemplos de uso (nunca mejor dicho, jeje)

4- Apéndice

.bash_history no se actualiza en tiempo real así que si necesitamos que nuestro script analice hasta el últimisimo comando ejecutado debemos forzar antes una actualización mediante el comando:

No integramos la llamada a "history -a" dentro de nuestro script porque necesita ser ejecutado directamente por el usuario para garantizar que se actualice su .bash_history

Fuente: www.learning-perl.com

may 152014
 

Problema 1: Necesitamos descargar o copiar unos archivos en un equipo con puertos usb capados, sin lectora de cds y conectado a una red cuyo proxy impone una cuota máxima de descarga e impide entrar en según que dominios.

Solución 1: Buscar algún dominio de correo electrónico que figure como excepción del proxy, para mandarse los archivos a ese correo e irlos bajándolos

Problema 2: Subir los correos a mano es tedioso y dependemos de la cuota del correo, si esta es menor de lo que necesitamos tendremos que hacer el proceso en varias tandas y eso puede suponer hacer varios viajes entre nuestro equipo libre (desde el que mandamos archivos) y el equipo enjaulado (el del proxy)

Solución 2: Automatizar la subida de archivos al correo sin necesidad de enviar - o autoenviar - un mail, simplemente dejamos en un solo paso el archivo en una carpeta imap del servidor de correo.

1- Preparar en nuestro equipo libre los archivos

Creamos un zip por volúmenes según el tamaño máximo permitido por la cuenta de correo que vamos a usar

El parámetro -Pmailzip define "mailzip" como contraseña del zip resultante, con esto evitamos que el servidor rechace el mail por alguno de sus contenidos (por ejemplo, un ejecutable).

2- Creamos el script y su archivo de configuración en nuestro equipo libre

dv (el valor del campo "Folder") es el nombre de la carpeta que hemos creado en nuestra cuenta de correo para servir a este propósito, de manera que nuestros mails "esquiva-proxy" no se mezclen con nuestro correo normal.

3- Arrancamos el script

El script ira subiendo un volumen detrás de otro hasta llenar la cuenta de correo y esperará a que nosotros, desde el equipo enjaulado y tras haber descargado los adjuntos, liberemos espacio para continuar automáticamente.

Nuestro correo antes de empezar el proceso tenia 100MB libres. En el primer paso el script llena 40MB, en el segundo llena otros 40MB, en el tercer paso ve que necesita al menos otros 20MB para subir el tercer paquete así que para hasta que estén disponibles. Mientras tanto nosotros, desde el equipo enjaulado, descargamos los dos primeros adjuntos y borramos los dos correos. Finalmente el script ve que vuelve a haber espacio y continua con la carga hasta finalizar.

4- Ampliación

Hacer un script que pasándole una url descargue el contenido enlazado, lo comprima en los volúmenes deseados y lo deje en nuestro correo, de manera que aún surgiendo una necesidad imprevista ya estando en frente del equipo enjaulado podamos con un móvil y un cliente ssh (o algún servicio web creado para la ocasión) hacernos fácilmente con los archivos que pudiéramos necesitar en un momento dado y que no son accesibles a través del proxy.

5- Apéndice

El script puede ser ejecutado con el parámetro --key para que en vez de esperar a que se libere espacio lo que haga es pedirnos que pulsemos enter cuando hayamos acabado de descargar el fichero y así él mismo se encargue de liberar el espacio. Esto puede ser útil cuando lanzamos el script desde el movil (vía ssh, por ejemplo) y nos es más rápido pedirle al script que borre él los mails que hacerlo nosotros a mano desde la interfaz de nuestro correo electrónico.

También admite el parámetro --purge para eliminar todo lo que haya en la carpeta de intercambio (dv) antes de empezar a subir el primer volumen. Útil para cuando sabemos que puede haber quedado algo de un anterior envío.

mar 232014
 

Problema: Un equipo conectado vía ethernet se desconecta sin motivo aparente. Este equipo se usa siempre remotamente, por lo tanto acceder físicamente a él para reiniciarlo no es una buena solución.

Solución: Automatizar el proceso de monitorizar el estado de la conexión del ethernet y levantarlo en caso de caída.

1- Crear script para ver el estado del ethernet y levantarlo si es necesario.

2- Ejemplo de uso desde linea de comandos

3- Programar tarea cada 5 minutos

Editar el crontab de usuario root y añadir las siguientes lineas al final del fichero

4- Ejemplos de log generado por crontab

Fuente: samhobbs (cache)