03 janeiro 2012

Teclado com teclas de ajuste de volume doidas


O netbook Philco PHN 10403 se comporta muito bem com o Ubuntu 10.04 LTS (Lucid Lynx), exceto pela questão das teclas de função "Fn". É, é um bug com as teclas multimídia para controle de volume:

Fn+Volume para cima
Fn+Volume para baixo
Fn+Mudo

ou seja

Fn+VolUp
Fn+VolDown
Fn+Mute

O teclado simplesmente fica doido, maluco, como se as teclas fossem mantidas pressionadas, a função ficando habilitada de forma repetida, consequentemente travando o sistema. Putz...

Mas não é nada que uma vasculhada não resolva, como temos no post do site abaixo:
http://ubuntuforums.org/archive/index.php/t-974723.html

É uma situação um pouco complicada para usuários normais, pois necessita alteração do código fonte de um driver (módulo evdev) utilizado pelo gerenciador do ambiente gráfico do Xorg do Linux. Mas, seguindo as instruções passo-a-passo que irei reproduzir aqui no blogue, deve correr tudo certo, inclusive para versões anteriores (e posteriores talvez)... SÓ TENHA MUITO CUIDADO.

1) Abra o Terminal / Console.

2) Digite o comando abaixo para baixar o código fonte da versão corrente do módulo evdev:
$ apt-get source xserver-xorg-input-evdev

3) Dentro do diretório que foi gerado ao terminar de baixar o módulo evdev deve existir um diretório com o nome "src". Entre nele e abra o fonte "evdev.c". Isto pode ser feito nos seguintes passos se a versão que foi baixada for a mesma que está sendo explicada neste blogue:
$ cd xserver-xorg-input-evdev-2.3.2/src
$ pico evdev.c

4) Dentro do arquivo "evdev.c" localize um bloco onde contenha uma programação similar ao que consta abaixo:

/* filter repeat events for chording keys */
if (value == 2 &&
(ev->code == KEY_LEFTCTRL || ev->code == KEY_RIGHTCTRL ||
ev->code == KEY_LEFTSHIFT || ev->code == KEY_RIGHTSHIFT ||
ev->code == KEY_LEFTALT || ev->code == KEY_RIGHTALT ||
ev->code == KEY_LEFTMETA || ev->code == KEY_RIGHTMETA ||
ev->code == KEY_CAPSLOCK || ev->code == KEY_NUMLOCK ||
ev->code == KEY_SCROLLLOCK)) /* XXX windows keys? */
return;

5) Ao encontrar, adicione uma linha em branco após este bloco e copie e cole o código abaixo:

/* fix events for volume keys */
if(ev->code == KEY_VOLUMEDOWN || ev->code == KEY_VOLUMEUP || ev->code == KEY_MUTE)
{
        xf86PostKeyboardEvent(pInfo->dev, code, 1);
        xf86PostKeyboardEvent(pInfo->dev, code, 0);
        return;
}

6) Salve as alterações e saia do editor.

7) Vamos compilar a versão do evdev e botar pra rodar. Para isto, é necessário que você tenha tudo o que é necessário para compilar os fontes envolvidos. Vamos garantir isto digitando as seguintes linhas:

$ sudo apt-get install build-essential libtool automake gcc xorg-dev xutils-dev

$ sudo apt-get build-dep xserver-xorg-input-evdev

8) Após baixar todos pacotes necessários, vamos compilar. Digite:
$ cd ..
$ chmod +x autogen.sh
$ ./autogen.sh
$ make

9) Se não ocorreram erros até aqui, podemos instalar o que foi compilado, com o comando abaixo:
$ sudo make install

10) Agora, é necessário copiar o driver a recém compilado para o local que será utilizado pelo servidor Xorg. Ao executar a cópia, o ambiente gráfico será reiniciado e quando ele voltar, as teclas de volume deverão estar funcionando ok...! Faça isto com o comando abaixo:

$ sudo cp /usr/local/lib/xorg/modules/input/evdev_drv.so /usr/lib/xorg/modules/input/

11) E é isto aí!!! Se você precisou fazer isto, poste alguma coisa aí nos comentários! Se precisar de ajuda, também! :-)

Até a próxima!

16 fevereiro 2010

Problemas no audio Intel no Ubuntu 9 com Vaio?

Em 2009 adquiri um Sony Vaio... Um pequeno e exagerado sonho de consumo que está me consumindo algumas noites de sono de preocupação para pagá-lo... Mas vale a pena. É uma máquina muito boa!

