martes, 6 de mayo de 2014

Cambiar comportamiento al cerrar la tapa del portátil

En algunos departamentos hay puestos portátiles que se utilizan como sobremesa, conectados a teclado, ratón y monitor. Es por ello que para que no ocupen espacio puedan estar cerrados  sin que se suspenda la sesión que es la opción por defecto en gnome2.
El comportamiento está configurado en el directorio .gconf de cada usuario, más concretamente, en  nuestro caso en .gconf/apps/gnome-power-man ager/buttons.

Para editarlo más cómodamente instalo como root un editor de gconf en el equipo:

# apt-get install gconf-editor

y lo ejecuto en un terminal con nuestro usuario, no con el de root, ya que estas preferencias son de cada usuario.

# gconf-editor

Se nos abre ventana y en la ruta que he comentado, en apps/gnome-power-manager/buttons tenemos las propiedades que se muestran en la captura siguiente:


La propiedades que quiero modificar es lid_ac que es cerrar tapa con adaptador de corriente conectado. Por otro lado lid_battery sería sólo con batería.
Al clickear sobre estos elementos nos deja cambiarlos. Las opciones son :

shutdown: apaga el portátil.
blank: apaga la pantalla.
nothing: no hace nada.
suspend: suspende el portátil.
hibernate: inverna al equipo.

Yo nada más cambio lid_ac dejándolo en nothing.

Mediante gconf-editor podemos cambiar todas las preferencias que queramos de nuestro portátil.

Cogido de la siguiente web:

http://fedorigen.wordpress.com/tag/gnome-3/

miércoles, 30 de abril de 2014

Eliminando Entradas inválidas en ficheros mayhave y musthave

Tomando como punto de partida el articulo de Esteban Navas

http://enavas.blogspot.com.es/2014/04/detectar-entradas-no-validas-en-los.html

en la cual nos enseñaba como conocer las entradas de los ficheros pkgsync/musthave y mayhave que no se encuentran en los repositorios. Voy a darle un pequeño giro de tuerca para actualizar los dichos archivos en el servidor puppet, ya que contienen varias de estas entradas y al ejecutar pkgsync se realentiza mucho por esto.

Lo primero de todo es asegurarnos que el equipo con el que vamos a hacer el proceso tenga añadidos en /etc/apts/sources.list y sources.d

Tal y como indica Esteban cogemos un equipo, en mi caso un portátil y ejecuto:

 # pkgsync -s|grep "No se puede encontrar"|cut -f2 -d"\""|grep -v "^$"|sort -u > entradasNoValidas.txt

y nos creará el fichero entradasNoValidas.txt con los archivos que no se encuentran en los repositorios.

que vemos como contienen varios paquetes:
 01:~# cat entradasNoValidas.txt
acroreader-es
activaid
activdriver
activhwr-es
activhwr-fr
activhwr-pt
activinspire
activinspire-help-es
activinspire-licence
activ-meta-es
activresources-core-es
activtools
aulalinex-alumno
broadcom-sta-modules-2.6.32-5-686
debian-multimedia-keyring
fglrx-kernel-2.6.32-4-686
geogebra-installer-linex
linux-image-2.6.30-1-686
linux-image-2.6.30-2-686
linux-image-2.6.32-4-686
linux-image-2.6.36-rc5
smart-installer-linex
smart-linex


ahora veamos como podemos eliminar esas líneas de los archivos /etc/pkgsync/musthave y mayhave que le indican a pkgsync los archivos que deben estar instalados y pueden estar instalados, respectivamente.

Con la el comando:
#egrep -v -x -f entradasNoValidas.txt /etc/pkgsync/musthave > musthave.nuevo

egrep hace busquedas en el fichero musthave.nuevo. Busca las ocurrencias de lineas que le indicamos con la opción -f y el nombre de fichero, en este caso entradasNoValidas.txt, es decir que buscaría las lineas de entradas no válidas en el musthave. Como lo que queremos es precisamente lo contrario, ponemos la opción -v que nos da como salida las lineas que no cumplan la ocurrencia o no se encuentre. Por último tenemos la opción -x que le indica que las ocurrencias tienen que ser literales, así evitamos por ejemplo que si tenemos una entrada no válida el paquete smart no nos elimine también el paquete libatasmart4 que sí debe estar.

Hacemos lo propio con el archivo mayhave guardándolo en un archivo temporal:

