miércoles, 23 de febrero de 2011

Colores (o patrones ) de fondo distintos en las carpetas de Nautilus

La idea es tener colores de  fondos (o patrones) distintos en diversos tipos de carpetas de Nautilus, para que de forma "muy visual" , rápidamente podamos saber en que tipo de carpeta estamos, es decir, es una forma mas de "personalizar" Nautilus.

( Si en Editar-Preferencias-pestaña Comportamiento tenemos activada la opción "abrir cada carpeta en su propia ventana" cada carpeta que se abra lo hará en una ventana propia,  y solo se podrá cambiar el color de fondo de una carpeta a la vez, por lo que da igual usar el botón derecho o el izquierdo del ratón para arrastrar el color o el patrón - Recomiendo no tener activada dicha opción- ; De hecho esta era la forma en que creía que se podía cambiar el color de fondo de una sola carpeta, hasta que KernelMX en el Foro-Ubuntu-Guia me indicó el Método siguiente ).

Método: Si en Editar-Fondos y Emblemas: elegimos Colores o Patrones, y elegimos uno de ellos y lo arrastramos con el botón derecho del ratón a la ventana de Nautilus, nos saldrá antes de cambiarlo las opciones de Método a) usar como fondo para todas las carpetas del sistema, o Método b) cambiarlo solo usar como fondo para esta carpeta individual en la que estemos, con lo que podemos cambiar el fondo de carpetas individuales de cualquier parte del sistema.



( Si en Editar-Fondos y Emblemas: elegimos Colores o Patrones, y elegimos uno de ellos y lo arrastramos con el botón izquierdo del ratón a la ventana de Nautilus, se cambia el color de fondo de todas las carpetas del sistema, por lo que es siempre mejor usar el botón derecho del ratón para elegir si cambiar el color o patrón de fondo en todas o solo en una de las carpetas ).

Hay que tener en cuenta también que para cambiar el color el fondo de una carpeta, ésta debe estar en modo de vista por iconos. Una vez hecho lo anterior:

Cambiar el fondo de carpetas en Nautilus en modo usuario:

En mi caso, siguiendo los pasos anteriores he cambiado los colores de fondo de las siguientes carpetas:


A) Cambiar color de fondo por defecto de todas las carpetas del sistema, incluyendo las "carpetas ocultas" contenidas en la de Usuario, (excepto las especificas en B) , C) y D) : Lo haremos con el método a). El color que elijamos sera el que tenga por defecto una carpeta que creemos en cualquier parte del sistema, y también el color que tengan las subcarpetas. ( En el ejemplo color azul )

B) Cambiar color de fondo de la carpeta de Usuario: con el método b) ( En el ejemplo de color azul claro, con rayas horizontales )

C) Cambiar color de fondo de las "carpetas visibles" contenidas en la de Usuario: con el método b) podemos poner el mismo color a todas las carpetas de este tipo, o incluso un color distinto para cada una de ellas, pero las subcarpetas seguiran teniendo, salvo que tambien las cambiemos de color, el color por defecto elegido en A) . Cuando creemos una nueva carpeta en /home/usuario en principio tendrá el color por defecto y deberemos cambiarlo. ( En el ejemplo de color blanco ).


D) Cambiar el color de fondo de las carpetas de una partición de datos, montada en /media: con el método b). ( En el ejemplo de color verde claro ).


--------------------------------

Carpeta de /home/usuario




Carpeta de /home/usuario/Descargas



Carpeta de Sistema /  ( color por defecto de todas las carpetas )



Carpeta de /media/mi-disco





--------------------------------------

Cambiar el fondo de carpetas en Nautilus en modo root: Cerramos el Nautilus en modo usuario y abrimos el Nautilus en modo root ( sudo nautilus ): en Editar-Fondos y emblemas: elegimos Colores o Patrones, y elegimos uno de ellos y lo arrastramos con el botón izquierdo del ratón a la ventana de Nautilus. En Nautilus en modo root no se puede cambiar el color de fondo de carpetas individuales, ni siquiera usando el arrastre con el botón derecho del ratón. Elegiremos un color distinto a los que hayamos elegido para las carpetas de Nautilus en modo usuario. ( En el ejemplo de color rojo).



------------------------------------------------------------------------------------

viernes, 18 de febrero de 2011

Script para que el sistema haga copias de seguridad automáticas,conservando solo las mas modernas.