A primeira coisa que fiz quando o comprei foi instalar Linux, claro! Como eu tinha um Live CD do Ubuntu 64bits, não hesitei: foi esta distro que instalei.

Sony Vaio VGN-NS150AE
Ubuntu 9.10 x86_64
Linux Kernel 2.6.28-18-generic

Como eu gosto de experimentar softwares de audio, brincar com sequenciamento MIDI, edição de audio etc, instalei o Ubuntu Studio através do Synaptic.

A partir dali passei a ter problemas, que acabei por resolver. Meu mixer passou a exibir o dispositivo: null. Putz.

Seguem abaixo os passos para você que estiver passando por um problema similar!

--- Mesmo que nem toda versão de hardware e software seus sejam ''bem iguais'' aos meus, esta experiência, com alguma variação ou não, pode resolver o teu problema. ---

Entrando no console e digitando lspci, observei que o audio é reconhecido como Intel. Alguns notebooks Dell, Toshiba, Acer, IBM Lenovo etc tem o mesmo dispositivo para Audio.

00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)

Baixei os pacotes fonte do módulo Alsa direto do site oficial do projeto:
ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.20.tar.bz2
ftp://ftp.alsa-project.org/pub/driver/alsa-lib-1.0.20.tar.bz2
ftp://ftp.alsa-project.org/pub/driver/alsa-utils-1.0.20.tar.bz2

(Recomendo visitar o site para verificar se já não há alguma versão mais atualizada)

Vamos criar uma pasta para estes arquivos. Entre no console e digite:
$ mkdir /usr/src/alsa

Copie os arquivos recem baixados para esta nova pasta:
$ cp ./Desktop/alsa-* /usr/src/alsa/

(Observe o caminho que coloquei. Somente digitei "./Desktop/" porque baixei os arquivos para minha área de trabalho. Se salvou em outro lugar, é necessário mudar o caminho.)
Entre na pasta:
$ cd /usr/src/alsa

Vamos descompactar os arquivos:
$ sudo tar xvfj alsa-driver*.bz2
$ sudo tar xvfj alsa-lib*.tar.bz2
$ sudo tar xvfj alsa-utils*.tar.bz2

Vamos entrar na pasta do alsa-driver e compilá-lo:
$ cd alsa-driver-(versão)