#egrep -v -x -f entradasNoValidas.txt /etc/pkgsync/mayhave > mayhave.auxiliar

para rizar el rizo comprobamos que no haya paquetes coincidentes en ambos archivos, para lo cual hacemos lo propio entre el musthave nuevo y el mayhave y ya obtenemos el mayhave definitivo.

#egrep -v -x -f musthave.nuevo mayhave.auxiliar > mayhave.nuevo

Por último ya solo nos queda sustituir estos archivos por los que tenemos en puppet, en este caso 
/etc/puppet/files/mayhave.portatil

y

/etc/puppet/files/mayhave.portatil

Si queremos lo podemos poner todo en un script genérico que quedaría tal que así:

#! /bin/bash
EQUIPO=portatil
pkgsync -s|grep "No se puede encontrar"|cut -f2 -d"\""|grep -v "^$"|sort -u > entradasNoValidas.txt
egrep -v -x -f entradasNoValidas.txt /etc/pkgsync/musthave|sort > musthave.nuevo
egrep -v -x -f entradasNoValidas.txt /etc/pkgsync/mayhave|sort > mayhave.auxiliar
egrep -v -x -f musthave.nuevo mayhave.auxiliar|sort > mayhave.nuevo
scp -f musthave.nuevo root@servidor:/etc/puppet/files/musthave.$EQUIPO
scp -f mayhave.nuevo root@servidor:/etc/puppet/files/mayhave.$EQUIPO
rm -f mayhave.auxiliar
rm -f mayhave.$EQUIPO
rm -f musthave.$EQUIPO
rm -f entradasNoValidas.txt

en concreto para los portátiles un poco más afinado sería:

#! /bin/bash
EQUIPO=portatil
pkgsync -s|grep "No se puede encontrar"|cut -f2 -d"\""|grep -v "^$"|sort -u > entradasNoValidas.txt
egrep -v -x -f entradasNoValidas.txt /etc/pkgsync/musthave|sort > musthave.nuevo
egrep -v -x -f entradasNoValidas.txt /etc/pkgsync/mayhave|sort > mayhave.auxiliar
egrep -v -x -f musthave.nuevo mayhave.auxiliar|sort > mayhave.nuevo
scp  musthave.nuevo root@servidor:/etc/puppet/files/musthave-miniportatil-apd
scp  mayhave.nuevo root@servidor:/etc/puppet/files/mayhave.$EQUIPO
rm -f mayhave.auxiliar
rm -f mayhave.nuevo
rm -f musthave.nuevo
rm -f entradasNoValidas.txt

#! /bin/bash
EQUIPO=workstation
pkgsync -s|grep "No se puede encontrar"|cut -f2 -d"\""|grep -v "^$"|sort -u > entradasNoValidas.txt
egrep -v -x -f entradasNoValidas.txt /etc/pkgsync/musthave|sort > musthave.nuevo
egrep -v -x -f entradasNoValidas.txt /etc/pkgsync/mayhave|sort > mayhave.auxiliar
egrep -v -x -f musthave.nuevo mayhave.auxiliar|sort > mayhave.nuevo
scp  musthave.nuevo root@servidor:/etc/puppet/modules/workstation-pkgsync/files/musthave-$EQUIPO
scp  mayhave.nuevo root@servidor:/etc/puppet/modules/workstation-pkgsync/files/mayhave-$EQUIPO
rm -f mayhave.auxiliar
rm -f mayhave.nuevo
rm -f musthave.nuevo
rm -f entradasNoValidas.txt

para workstations.



# pkgsync -s|grep "No se puede encontrar"|cut -f2 -d"\""|grep -v "^$"|sort -u - See more at: http://enavas.blogspot.com.es/2014/04/detectar-entradas-no-validas-en-los.html#sthash.nYB6Ci6P.dpuf
# pkgsync -s|grep "No se puede encontrar"|cut -f2 -d"\""|grep -v "^$"|sort -u - See more at: http://enavas.blogspot.com.es/2014/04/detectar-entradas-no-validas-en-los.html#sthash.nYB6Ci6P.dpuf
# pkgsync -s|grep "No se puede encontrar"|cut -f2 -d"\""|grep -v "^$"|sort -u - See more at: http://enavas.blogspot.com.es/2014/04/detectar-entradas-no-validas-en-los.html#sthash.nYB6Ci6P.dpuf
# pkgsync -s|grep "No se puede encontrar"|cut -f2 -d"\""|grep -v "^$"|sort -u - See more at: http://enavas.blogspot.com.es/2014/04/detectar-entradas-no-validas-en-los.html#sthash.nYB6Ci6P.dpuf
# pkgsync -s|grep "No se puede encontrar"|cut -f2 -d"\""|grep -v "^$"|sort -u - See more at: http://enavas.blogspot.com.es/2014/04/detectar-entradas-no-validas-en-los.html#sthash.nYB6Ci6P.dpuf

