La Mirada hecha Pedazos Fotografía libre con software libre

Instalación de Java 8 en GNU/Debian "Jessie"

Editas el archivo "/etc/apt/sources.list"

$ sudo vim /etc/apt/sources.list

Añadimos al final del archivo las siguientes líneas:

# Java 8
deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main

Después ejecutamos los siguientes comandos:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

Instalación de la última versión de Darktable en Debian GNU/Linux

Lo primero que tenemos que hacer es comprobar que no tenemos ninguna versión de Darktable instalada, en cuyo caso tendremos que desinstalar. Si es la versión de los repositorios, lo hacemos con aptitude (sudo aptitude remove darktable), y si es una compilación anterior, tenemos que ir a la carpeta /build de la anterior versión y ejecutar:

~$ sudo make uninstall

Ahora instalamos algunas dependencias principales de nuestro sistema Debian Jessie 8:

~$ sudo apt-get install gcc git g++ intltool xsltproc libgtk-3-dev libxml2-utils libxml2-dev liblensfun-dev librsvg2-dev libsqlite3-dev libcurl4-gnutls-dev libjpeg-dev libtiff5-dev liblcms2-dev libjson-glib-dev libexiv2-dev libpugixml-dev

Instalamos otras dependencias opcionales:

~$ sudo apt-get install libgphoto2-dev libsoup2.4-dev libopenexr-dev libwebp-dev libflickcurl-dev desktop-file-utils libopenjpeg-dev libsecret-1-dev libgraphicsmagick1-dev libcolord-dev libcolord-gtk-dev libcups2-dev libsdl1.2-dev libsdl-image1.2-dev libgl1-mesa-dev libosmgpsmap-1.0-dev

Instalamos los paquetes necesarios para el manual de darktable:

~$ sudo apt-get install default-jdk gnome-doc-utils libsaxon-java fop imagemagick docbook-xml docbook-xsl

Instalamos los paquetes necesarios para actualizar las páginas de ayuda del sistema "man":

~$ sudo apt-get install po4a

 Es un requisito para compilar Darktable la versión 3.0 de cmake, sin embargo hay un problema con la versión que hay en GNU/Debian (cmake 3.0.2), y es necesario instalar una versión superior, tendremos que desinstalar cmake e instalar la última versión:

~$ sudo apt-get remove cmake cmake-data
~$ wget https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz
~$ tar xvfz cmake-3.7.2.tar.gz
~$ cd cmake-3.7.2
~$ ./configure
~$ make
~$ sudo make install

Nos ponemos en nuestra carpeta personal, por ejemplo y clonamos la carpeta de los repositorios de Darktable:

~$ git clone https://github.com/darktable-org/darktable.git
~$ cd darktable

Seleccionamos la versión que queremos compilar, esto es útil por si la última nos da problemas, seleccionar la penúltima hasta que se depuren los bugs, en este ejemplo selecciono la 2.2.1 (Por ahora hay un Bug que me impide compilar por encima de esta versión):

~$ git tag # Busca la última versión
~$ git checkout release-2.2.1

Si ya habías clonado antes la carpeta y ya descargaste el código de Darktable desde git y lo que quieres es sólo actualizar el contenido de la carpeta:

~$ cd darktable
~$ git pull

Ahora compilamos la fuente:

~$ ./build.sh --prefix /usr/local/darktable
~$ cd build
~$ make darktable-usermanual
~$ make darktable-lua-api

Para terminar instalamos los ejecutables:

~$ sudo cmake --build "/home/tomy/darktable/build" --target install -- -j4

Y creamos los enlaces simbólicos a lo ejecutables:

~$ sudo ln -sf /usr/local/darktable/share/applications/darktable.desktop /usr/share/applications/darktable.desktop
~$ sudo ln -sf /usr/local/darktable/bin/darktable /usr/local/bin/darktable
~$ sudo ln -sf /usr/local/darktable/bin/darktable-cli /usr/local/bin/darktable-cli
~$ sudo ln -sf /usr/local/darktable/bin/darktable-viewer /usr/local/bin/darktable-viewer
~$ sudo ln -sf /usr/local/darktable/bin/darktable-cltest /usr/local/bin/darktable-cltest
~$ sudo ln -sf /usr/local/darktable/share/icons/hicolor/scalable/apps/darktable.svg /usr/share/pixmaps/
~$ sudo ln -sf /usr/local/darktable/share/icons/hicolor/scalable/apps/darktable-2.svg /usr/share/pixmaps/

Yo siempre mantengo la carpeta de la fuente de darktable para cuando venga la siguiente versión desinstalar como he descrito al principio.

Si quieres comenzar a usar Darktable, puedes empezar por ojear el manual en este enlace.

REFERENCIAS:

XFCE. Thunar no respeta los permisos de los archivos en unidades de red

Cuando trabajamos en red utilizando como entorno de escritorio XFCE, los nuevos archivos creados desde Thunar o cualquier aplicación, en unidades de red se guardan con permisos sólo de lectura (644) e impide un trabajo fluido con otros usuarios. Este es un conocido BUG ( #526880#563886) de desarrollo del entorno de escritorio y para solucionarlo tendremos que editar tres archivos de configuración del entorno, y estar atentos a futuras actualizaciones, no sea que se sobreescriban estos archivos y revirtamos la corrección:

Añadimos al final del archivo /etc/profile el comando umask 0000, necesitamos hacerlo como root, o con sudo:

~#: echo "umask 0000" >> /etc/profile

Hacemos la misma operación para el archivo de configuración de XFCE ( /etc/xdg/xfce4/xinitrc):

~#: echo "umask 0000" >> /etc/xdg/xfce4/xinitrc

Y creamos una regla udev:

~#: echo "umask 0000" > /etc/X11/Xsession.d/99umask

Ahora tendremos que reiniciar la máquina.

Las tres reglas son redundantes y seguramente, con una de ellas sería suficiente para solucionar el problema, si tu sabes cual es, sólo tienes que comentarlo.

 

 

Lenovo Thinkpad x200. Disco duro de la Ultrabase en Debian GNU/Linux

El Thinkpad x200 posee un accesorio llamado UltraBase (43R8781) que permite añadir nuevos puertos USB, cargar una batería accesoria y una bahía para albergar unidades lectoras ópticas  o discos duros, utilizando una caja que se inserta por un lateral y que puede sustituirse en caliente, con el ordenador en funcionamiento.

Si el disco duro accesorio está incluido en el fstab, para especificar el punto de montaje, este modo de funcionamiento "plug and play",  provoca errores del systemd en el arranque, dependiendo de si el disco duro se encuentra o no presente.

Un error parecido a este:

A start job is running for dev-disk-by x2duuid.....

 Para solucionar este problema sólo tenemos que añadir la opción "nofail" al fstab. La línea de fstab quedaría:

/etc/fstab
# /media/datos was on /dev/sdb1 during installation
# <file system>                               <mount point>   <type>    <options>               <dump> <pass>
UUID=754672dd-eb47-42e2-b9be-xxxxxxxxxxxx     /media/datos     ext4      defaults,nofail,user      0    2

REFERENCIAS:

Un temporizador "Pomodoro" para XFCE

Hace ya un tiempo que llevaba buscando un temporizador del tipo "Pomodoro" para el escritorio XFCE. He tropezado con un script bien sencillo, que utiliza el plugin "xfce4-genmon-plugin", en otras palabras el "Monitor Genérico" que muestra la salida de un script.

undefinedPara instalarlo sólo tenemos que clonar la carpeta de Git en nuestro ordenador:

~$ git clone https://github.com/parantapa/pomodoro.git

, y añadir el script a nuestro Panel con el plugin de "Monitor Genérico" abriendo el diálogo de "Propiedades":

undefinedREFERENCIAS:

 

 

 

Lenovo Thinkpad x200. Trackpoint en Debian GNU/Linux (Wheezy o Jessie ~3.16 Kernel)

Para activar el desplazamiento de páginas con el Trackpoint de los Thinkpad, mientras mantenemos pulsado el botón del centro, tenemos que crear un nuevo archivo, con nuestro editor favorito:

~$ sudo vim /usr/share/X11/xorg.conf.d/20-thinkpad.conf

El contenido de este archivo:

Section "InputClass"
Identifier "Trackpoint Wheel Emulation"
MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|ThinkPad Compact USB Keyboard with TrackPoint|USB Trackpoint pointing device"
MatchDevicePath "/dev/input/event*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection

Después tendremos que reiniciar el servidor de las X, o simplemente reiniciar el ordenador.

REFERENCIAS:

 

 

Guardar una lista de los paquetes que tenemos instalados

Esto puede ser muy útil a la hora de replicar una instalación en varias máquinas, o simplemente volver a dejar como estaba un servidor que por algún problemilla hemos tenido que volver a instalar todo.
Para obtener una lista de los paquetes que tenemos instalados, ejecutamos:

~$ dpkg --get-selections | grep -v deinstall > lista_paquetes

Para reinstalar esta lista de nuevo, en esta u otra máquina tenemos que tener instalada una distribución mínima (como mínimo) de la misma versión de Linux que queremos replicar (si no es la misma, se va a liar!!); nos llevamos nuestro archivo lista_paquetes y ejecutamos:

~$ sudo dpkg --set-selections < ./lista_paquetes && sudo apt-get -u dselect-upgrade

Si en el proceso recibes errores diciendo algo parecido a que los paquetes no están en la base de datos (dpkg: warning: package not in database), ejecuta estos comandos y repite el comando anterior.

~$ sudo dselect install
~$ sudo dselect access
~$ sudo dselect update
~$ sudo dpkg --set-selections < ./lista_paquetes && sudo apt-get -u dselect-upgrade

Actualizar R-CRAN en GNU/Debian Jessie

Para actualizar los paquetes de R a R 3.3.1 en jessie, simplemente añade a tu archivo de repositorios ( /etc/apt/sources.list) esta línea:

deb http://<favourite-cran-mirror>/bin/linux/debian jessie-cran3/

Sustituye <favourite-cran-mirror> por uno de los enlaces a los mirror de la lista.

Después ya puedes actualizar el sistema con el comando:

~$ sudo aptitude update
~$ sudo aptitude safe-upgrade

Si recibes un error parecido a este:

W: Error de GPG: http://cran.rediris.es jessie-cran3/ Release: Las firmas siguientes no se pudieron verificar porque su clave pública no está disponible: NO_PUBKEY 06F90DE5381BA480

Necesitas añadir la llave GPG, con este comando y volver a actualizar:

~$ sudo apt-key adv --keyserver keys.gnupg.net --recv-key 381BA480

 

FUENTES:

Borrar las sesiones vacías de la base de datos de Darktable

Darktable es una excelente herramienta para revelar nuestras fotografías, sin embargo, pese a tener un desarrollo muy rápido, algunas cuestiones aún están por pulir: como es el caso de la gestión de nuestra colección de imágenes. Para este fin el programa utiliza una base de datos sqlite a la cual tenemos que importar las ubicaciones de nuestras imágenes y en ella se gestionan cuestiones como las etiquetas, ajustes de la imagen y un largo etc.

Un problema de los más frecuentes es que borremos totalmente las imágenes de una sesión, o que tengamos una importación de un dispositivo fallida y se nos quede una sesión vacía que no hay forma de borrar. Por ahora no existe una solución desde el programa, aunque se está trabajando en ello (sí sabes como hacerlo te invito a que colabores en el desarrollo de Darktable). Para limpiar nuestra base de datos de todas aquellas sesiones vacías tendremos que ejecutar un script desde una consola SIEMPRE CON DARKTABLE CERRADO, os dejo el script:

#!/bin/sh

DBFILE=~/.config/darktable/library.db
TMPFILE=`mktemp -t tmp.XXXXXXXXXX`
QUERY="select A.id,B.folder,A.filename from images as A join film_rolls as B on A.film_id = B.id"
sqlite3 $DBFILE "$QUERY" > $TMPFILE
cat $TMPFILE | while read result
do
ID=$(echo "$result" | cut -f1 -d"|")
FD=$(echo "$result" | cut -f2 -d"|")
FL=$(echo "$result" | cut -f3 -d"|")
if ! [ -f "$FD/$FL" ];
then
echo "removing non existent file $FD/$FL with ID = $ID"

for table in images meta_data; do
sqlite3 "$DBFILE" "delete from $table where id=$ID"
done

for table in color_labels history mask selected_images tagged_images; do
sqlite3 "$DBFILE" "delete from $table where imgid=$ID"
done

fi
done
rm $TMPFILE

# delete now-empty filmrolls
sqlite3 "$DBFILE" "DELETE FROM film_rolls WHERE (SELECT COUNT(A.id) FROM images AS A WHERE A.film_id=film_rolls.id)=0"

Ten paciencia porque si tienes muchas imágenes tardará en encontrar todas tus sesiones vacías.

La fuente de donde he conseguido este script es del mismo proyecto darktable.org

Montar un servidor FTP en una carpeta local

Cuando quieres administrar un sitio web a través de FTP, es un poco engorroso estar conectando y desconectando para subir o borrar archivos, incluso para mantener una copia de seguridad sincronizada en un equipo local. Una solución es montar este servidor FTP en una carpeta local, en la cual podemos trabajar normalmente y sobre la cual podemos hacer copias de seguridad. Para conseguir esto tenemos que instalar curlftp:

~$ sudo su -
~# apt-get install curlftpfs

Después necesitamos crear un archivo con los credenciales de la conexión FTP:

~# vim /root/.netrc

Y añadimos los datos de nuestra conexión FTP con el siguiente formato:

machine www.mi_servidor_ftp.es
login usuario-ftp
password ftp-pass

Cambiamos los permisos de este archivo a 600 (lectura y escritura sólo para el root):

~# chmod 600 /root/.netrc

Necesitamos saber el uid y gid del usuario que tendrá permisos para escribir en la carpeta FTP, normalmente si es el primer usuario será 1000:

~$ id

Crea la carpeta donde se montará el servidor FTP:

~# mkdir /mnt/mi_ftp

Ahora tendremos que añadir una línea al archivo /etc/fstab para que se monte la carpeta al arranque del ordenador (Ajusta el UID y GID a lo que obtuviste en el comando id):

~# vim /etc/fstab

Añade esta línea al final:

curlftpfs#www.mi_servidor_ftp.es /mnt/mi_ftp fuse allow_other,uid=1000,gid=1000,umask=0022 0 0

Ahora ya puedes montar la carpeta:

~# mount -a

Script para hacer copias de seguridad automáticas

Podemos crear un script para automatizar las copias de seguridad de nuestro sitio web (ej. misitio.es)

#!/bin/bash
# mount
curlftpfs -o umask=0777,uid=1000,gid=1000,allow_other ftp://usuario:contraseña@ftp.misitio.es /mnt/misitio
# rsync
rsync --recursive --times --perms --links --delete /mnt/misitio/ /mnt/backups/misitio
# unmount
umount /mnt/misitio

Podemos guardar este script con el nombre de misitio.backup.sh en la carpeta /etc/cron.weekly/ y le damos permisos de ejecución. Por supuesto las carpetas /mnt/misitio (donde montamos la web) y /mntbackups/misitio (donde volcamos la copia de seguridad) deben de existir:

~# mkdir /mnt/misitio
~# mkdir /mnt/backups/misitio
~# cp misitio.backup.sh /etc/cron.weekly/
~# chmod +x /etc/cron.weekly/misitio.backup.sh

Gestión de color en Iceweasel

Si quieres trabajar con fotografías en entornos web, deberías de mantener la gestión de color en todo el proceso, pero por defecto los navegadores no aplican las correcciones de color al contenido que muestran. A continuación paso a describir cómo tengo configurado Iceweasel (El lado libre de Firefox) para que aplique la gestión de color al contenido web. Partimos de la suposición de que tienes correctamente calibrada la pantalla y no aplicas el perfil de color a tu escritorio; si aplicas el perfil de color a todo el escritorio no es necesario que modifiques estos ajustes.

Para modificar la configuración de la gestión de color tendremos que acceder a la configuración avanzada poniendo en la barra de direcciones: about:config; aceptamos que nos metemos en una zona de riesgo (camisa de once varas) y ponemos en el buscador de palabras color_management.

undefined

 

Para editar cada una de las opciones, hacemos click con botón derecho y "Modificar".

  • gfx.color.management.display_profile: Aquí debes de poner la ruta completa al perfil (archivo.icc) de tu pantalla. Si has calibrado con dispcalGUI, tu perfil se esconde en: /home/usuario/.local/share/dispcalGUI/storage/
  • gfx.color.management.enablev4: Esta opción activa la posibilidad de soportar versiones de archivo ICC v4. (true)
  • gfx.color.management.mode: Esta opción es la que activa la gestión de color, concretamente:
    • 0 Desactivada
    • 1 Activa para todo el contenido web (Esta es la opción preferida)
    • 2 Activa sólo para la imágenes
  • gfx.color.management.rendering_intent: Esta última opción define el modo de gestión del color
    • -1 El modo de gestión viene definido en la imagen
    • 0 Perceptual (por defecto)
    • 1 Relativo colorimétrico (Para fotografía yo utilizo este)
    • 2 Saturación
    • 3 Absoluto colorimétrico

Para terminar y que los cambios tengan efecto debes de reiniciar Iceweasel.

Referencias:

 

 

Pagina de inicio ← Publicaciones mas antiguas