Eu passei o parâmetro referente ao dispositivo Intel nesta linha abaixo. É possível passar parâmetro para outras placas, conforme a necessidade. Vide o site oficial do projeto Alsa (http://www.alsa-project.org) para identificar o nome do módulo a ser passado como parâmetro.

$ sudo ./configure --with-cards=hda-intel
$ sudo make
$ sudo make install

Para quem nunca tentou fazer isso, vai correr um monte de coisas na tela. Se não der algum "Error", sinal que está tudo certo... Acabamos de configurar, compilar e instalar o Alsa. Agora vamos seguir configurando, compilando e instalando os outros pacotes que baixamos:

$ cd ../alsa-lib*
$ sudo ./configure
$ sudo make
$ sudo make install

Antes de seguir, certifique-se que estejas com a biblioteca libncurses atualizada. Para isto, tente instalá-la através do apt-get:
$ sudo apt-get install libncurses5-dev

E siga avante:
$ cd ../alsa-utils*
$ sudo ./configure
$ sudo make
$ sudo make install

Em princípio, estamos prontos.

No meu caso, reiniciei o computador e tudo funcionou. No controle de volume do Gnome voltou a aparecer o dispositivo de audio "HDA Intel". Inclusive agora aparecem outros que foram configurados junto com o Ubuntu Studio, com o PulseAudio (identificado como "HDA Intel - ALC262 Analog" e "Realtek ALC262").

Basicamente, encontrei a solução neste link (http://tirloni-rs.blogspot.com/2009/07/hda-intel-no-ubuntu-904.html) (a solução não era exatamente para a mesma causa, por isto reproduzi aqui com alguma modificação).

Bom... Espero que isto ajude alguém! Boa sorte!

Qualquer dúvida ou se precisares de alguma ajuda, entre em contato!

16 outubro 2009

Horário de verão no Brasil e o network time protocol (NTP)

O NTP (Network Time Protocol) é um protocolo para sincronização dos relógios dos computadores, ou seja, ele define um jeito para um grupo de computadores conversar entre si e acertar seus relógios, baseados em alguma fonte confiável de tempo, como os relógios atômicos do Observatório Nacional, que definem a Hora Legal Brasileira. Com o NTP é fácil manter o relógio do computador sempre com a hora certa, com exatidão de alguns milésimos de segundo, e só há vantagens em se fazer isso!

O NTP.br através de seus servidores públicos ajuda a manter seu computador e sua rede sincronizados com a Hora Legal Brasileira e com o Tempo Universal Coordenado (UTC).

Às 00h de Domingo, 15 de fevereiro de 2009, termina o horário de verão.

O NTP não é influenciado pelo horário de verão, porque trabalha sempre com o tempo na escala UTC.

Quem define o horário local e o horário de verão é o seu sistema operacional. Se corretamente configurado, ele deve fazer a alteração automaticamente.

Se o seu computador sair do horário de verão indevidamente, ou não sair, quando deveria, o problema não é o NTP, mas sim a configuração da zona de tempo de seu sistema operacional.

Se você utiliza Windows, veja o seguinte hotfix da Microsoft: http://support.microsoft.com/kb/957201/pt-br, que atualiza as informações de zona de tempo com as regras definidas pelo governo brasileiro em 2008.

Se você usa GNU/Linux, FreeBSD, ou MacOSX, atualize o pacote tzdata. Use o instalador de pacotes do seu sistema operacional para fazer isso. Você também pode encontrar o pacote mais recente (tzdata2009b.tar.gz) em ftp://elsie.nci.nih.gov/pub/.

Leia sobre as regras para o horário de verão no sítio Web da Divisão Serviço da Hora do Observatório Nacional, no endereço: http://pcdsh01.on.br.

Fonte: http://www.ntp.br/

30 setembro 2009

Gerador de Robots.txt

Esta ferramenta gera o conteúdo de um arquivo robots.txt. Com ele, você pode definir o que os crawlers (sistemas dos buscadores de sites) podem ou não acessar.

http://www.mestreseo.com.br/ferramentas-seo/gerador-robots-txt/

21 setembro 2009

Ferramenta para substituição em lote

O "regexxer search tool" é uma ferramenta muito útil escrita em Perl para localizar e substituir conteúdos de arquivo ou conteúdo de vários arquivos em massa (palavras, trechos, expressões regulares etc), no ambiente gráfico (GUI) Linux.

Seu site é:
http://regexxer.sourceforge.net/

No Debian ou no Ubuntu, para instalar, basta digitar no terminal:
sudo apt-get install regexxer


16 setembro 2009

Você conhece o "Cold Fusion", ou o "ColdFusion", ou o "CFML", ou "fusão a frio"?

Não! Não é a mesma coisa.

CFML é a linguagem de programação. Aplicações criadas em CFML geralmente servem para a web, a exemplo do PHP, do ASP, do Java etc...

Se você programa em ColdFusion, na verdade você programa em CFML.

Sim! Há como programar em CFML sem utilizar o servidor Adobe ColdFusion, de forma livre e gratuita.

Conheça o comitê http://www.opencfml.org e as diferenças entre os padrões dos diferentes servidores de aplicação para CFML no mercado. A linguagem é a mesma para todos, mas existem alguns "extras" que somente algumas versões tem.

Usa os teus direitos e não estejas obrigado a utilizar o servidor de aplicações proprietário ou uma marca específica. Programe sabendo que você pode ser livre para migrar. ;-)

14 setembro 2009

Executar scripts ou binários na inicialização do Ubuntu

Acostumado com utilização do /etc/rc.d/rc.local do Slackware e noutras distros para acrescentar scripts diversos na inicialização, me deparei com um problemão, com horas de tentativas frustadas para realizar o mesmo no Ubuntu, porém numa situação bastante particular: executar o MySQL numa pasta diferenciada (/usr/local/mysql_server), utilizando a distribuição binária.

Por que disto? Para executar múltiplos binários MySQL na mesma máquina.

Então... Como é de conhecimento de muitos, para conseguir executar o mysqld_safe, é necessário executar a partir da pasta da instalação binária:

cd /usr/local/mysql_server
./bin/mysqld_safe &

As duas linhas acima não funcionam no /etc/rc.local do Ubuntu.

No Ubuntu, isto só funcionou em /etc/init.d/bootmisc.sh

Sim, existem formas mais bonitas disto ser feito. Mas quando for necessário, bootmisc.sh pode salvar sua vida.