{"id":929,"date":"2007-09-16T02:47:01","date_gmt":"2007-09-16T02:47:01","guid":{"rendered":"http:\/\/inacreditavel.ioio.info\/?p=929"},"modified":"2007-09-16T12:30:49","modified_gmt":"2007-09-16T12:30:49","slug":"61658-em-hexa-tracinho-se","status":"publish","type":"post","link":"http:\/\/www.inacreditavel.pt\/?p=929","title":{"rendered":"61658 em hexa tracinho se"},"content":{"rendered":"<p>Estou desde as 10h da manh\u00e3, faz agora 17:21 horas sentado \u00e0 frente do computador a resolver merdelhices de um programa que vou ter que entregar na 2\u00aa feira a um cliente.<\/p>\n<p>A \u00faltima merdelhice &#8211; e uma das primeiras que comecei a tentar resolver &#8211; foi eliminar o screen saver + blank screen + energy star settings + o &#8230; (n\u00e3o h\u00e1 equivalente em hexa)&#8230; do X Windows no Linux.<\/p>\n<p>Eu estou a fazer um quiosque e o ecr\u00e3 tem que estar sempre acesso. Mas de cada vez que testo tenho que esperar 10 min, que \u00e9 o tempo que demora at\u00e9 o ecr\u00e3 se apagar&#8230; Portanto fa\u00e7am as contas ao n\u00famero de testes que eu j\u00e1 fiz, com uma d\u00fazia de reboots pelo meio.<\/p>\n<p>Penso que j\u00e1 dei com a coisa. Testei tudo, desde o ACPI na BIOS at\u00e9 aos <em>screensavers <\/em>no KDE. O problema aparentava ter origem no X (o gestor de janelas) mas n\u00e3o conseguia encontrar os par\u00e2metros de configura\u00e7\u00e3o, nem os ficheiros, nem em que utilizador devia fazer a configura\u00e7\u00e3o, por isso testei dezenas de situa\u00e7\u00f5es.<\/p>\n<p><a title=\"4linhas\" name=\"4linhas\"><\/a><br \/>\nAparentemente, a coisa resolve-se colocando as seguintes linhas no ficheiro <em>.xinitrc<\/em> do utilizador que est\u00e1 a correr o X:<\/p>\n<blockquote><p>setterm -blank 0 -powersave off -powerdown 0<br \/>\nxset s off<br \/>\nxset s noblank<br \/>\nxset -dpms<\/p><\/blockquote>\n<p>Mas eu colquei-as tamb\u00e9m no utilizador <em>root<\/em>, porque \u00e9 o root que lan\u00e7a o <a href=\"http:\/\/x.org\">X<\/a>, apesar de, no quiosque, o X arrancar automaticamente para um utilizador sem privil\u00e9gios (mas isso foi lan\u00e7ado pelo <em>root<\/em>). H\u00e1 tamb\u00e9m um ficheiro <em>.xsession<\/em>, que por vezes \u00e9 usado como ficheiro de arranque do X e, pelo sim pelo n\u00e3o, coloquei l\u00e1 tamb\u00e9m essas linhas.<\/p>\n<p>As outras merdelhices que andei a fazer foram:<\/p>\n<blockquote><p>Um tro\u00e7o de programa em Flash que lesse os dados que v\u00eam de um leitor de cart\u00f5es ligado \u00e0 motherboard de um ecr\u00e3 da <a href=\"http:\/\/www.elotouch.com\">Elotouch<\/a> a funcionar como emulador de teclado. Aqui o problema foi que eu queria ler os dados do cart\u00e3o de forma silenciosa, mas o Flash s\u00f3 deixa ler o teclado (ou emuladores) para caixas de texto vis\u00edveis (TextInput ou TextArea). E al\u00e9m disso t\u00eam que ter o foco. Ora eu n\u00e3o queria uma coisa nem outra: n\u00e3o queria mostrar a caixa, nem queria que o utilizador tivesse que a seleccionar antes de passar o cart\u00e3o. Foram horas a contornar o problema.<\/p>\n<p>Redimensionar uma parti\u00e7\u00e3o ReiserFS no Linux que estava num computador Elo TouchScreen para poder colocar o Windows numa parti\u00e7\u00e3o pequena e correr um programa que a Elo s\u00f3 fornece em Windows, para mudar o modo de emula\u00e7\u00e3o do leitor de cart\u00f5es de <a href=\"http:\/\/en.wikipedia.org\/wiki\/Human_interface_device\">HID<\/a> para KBE (emula\u00e7\u00e3o de teclado) pois o Flash n\u00e3o tem grande flexibilidade na interface com o exterior. O tal programa s\u00f3 est\u00e1 dispon\u00edvel para Windows mas felizmente, grava a configura\u00e7\u00e3o do leitor de cart\u00f5es numa E2Prom do leitor! Assim, a configura\u00e7\u00e3o fica dispon\u00edvel no Linux. Alternativamente, podia desenvolver um driver em Linux para aceder ao leitor e no pr\u00f3ximo fim de semana ainda aqui estava (at\u00e9 porque n\u00e3o sei comandos nem protocolo de comunica\u00e7\u00e3o com o leitor).<\/p><\/blockquote>\n<p>Agora falta terminar a aplica\u00e7\u00e3o principal em Flash, reestruturar a BD para incorporar mais 2 requisitos de \u00faltima hora (coisa pouca) <em>et voil\u00e0<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Estou desde as 10h da manh\u00e3, faz agora 17:21 horas sentado \u00e0 frente do computador a resolver merdelhices de um programa que vou ter que entregar na 2\u00aa feira a um cliente. A \u00faltima merdelhice &#8211; e uma das primeiras que comecei a tentar resolver &#8211; foi eliminar o screen saver + blank screen + [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,3],"tags":[],"_links":{"self":[{"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/posts\/929"}],"collection":[{"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=929"}],"version-history":[{"count":0,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/posts\/929\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=929"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}