lunes, 7 de abril de 2014

Montaje de carpetas compartidas en el Centro

Como es una cosa que tiene varias puntos y es un poco lioso, escribo esto ya que es un tema recurrente.
En el servidor nfs del centro tenemos varias carpetas compartidas y que se montan por nfs en el resto de los equipos del centro:

- Carpeta personal del usuario que se monta en los servidores de aula, en los workstation y que podemos acceder desde los portátiles a ella si necesitamos algún documento.
- Instituto que es compartida para todo el centro y equipos.
- Aulas, un directorio Aula con una carpeta para cada curso.
- Dpto. Directorio con carpeta para cada departamento.

El fichero que indica que equipos pueden montar y qué elementos es /etc/exports del servidor nfs.
Es tal que así

 /home    @ltsp-server-hosts(rw,async,no_subtree_check) @workstation-hosts(rw,async,no_subtree_check) @laptop-hosts(rw,asyn...
# Si se quiere que todos los equipos del centro monten las carpetas de compartida instituto y aulas /home/instituto 172.1X.X.X/255.255.255.0(rw,async)
/home/aulas 172.X.X.X/255.255.255.0(rw,async)

como vemos /home solo deja que los monten los equipos que pertenecen a los grupos ltsp-server-host, workstation-host..... etc.. estos grupos los gesiona ldap.
/home/instituto y /home/aulas podemos decir que monten por grupos como antes o yo lo  tengo para que pueda montarlo cualquier equipo que tenga ip del rango de mi centro.

Si queremos controlar el montaje por grupos de máquinas, las que queremos dejar que monten deben estar de alta en ldap y además estar añadida en el grupo correspondiente en la rama Netgroup donde hay un elemento para cada grupo.
Por otra parte tenemos que poner por cada carpeta que queramos montar, un elemento en la rama Automount de ldap.
En nuestro caso tenemos un elemento auto.home del de cuelgan tres elementos: /, aulas e instituto
y otro auto.master del que cuelga /home.
Estos elementos tiene la configuración de modo y punto de montaje, etc....por ejemplo el de aulas contiene:
-fstype=nfs,rw,hard,intr,nodev,nosuid,nolock,rsize=8192 servidor:/home/aulas

Hasta aquí toda la configuración de la red, ahora en cada equipo:

En LTSP y Workstation se montan las carpetas automáticamente en el arranque gracias a los paquetes de automount y automount-ldap.
En portátiles no se monta automáticamente sino sólo cuando hace falta.
Para montar y acceder a las carpetas en los escritorios tanto de portatiles como ltsp, etc... tenemos unos enlaces dinámicos en el escritorio cuya configuración está en el archivo /etc/aplicaciones.cfg pego un fragmento de un portátil:

[categorias]
carpetas = aulas,instituto
educacion = constructor,descartes,exe,geogebra,gpaint,jclic,pyromaths,qcad,scratch,squeak,step,tuxmath
internet = conferencia,correo,educarex,googleearth,grulla,linexedu,mensajeria,miro,piar,rayuela,recursos,wikipedia
imagenysonido = audacious,camaraweb,canto,capturavideo,editoraudio,editorvideo,escaner,fotos,gimp,imagination,visorimagene$
herramientas = anotaciones,autoedicion,buscar,calculadora,compresor,diccionario,editorweb,hojadecalculo,impresion,editorte$
juegos = dreamchess,glest,neverball,secretmaryo,tangram,trofeo,tuxracer,wesnoth,wormux,armagetron

[parametros]
vertical = false

[aulas]
iconsii = /usr/share/pixmaps/linex/griesaulass1.png
exec = aulasinst
terminal = false
name[es_es] = \s\s
type = Application
icon = /usr/share/pixmaps/linex/bngriesaulass1.png

Como vemos en categoría carpeta en este caso un portátil nada más tiene lanzador para carpetas aulas e instituto, que viene desarrollada más abajo.
Vemos que en carpeta aulas en exec indica que cuando se pulse llamará al script aulasinst.  para montar la carpeta.

Esos scripts: aulasinst, institutoinst, dptoinst y homeinst y están en el directorio /usr/bin/.

Vemos el contenido de la de aulas:
#!/bin/sh

esta=`ping servidor -c 1 -w 2 2>/dev/null |grep  "1 received"`
if [ "$esta" ]; then
cd /homeInst/aulas
nautilus /homeInst/aulas
else
 zenity --info \
--text "No está conectado a la red de su IES, por tanto su
directorio personal no se encuentra disponible"
fi

que como podemos observar mira si es accesible el servidor del centro con ping y si es así abre el navegador, y automount se encargará de montarlo en este momento.

En los ltsp y workstation el contenido en aplicaciones.cfg es un poco diferente, ya que al estar montadas las carpetas sólo tiene que abrirlas con el navegador como vemos:

[aulas]
iconsii = /usr/share/pixmaps/linex/bngriesaulass1.png
exec = nautilus /home/aulas
terminal = false
name[es_es] = \s\s
type = Application
icon = /usr/share/pixmaps/linex/griesaulass1.png

Un poquito engorroso pero es todo.







sábado, 5 de abril de 2014

Arreglar teclado de portátil APD que se le ha roto membrana de tecla



Me ha llegado un portátil APD que se le había saltado una tecla y a la vez viene sin la membrana que facilita el retroceso de la tecla.
Como tengo un teclado al que le faltaban varias teclas, lo he destinado para repuestos y con éste voy a arreglar el otro.
Estos son los materiales que necesitamos para la reparación: membrana, tecla, mecanismos de tecla, destornillador plano pequeño, Loctite y alicates o pinzas.
Lo Primero es retirar la tecla del teclado viejo.
Para ello hacemos palanca con mucho cuidado con un destornillador en la parte de abajo de la tecla hasta que salte la tecla
Aparte tenemos que sacar el mecanismo que mantiene la tecla unida al teclado, que son dos piezas de plástico que permite el juego de tecla en reposo y pulsada. 
Están sujetas al teclado por dos pestañas metálicas en la parte de abajo y otra mayor en la parte superior.
La liberamos primero de la parte de abajo haciendo también palanca.
Hay que tener cuidado ya que al ser plástico puede romperse.
Una vez suelto de abajo lo sacamos del enganche de la parte superior.
La pieza es tal y como se muestra, son dos piezas de plástico encajadas, que le permite un movimiento como si fuera unas tijeras tal y como se puede ver.
La membrana viene pegada al tecla. pero si no está, como es nuestro caso, también la podemos desprender de otro, sólo es necesario con un cuter o destornillador finito darle en la base y se despega sin problema.
 Para pega nuevamente la membrana podemos poner un poquito de loctite en los bordes de la pestaña y volver a colocarlo en su sitio con mucho cuidado de no pasar el loctite en el contacto de la tecla..

 
Después de esperar a que se seque el pegamento ya sólo queda montar de nuevo el mecanismo y la
tecla.
Enganchamos el mecanismo de la parte de arriba, y na vez colocado en su sitio, presionamos los enganches de la parte inferior con el dedo para la las pestañitas de plástico entren en los enganches metálicos del teclado.

Y ya casi está, para finalizar ponemos la tecla encima del mecanismo metiéndola desde arriba hacia abajo, y una vez en su sitio, presionamos con el dedo. Oiremos como encaja con el mecanismo en la parte de abajo de la tecla.

Redimensionar imágenes con gThumb

Hasta ahora cuando tenía que redimensionar alguna imagen, para por ejemplo que ocupara menos espacio y poder subirla sin problemas a la web, portal Joomla, etc... utilizaba el programa de manipulación de imágenes GIMP.
GIMP es un programa de manipulación de imágenes muy potente, pero a veces un poco engorroso.
He encontrado que en desde un visor de imágenes que viene por defecto en Linux Mint, el visor de imágenes gThumb se puede redimensionar imágenes de manera muy sencilla y un periquete.
Sólo es necesario lanzar el visor de imágenes y se nos abrirá, elegimos carpeta donde tenemos la imagen o imágenes.
Seleccionamos asimismo la imagen que queremos redimensionar. Podemos redimensionar varias a la vez, sólo es necesario seleccionarlas con ctrl + click.
Le damos al menú Herramientas y Redimensionar y se nos abrirá una ventana dónde podemos entre otras cosas poner el % al que queremos redimiensionar.
También podemos elegir si queremos que quede el archivo con el mismo nombre en cuyo caso se sobreescribirá el archivo, o ponerle nombre nuevo.

miércoles, 26 de marzo de 2014

HACER UN SPLITER DE RED

HACER UN SPLITER DE RED
Según el correo de Alfonso Pastor:

Bueno, pues al final lo he hecho asi, siguiendo las instrucciones tan claritas de esta página y funciona perfectamente:

http://www.instructables.com/id/How-to-make-your-own-Ethernet-%22splitter%22/
Es lo que decía Antonio Abasolo: 4 cables para cada roseta hembra, una T en la roseta y otra en el patch panel del switch y ya has conseguido la duplicación del punto de red. He hecho pruebas de velocidad y no se nota nada especial, mientras que el ATA del teléfono VOIP funciona correctamente.
Me lo apunto, porque mas de una vez hemos tenido que comprar un switch de 5 puertos sólo por que faltaba un punto de red en algun sitio perdido, para encontrarnos luego además que tampoco había toma de corriente libre para el switch.


Necesitamos :
cable de red.
Dos conectores rj45 macho
cuatro rosetas de red


Hacemos dos trozos de cable y grimpamos dos rj45; uno para lo roseta donde queremos conectar los dos equipos y otra para el patch panel.


Usamos la conexión nomal:

1 White/Orange 
2 Orange 
3 White/Green 
4 Blue 
5 White/Blue 
6 Green 
7 White/Brown 
8 Brown 




  • Y lo conectamos a las dos rosetas rj45
  • Jack #1:
1 White/Orange to pin 1keystone jack
2 Orange to pin 2 keystone jack
3 White/Green to pin 3 keystone jack
6 Green to pin 6 keystone jack
  • Jack #2:
4 Blue to pin 2 keystone jack
5 White/Blue to pin 1 keystone jack
7 White/Brown to pin 3 keystone jack
8 Brown to pin 6 keystone jack


Conectamos uno de ellos en la roseta donde queremos conectar los dos equipos.


Y la otra en el patch panel.
Luego en éste, en cada una de las rosetas conectamos un latiguillo que vaya a una boca del switch. 



lunes, 24 de marzo de 2014

ERROR puppet EN SERVIDORES DE AULA


He leído un Correo de Andy, que con la ayuda de Esteban Navas, han creado esté documento que me parece interesante.


Si nos aparece uno de los siguientes errores al ejecutar “puppet agent - - test” en cualquier servidor de aula:

root@a23-pro:~# puppetd -t
info: Creating a new SSL key for a23-pro.laparra
info: Caching certificate for ca
err: Could not request certificate: Error 400 on SERVER: header too long
Exiting; failed to retrieve certificate and waitforcert is disabled

root@a02-pro:~# puppet agent --test
info: Creating a new SSL key for a02-pro.valledeljerte3
info: Caching certificate for ca
info: Caching certificate for a02-pro.valledeljerte3
err: Could not request certificate: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key
Exiting; failed to retrieve certificate and waitforcert is disabled

Para solucionar este problema, voy a realizar los siguientes pasos:

1.- Parar el script/proceso “sinc_puppet_inst” en el ltsp-squeeze.
2.- Borrar la carpeta /var/lib/puppet/ssl/ en el ltsp-squeeze.
3.- Borrar el certificado del cliente en el servidor NFS:
puppet cert clean a22-pro.laparra
4.- Ejecutar: puppet agent --test en el ltsp-squeeze.

Si después de realizar estos pasos no se consigue que puppet actualice el servidor de aula correctamente, ejecutamos, puppet cert list - -all para mostrar los certificados en el servidor, y veía un error como el siguiente:
err: Could not call list: header too long

5.- Chequeo espacio en el directorio /var del servidor NFS:
find /var/lib/puppet/ssl -type f -empty -print
Y encontré que en los siguientes directorios había archivos de certificados con cero bytes:
  • /var/lib/puppet/ssl/ca/requests
  • /var/lib/puppet/ssl/ca/signed

Borro los archivos a cero:
find /var/lib/puppet/ssl/ -type f -empty -exec rm {} \;

Después de borrar los archivos, reinicié apache2 (puesto que usamos puppet con passenger): service apache2 restart

volví a intentar la actualización manual de clientes y ahora sí funcionó.