{"id":5233,"date":"2025-02-10T09:35:19","date_gmt":"2025-02-10T08:35:19","guid":{"rendered":"https:\/\/diocesanos.es\/blogs\/equipotic\/?p=5233"},"modified":"2025-02-10T09:35:19","modified_gmt":"2025-02-10T08:35:19","slug":"imprimiendo-de-nuevo-utilizando-codigo-de-departamento-desde-linux-en-impresoras-toshiba-e-studio","status":"publish","type":"post","link":"https:\/\/diocesanos.es\/blogs\/equipotic\/2025\/02\/10\/imprimiendo-de-nuevo-utilizando-codigo-de-departamento-desde-linux-en-impresoras-toshiba-e-studio\/","title":{"rendered":"Imprimiendo de nuevo utilizando c\u00f3digo de departamento desde Linux en impresoras Toshiba e-studio"},"content":{"rendered":"\n<p>Pues no. NO es tan sencillo como configurar las opciones de la impresora con el n\u00famero de departamento que corresponda. La sesi\u00f3n de usuario del sistema es \u00fanica y gen\u00e9rica para todos los docentes (usuario \u00abprofesor\u00bb), por lo que comparten escritorio y configuraciones en cada ordenador.\u00a0 Aunque luego se trabaja con credenciales personales la configuraci\u00f3n de las impresoras quedar\u00eda con el \u00faltimo c\u00f3digo introducido por el profesor: Si no lo \u00ablimpian\u00bb o cierran la sesi\u00f3n el siguiente \u00ablisto\u00bb cargar\u00e1 la copias a la cuenta del anterior.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2025\/02\/impre.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2025\/02\/impre.jpg\" alt=\"\" class=\"wp-image-5238\" srcset=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2025\/02\/impre.jpg 1024w, https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2025\/02\/impre-300x225.jpg 300w, https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2025\/02\/impre-768x576.jpg 768w, https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2025\/02\/impre-610x458.jpg 610w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>En MsWindows y utilizando los drivers empresariales funciona: dejar el c\u00f3digo en blanco fuerza la aparici\u00f3n de un di\u00e1logo del sistema inst\u00e1ndote a introducirlo cada vez que imprimes algo. Desde Linux no existe esa funcionalidad, as\u00ed que me puse creativo&#8230;<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Soluci\u00f3n: utilizar el procesado de \u00abfiltros\u00bb del subsistema de impresi\u00f3n CUPS para incrustar un script que forzara la petici\u00f3n al usuario de su c\u00f3digo de la impresora y lo sustituyera en el archivo a imprimir. La verdad es que ven\u00eda funcionado sin problema desde hace 10 a\u00f1os pero en septiembre de 2024 dej\u00f3 de hacerlo. Dejo a cualquier interesado una soluci\u00f3n provisional (adapta las variables XAUTHORITY, XDG_RUNTIME_DIR y DBUS_SESSION_BUS_ADDRESS a tu usuario)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n\n# DESCRIPCI\u00d3N: Filtro para la solicitud del c\u00f3digo de departamento al imprimir\n# MODELO:      Dise\u00f1ado para las impresoras Toshiba e-studio \n# AUTOR:       David Mart\u00edn Pascual  &lt;davidmartin@colegiopablovi.es&gt;\n# VERSI\u00d3N:     2.3 - 10 de octubre de 2024\n# DEPURACI\u00d3N:  \/var\/log\/cups\/error_log\n# PAR\u00c1METROS:  N\u00baTrabajo, Usuario, T\u00edtulo, N\u00baCopias, Opciones, &#91; archivo ]\n\n# REQUIERE:\n#     Tener instalado zenity (apt-get install zenity)\n#     Autorizar a los usuarios 'root' y 'lp' a acceder a la sesi\u00f3n gr\u00e1fica\n#         a\u00f1adiendo 'xhost +si:localuser:lp +si:localuser:root' al fichero\n#         '\/etc\/X11\/35x11-common_xhost-local'\n#     Configurar el uso de este script como filtro en el fichero PPD de la\n#         impresora (est\u00e1n en \/etc\/cups\/ppd\/) a\u00f1adiendo la siguiente l\u00ednea\n#         '*cupsFilter: \"application\/vnd.cups-postscript 0 \/usr\/lib\/cups\/filter\/depcode\"'\n#         antes de la secci\u00f3n 'Installable Option'\n#     Copiar este fichero 'depcode' a la carpeta '\/usr\/lib\/cups\/filter' con el\n#         mismo propietario y permisos que el resto de ficheros all\u00ed contenidos.\n#     Configurar la impresora para utilizar el 'C\u00f3digo de Departamento' y\n#         asignarle como valor por defecto '00000' o no lo pedir\u00e1 de forma interactiva.\n#     Reiniciar el servicio CUPS y la sesi\u00f3n del usuario antes de probar.\n\n# This program is free software: you can redistribute it and\/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License at &lt;http:\/\/www.gnu.org\/licenses\/&gt; for\n# more details.\n\n\nexport DISPLAY=\":0.0\"\nexport XAUTHORITY=\"\/home\/profesor\/.Xauthority\"\nexport XDG_RUNTIME_DIR=\"\/run\/user\/1000\"\nexport DBUS_SESSION_BUS_ADDRESS=unix:path=\/run\/user\/1000\/bus\n\n\n# Al generarse un error emitimos el mensaje apropiado\nfunction ControlError() {\n    CODIGO_ERROR=$?\n    echo \"DEBUG depcode: N\u00ba&#91;$1], Usu&#91;$2], T\u00edt&#91;$3], Cop&#91;$4], Opc&#91;$5], Err&#91;$CODIGO_ERROR]\" &gt;&amp;2\n    if &#91; $CODIGO_ERROR -gt 0 ] ; then\n        case $CODIGO_ERROR in\n             2) TEXTO=\"Cancelado por el usuario\" ;;\n             3) TEXTO=\"El c\u00f3digo bebe contener exactamente 5 d\u00edgitos\" ;;\n             4) TEXTO=\"El c\u00f3digo bebe contener s\u00f3lo n\u00fameros\" ;;\n             5) TEXTO=\"El c\u00f3digo introducido no es correcto\" ;;\n           143) TEXTO=\"Cancelado desde la cola de impresi\u00f3n\" ;;\n             *) TEXTO=\"ERROR n\u00ba: $CODIGO_ERROR\" ;;\n        esac\n        zenity --error --title=\"Impresora\" --text=\"$TEXTO\" --display=:0\n        exit 1\n    fi\n    exit 0\n    }\ntrap 'ControlError $1' 0 1 2 3 15\n\n\n# Obtenci\u00f3n del c\u00f3digo de impresi\u00f3n a trav\u00e9s de un formulario emergente\nCODIGO=`zenity --password --title=\"C\u00f3digo de impresi\u00f3n\" 2&gt;\/dev\/null`\n&#91; $? -eq 1 ] &amp;&amp; exit 2\n&#91; ${#CODIGO} -ne 5 ] &amp;&amp; exit 3\n&#91; -z \"${CODIGO##*&#91;!0-9]*}\" ] &amp;&amp; exit 4\n&#91; \"$CODIGO\" == \"00000\" ] &amp;&amp; exit 5\nDC1=`echo ${CODIGO} | cut -c1`\nDC2=`echo ${CODIGO} | cut -c2`\nDC3=`echo ${CODIGO} | cut -c3`\nDC4=`echo ${CODIGO} | cut -c4`\nDC5=`echo ${CODIGO} | cut -c5`\nSDC1=\"s\/DCDigit1 0\/DCDigit1 ${DC1}\/g\"\nSDC2=\"s\/DCDigit2 0\/DCDigit2 ${DC2}\/g\"\nSDC3=\"s\/DCDigit3 0\/DCDigit3 ${DC3}\/g\"\nSDC4=\"s\/DCDigit4 0\/DCDigit4 ${DC4}\/g\"\nSDC5=\"s\/DCDigit5 0\/DCDigit5 ${DC5}\/g\"\n\n\n# Procedemos a la inserci\u00f3n del nuevo c\u00f3digo en el fichero (o desde stdin)\nif &#91; -f \"$6\" ] ; then\n    sed -e \"${SDC1}\" -e \"${SDC2}\" -e \"${SDC3}\" -e \"${SDC4}\" -e \"${SDC5}\" $6\nelse\n    sed -e \"${SDC1}\" -e \"${SDC2}\" -e \"${SDC3}\" -e \"${SDC4}\" -e \"${SDC5}\" -\nfi\n<\/code><\/pre>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Pues no. NO es tan sencillo como configurar las opciones de la impresora con el n\u00famero de departamento que corresponda. La sesi\u00f3n de usuario del sistema es \u00fanica y gen\u00e9rica para todos los docentes (usuario \u00abprofesor\u00bb), por lo que comparten escritorio y configuraciones en cada ordenador.\u00a0 Aunque luego se trabaja con credenciales personales la configuraci\u00f3n &hellip; <a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/2025\/02\/10\/imprimiendo-de-nuevo-utilizando-codigo-de-departamento-desde-linux-en-impresoras-toshiba-e-studio\/\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Imprimiendo de nuevo utilizando c\u00f3digo de departamento desde Linux en impresoras Toshiba e-studio<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":292,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32,5],"tags":[252,4],"class_list":["post-5233","post","type-post","status-publish","format-standard","hentry","category-equipamiento","category-linux-2","tag-impresion","tag-linux"],"_links":{"self":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/5233","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/users\/292"}],"replies":[{"embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/comments?post=5233"}],"version-history":[{"count":6,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/5233\/revisions"}],"predecessor-version":[{"id":5240,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/5233\/revisions\/5240"}],"wp:attachment":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/media?parent=5233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/categories?post=5233"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/tags?post=5233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}