Tenía interés en  hacer un script que no fuera muy complicado, y que ejecutándolo con Gnome-Schedule ( automatizar tareas repetitivas con Gnome-schedule ) con permisos de root*  1 vez por semana fuera: a) creando copias de seguridad de varias cosas ( programas, correos, archivos de configuración etc ), con la fecha en la que se van creando los archivos en sus respectivos nombres,  pero que al mismo tiempo b)  fuera borrando las copias de seguridad con mas de, por ejemplo, 30 días, para que no se fueran acumulando copias de seguridad demasiado viejas y que ocupan un espacio innecesario en el disco duro.  Por supuesto también se puede ejecutar este script con crontab.

La solución a la parte a) ya la sabia de otras lecturas en blogs, foros, etc , y de leer lo que sale al teclear en la terminal: man tar

La solución a la parte b) me la dio el amigo Guadafan, de Gualdalinex: http://hostinglandia.com/viewtopic.php?f=32&t=19 ,y tras leer lo que sale en la terminal al teclear:  man find
-mtime n : Los  datos  del  fichero  fueron modificados por última vez hace n×24 horas.
-exec orden ; Ejecuta  orden;  verdad  si  se  devuelve el status 0. Todos los argumentos que siguen a find se toman como de la orden hasta que se encuentre uno consistente en `;'. La cadena `{}' se reemplaza por el nombre del fichero que se está procesando;  en  cualquier sitio de los argumentos de la orden, no sólo en argumentos donde esté sola, como en algunas otras versiones de find.  Ambas  construcciones  pueden necesitar `escaparse' (con una `\') o entrecomillarse, para protegerlas de la expansión que  efectuaría  el shell. La orden se ejecuta en el directorio de comienzo.

Al final lo he conseguido: La "sintaxis básica" del script seria algo así:

1 #!/bin/bash
2 #echo Script para crear backups fecha.tar en el directorio /media/mi-disco/backups
3 #echo
4 cd /media/mi-disco/backups
5 #echo  crear archivos comprimidos .tar backups de lo que queramos
6 tar zcvf nombre_del_backup_`date +%d%B%Y-%H-hora-%M-minutos`.tar  dirección de los archivos y/o directorios a copiar
7 #echo eliminar los archivos .tar mas "viejos" de 30 dias
8 sudo find /media/mi-disco/backups/*.tar* -mtime +30 -exec rm {} \;
9 exit

Los números no forman parte del script, solo los he puesto para identificar mejor lo que es cada línea.

-----------------------------------

Un ejemplo de este scirpt con comandos mas "reales" seria:

1 #!/bin/bash
2 #echo Script para crear backups fecha.tar en el directorio /media/mi-disco/backups
3 #echo
4 cd  /media/mi-disco/backups
5 #echo
6 tar zcvf backup-firefox_`date +%d%B%Y-%H-hora-%M-minutos`.tar /home/usuario/.mozilla
7 tar zcvf backup-sylpheed_`date +%d%B%Y-%H-hora-%M-minutos`.tar /home/usuario/.sylpheed-2.0
8 tar zcvf backup-mail_`date +%d%B%Y-%H-hora-%M-minutos`.tar /home/usuario/Mail
9 tar zcvf grub2_`date +%d-%B-%Y-%H-hora-%M-minutos`.tar /etc/default/grub /etc/grub.d/  /boot/grub/grub.cfg
10 sudo tar zcvf apt_`date +%d-%B-%Y-%H-hora-%M-minutos`.tar /etc/apt/ /var/lib/apt/ /var/cache/apt/
11 sudo find /media/mi-disco/backups/*.tar* -mtime +30 -exec rm {} \;
12 exit

Los números no forman parte del script, solo los he puesto para identificar mejor lo que es cada línea.

Se le pueden añadir mas lineas del tipo tar zcvf.... para crear copias de seguridad en forma de archivos comprimidos .tar de mas directorios y/o archivos.

Con él , ejecutándolo 1 vez por semana ( con Gnome-Schedule en modo root*  ) mantendríamos copias de seguridad  de Firefox, Sylpheed ( programa de correos ) y de los correos, del Grub2, y de Synaptic,  de los últimos 30 días, borrándose las copias mas antiguas.



* Sobre el uso del comando sudo en este script:

Si los archivos/directorios que queremos copiar tienen permisos de usuario, la línea tar zcvf ....no necesita llevar delante el comando sudo, y el archivo .tar que se creará tendrá también permisos de usuario.
Si los archivos/directorios que queremos copiar tienen permisos de root, la línea tar zcvf ... necesita llevar delante el comando sudo, y el archivo .tar que se creará tendrá también permisos de root.
Si hay una o mas líneas tar zcvf...con el comando sudo delante, la línea find también tendrá que llevar delante el comando sudo, para que al borrar los archivos .tar con permisos de root no nos pida confirmación ni contraseña para borrar cada uno de ellos.
Si en todo el script no hay ninguna línea que comience por el comando sudo ( ni delante de tar zcvf ni de find ), se podrá ejecutar con Gnome-Schedule con permisos de usuario.
Si en el script hay alguna línea que comience por el comando sudo, se debe ejecutar con Gnome-Schedule con permisos de root.
Lo mas sencillo es ponel el script  para ser ejecutado por Gnome-Schedule con permisos de root, ya que así podrá ser ejecutado tanto si hay o no líneas con el comando sudo delante, de forma que si lo modificamos (añadiendo una línea con sudo  ) no tengamos que modificar también como ejecutarlo.

------------------------------------------------------------------------------------

En resumen: Si ejecutamos un  script de este tipo con Gnome-Schedule ejecutado con permisos de root, podremos hacer que el sistema trabaje por nosotros y haga de forma automática copias de seguridad de lo que queramos ( según las líneas tar zcvf ... que pongamos), en el directorio que hayamos puesto en el script, cada un cierto tiempo que nosotros elegimos (en el Gnome-Schedule) , y conservar solo las copias mas modernas del tiempo que queramos (según el número que pongamos tras -mtime+ ) ; vamos, que me parece un chollo de script.

-------------------------------------------------------------------------------------

viernes, 11 de febrero de 2011

Deshabilitar/Habilitar el touchpad con scripts

En un tema anterior ( Configurar , habilitar o  deshabilitar el touchpad con aplicaciones gráficas ) se explicó como configurar las opciones del touchpad mediante aplicaciones gráficas, en este tema vamos a ver como deshabilitar/habilitar el touchpad, con scripts, sin aplicaciones gráficas.

1ª Opción: Desde http://sites.google.com/site/trucosubuntu/controladores/touchpad se puede obtener un script touchpad.sh (o el texto del script en formato pdf:  touchpad ) que una vez ejecutado ( durante su ejecución nos pide varias veces la contraseña de root para instalar y modificar varias opciones en el sistema ) nos añade a Sistema-Preferencias-Aplicaciones al inicio-Programas al inicio, una entrada nueva: Autodeshabilitar touchpad, con el comando: touchpad-auto, que detecta si existe un ratón, y si es así, deshabilita el touchpad. De esta forma se deshabilita o habilita de forma automática el touchpad en función de que se detecte que hay, o no, conectado un ratón. Una vez instalado este script, también se puede habilitar o deshabilitar el touchpad de forma manual con la combinación de teclas: Alt+t

Así mismo, este script añade una entrada nueva en el programa Gconf-Editor ; teclear Alt+f2 y luego gconf-editor, para que se abra dicho programa, y luego ir a: Desktop-Gnome-Peripherals-Touchpad:  touchpad autodisable. Si esta opción esta habilitada hace que si esta conectado el ratón, se auto deshabilite la otra opción: touchpad enabled. Y si deshabilitamos touchpad autodisable, y habilitamos touchpad enabled, entonces este script no funciona, y no se deshabilita el touchpad tengamos o no conectado el ratón.


Si después de haber ejecutado el script queremos que no surta efecto, y que siga habilitado el touchpad aunque tengamos conectado el ratón:
-- des-seleccionar la entrada "Autodeshabilitar touchpad" en Sistema-Preferencia-Aplicaciones al inicio-Programas al inicio, con lo cual en el próximo inicio del sistema no se ejecutará el script y/o
-- debemos en el programa Gconf-Editor des-seleccionar la opción "touchpad autodisable", y seleccionar la opción "touchpad enabled".

--------------------------------------

2ª Opción: Ejecutando en la terminal: xinput -list nos aparece una lista similar a:

usuario@mint ~ $ xinput -list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation            id=14    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                       id=10    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                       id=11    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad id=13    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
↳ Power Button                                id=6    [slave  keyboard (3)]
↳ Video Bus                                   id=7    [slave  keyboard (3)]
↳ Power Button                                id=8    [slave  keyboard (3)]
↳ USB 2.0 Camera                              id=9    [slave  keyboard (3)]
↳ AT Translated Set 2 keyboard                id=12    [slave  keyboard (3)]

Elegimos la que hace referencia al touchpad, en mi caso: ETPS/2 Elantech Touchpad, y creamos dos scripts:

Script A) para DesHabilitar el Touchpad :

#!/bin/bash
echo Script para deshabilitar touchpad
echo xinput -list
echo elegir el touchpad y ponerlo en el siguiente comando
xinput set-int-prop "ETPS/2 Elantech Touchpad" "Device Enabled" 8 0

, y el otro Script B) para Habilitar el Touchpad:

#!/bin/bash
echo Script para habilitar touchpad
echo xinput -list
echo elegir el touchpad y ponerlo en el siguiente comando
xinput set-int-prop "ETPS/2 Elantech Touchpad" "Device Enabled" 8 1

Una vez hemos creado estos dos scripts podemos añadir al panel un "lanzador de aplicaciones personalizado" que nos añada un icono al panel desde el cual con un clik habilitar el touchpad, y otro lanzador que nos añada otro icono al panel desde el cual con un clik deshabilitar el touchpad.



También podemos a través de Sistema-Preferencias-Combinaciones de Teclas: adjudicar una nueva combinación de teclas a cada uno de esos comandos para que se pueda habilitar o deshabilitar el touchpad con una combinación de teclas en vez de con un click del ratón.

Con respecto a los comandos para activar o desactivar el touchpad:  no es "tan" necesario el uso de un script que detecte el ratón para que al encender el ordenador, se desconecte el touchpad, (script de la opción 1  ) porque la configuración que se haya adoptado con estos comandos se conserva, es decir, si con el script A  desconectamos el touchpad y apagamos el ordenador, cuando lo volvemos a encender, el touchpad sigue desconectado.

----------------------------------------------——————————————

sábado, 5 de febrero de 2011

Configurar/Habilitar/Deshabilitar el Touchpad con aplicaciones gráficas

Uso un portátil, y me resulta difícil tocar el touchpad por equivocación al escribir en el teclado, la verdad es que mi touchpad esta suficientemente alejado del teclado como para que me resulte muy complicado escribir en el teclado y tocar el touchpad a la vez.

Pero los ordenadores portátiles con pantalla panorámica son más estrechos y por tanto, el touchpad está pegado al teclado, por lo que puede ser  necesario que el touchpad se desactive cuando se usa un ratón (evitando problemas a la hora de escribir y rozar el touchpad).

He encontrado varias soluciones al respecto:

-------------------------------

Preferencias del ratón: En mi sistema entre las opciones de Sistema-Preferencias-Ratón, hay una pestaña touchpad en la que se puede activar o "desactivar el touchpad al escribir", y configurar algunas características del touchpad. Pero no permite desactivarlo completamente, ni nos indica, en el panel, si está o no activado.



 ------------------------------

Touchfreeze: Un paquete/programa que deshabilita el touchpad es touchfreeze : Tras instalarlo hay que añadirlo a Sistema-Preferencias-Aplicaciones al inicio-Programas al inicio, para que desde el inicio de la sesión aparezca un icono en el panel, desde el que se ve si el touchpad esta habilitado (icono de la izquierda) o no habilitado ( icono de la derecha ) , y se puede cambiar dicho estado, sin mas opciones de configuración del touchpad.



----------------------------

Captura del puntero ( Área en la que congelar el puntero del ratón en el panel: parte de los ajustes finos del ratón ): Podemos añadir al panel de gnome un nuevo applet: Captura del puntero, que nos añade un área en la que al poner el puntero del ratón (o del touchpad) y hacer click con el botón derecho se bloquea el puntero; para volverlo a activar hay que hacer clic de nuevo con el botón derecho. Si hacemos sobre dicha área con el botón izquierdo se abre la configuración de este applet, y podremos variar a nuestro gusto su comportamiento: cambiar el tamaño del área, asignar combinación de teclas para liberar o capturar el puntero, o cambiar el botón del ratón con el que liberar o capturar el puntero.


----------------------------

Gsynaptics: Una opción para configurar con mas detalles el touchpad es instalar el paquete/programa gsynaptics .Una vez instalado aparece en Sistema-Preferencias-Touchpad. Tiene cuatro pestañas desde las que se puede configurar varios detalles del touchpad:

= pestaña General   = pestaña Torque



-------------------------

= pestaña Desplazamiento    = pestaña Aceleración



--------------------------------------------

Gpointing-device-settings: otra opción es el paquete/programa gpointing-device-settings: te permite controlar opciones tanto del ratón usb como del touchpad; pero al instalar éste paquete se desinstala, si lo tenias antes, el gsynaptics. Por suerte o por desgracia no se pueden tener a la vez gsynaptics y gpointing-device-settings, lo mejor es probar ambos y quedarse con el que mas nos guste.

Tiene una ventana para configurar el ratón:




y tres pestañas para configurar el touchpad: