"Después del juego es antes del juego"
Sepp Herberger

miércoles, 2 de noviembre de 2016

Desactivar el visualizador de PDF de Firefox - Poner configuración forzosa.

Una cosa que nos pasa con frecuencia es que los documentos bajados de Rayuela y mostrados con el visualizador de PDF embebido en Firefox aparecen con caracteres muy solapados y/o desaparecidos al mandarlos a impresión. También pasa con PDF de otros orígenes, pero en el caso de los de Rayuela no falla: imprimes y te sale un galimatías.

Al final, para ahorrarnos quebraderos de cabeza (ya que parece que la culpa de que Rayuela genere esos PDF que Firefox no digiere la tienes tú) compensa desactivar el visualizador embebido y que los PDF de abran con evince, adobe reader o la aplicación que corresponda. La forma manual de desactivarlo es abrir el navegador, poner "about:config" en la barra de direcciones, buscar "pdfjs.enabled" y ponerlo a false. Pero si tienes 500, 1000 o más cuentas de usuario no vas a hacerlo una a una.

La opción mas sencilla, que nos garantiza además que el usuario no pueda volver a activarlo es usar el fichero /etc/firefox/syspref.js, que permite meter configuraciones por defecto u obligatorias para todos los usuarios que inicien sesión en la máquina en cuestión. Este fichero ha ido cambiado de ubicación y nombre a lo largo de la historia de Firefox/Iceweasel. Esperemos que ya se quede para siempre ahí. Bueno, pues el contenido del fichero que pongo es:
# cat syspref.js
// Lock specific preferences in Firefox so that users cannot edit them
lockPref("app.update.enabled", false);
lockPref("browser.startup.homepage", "http://www.google.es");
lockPref("extensions.update.enabled", false);
lockPref("browser.shell.checkDefaultBrowser", false);
lockPref("extensions.blocklist.enabled", false);
lockPref("print.postscript.paper_size","A4");
//Proxy
lockPref("network.proxy.type",0);
// Use LANG environment variable to choose locale
lockPref("intl.locale.matchOS", true);
lockPref("pdfjs.disabled", true);
Como se puede observar, aprovecho para fijar otras cosas que me gusta tener controladas: página de inicio, tamaño de papel de impresión, etc. El "lockPref" nos asegura que el usuario tendrá bloqueado el cambio de esa opción de configuración. Si en su lugar ponemos "pref" la opción tendrá ese valor por defecto, pero cada usuario podrá cambiarla a su gusto a posteriori. Como además queremos aplicar este fichero en todas las máquinas nada mejor que una regla puppet para hacerlo, que sería:
# cat init.pp
class miclase {
....
   file {"/etc/firefox/syspref.js":
                   owner=>root, group=>root, mode=>644,
                   source=>"puppet:///modules/miclase/syspref.js",
    }
....
}
Bueno, pues con esto nos despreocuparemos de este tema para siempre... a no ser que usen Google Chrome.

No hay comentarios:

Publicar un comentario