Corrigindo problema de tela cheia do Flash no Ubuntu

O Flash sempre me incomodou muito no Ubuntu. Esperava que com o lançamento do Ubuntu 10.10 (Maverick) isso melhorasse, mas os problemas persistem.

Constantemente, as janelas em Flash ficam brancas/cinzas, os vídeos do Youtube ou de qualquer outro site com vídeo ficam congelados em tela cheia (fullscreen), parte do vídeo fica sumindo, etc.

Flash não aparecendo no Youtube

Flash não aparecendo no Youtube

Encontrei no Google uma solução que praticamente resolveu esses problemas! Só não digo que resolveu totalmente porque, durante os testes, o Gnome todo chegou a travar quando estava tocando um vídeo do Youtube em tela cheia. Fui para o terminal apertando Ctrl+Alt+F1, loguei e matei o Gnome com o comando “killall gnome-session”. Não tive mais esse problema no Firefox, apesar de ter tido ainda no Chrome.

A solução para mim foi criar um arquivo de configuração para os aplicativos da Adobe. Basta digitar então os seguintes comando no terminal:

sudo su
mkdir /etc/adobe
echo “OverrideGPUValidation = 1″ > /etc/adobe/mms.cfg

Em seguida, reinicie o Firefox.

Importante: testes realizados com o Ubuntu 10.10 64 bits, Flash do pacote flashplugin-installer e placa de vídeo Intel 945GM.

Mais sobre o arquivo de configuração mms.cfg aqui.

Dicas para o Red Hat Certified Engineer (RHCE) Rapid Track Course – RH300

Semana passada realizei em São Paulo, na sede da Red Hat no Brasil, o curso RH300, que reúne, em apenas 4 dias, os cursos RH033, RH133 e RH253. No quinto dia, ocorre a realização da prova para obter a certificação RHCE (Red Hat Certified Engineer).

Fui para o curso sem saber muito o que vinha pela frente, se estava preparado, quanto de conhecimento eu teria que ter para poder me dar bem na prova do último dia, etc.

Com isso, resolvi listar alguns pontos para quem está com essas mesmas dúvidas que eu tinha, além de listar algumas dicas e como foi a minha estratégia de estudo. É óbvio que a estratégia para estudar é muito pessoal, mas acho que ajuda a ter noção do quão pesado foi para mim tirar essa certificação (sim, fui aprovado no final ;) ).

Para começar, vamos aos meus conhecimentos anteriores em relação ao conteúdo do curso:

  • Trabalho com CentOS, não Red Hat. Quanto a isso, não senti nenhuma dificuldade.
  • Estou acostumado a configurar rede direto nos arquivos de configuração, formatar partições com fsck fdisk e criar sistemas de arquivos, utilizar o cron, gerenciar usuários, configurar NIS, criar virtual hosts no Apache e configurar autofs.
  • Já tinha estudado iptables, mas fui para o curso sem lembrar de nada. iptables é importantíssimo (talvez uma das coisas mais importantes), mas consegui reaprender tudo só com as aulas mesmo.
  • Não sabia nada de selinux, PAM, RAID, LVM, SUID, SGID, sticky bit, ACLs, quota, XEN, IPv6, LDAP, tcp_wrappers, BIND, .htaccess, Squid, FTP, NFS, Samba, sendmail, postfix e dovecot.

Acho que com esses dados dá para ver o porquê da minha dúvida de eu estar preparado ou não! Deveria fazer o RH133 e RH253 antes? Para ser sincero, mesmo o curso durando somente 4 dias, metade do tempo para fazer os outros 2 cursos, não senti falta de nenhum conteúdo durante a prova e o material que eles forneceram cobriu tudo.

Segui a seguinte estrategia para aprender todos esses assuntos em um tempo curtíssimo:

  • Ficar depois do horário para terminar todos os labs da apostila.
  • Ao chegar em casa/hotel após a aula do dia, escrever um resumo dos capítulos visto no dia, listando os comandos, portas que as aplicações utilizam, etc.
  • No último dia/dia da prova, reler todos os resumos e confirmar que sabe de cabeça os comandos de cada serviço.
  • Reler também toda a apostilas e os labs resolvidos.

E finalmente, para auxiliar durante a avaliação, eu aconselho o seguinte:

  • Para cada arquivo que você terá que configurar, procurar no repositório um pacote que tenha algum arquivo de exemplo para te auxiliar a configurar os serviços – além de ler o man dele.
  • As ferramentas gráficas são suas amigas – um “yum install system-config-*” não é nada mal. ;)
  • Ouça os conselhos do instrutor, e foque no que ele está passando, sem querer ir além do que o material ensina.
  • Na dúvida de qual comando usar, ou qual arquivo de configuração ou pacote faz o que você precisa, utilize o “man -k palavra-chave”, procurando pela palavra-chave do que você está configurando (por exemplo, “man -k smb | grep selinux”).
  • Não se esqueça de persistir as modificações! Tudo tem que continuar funcionando após o boot da máquina.

Essa foi a minha experiência. Cada um tem que avaliar por si só qual escolha fazer. Realizar os cursos individualmente – e não em um rapid track – também é muito importante pois você se acostuma com os comandos e configurações com muito mais calma.

Problema com os banners em Flash intrusivos resolvido

Sabem aqueles banners que fazem com que a propaganda invada uma parte da página para chamar mais atenção do leitor? O site do Terra utiliza muito essa funcionalidade.

Nos navegadores do Linux, a propaganda nunca diminuía, ficando sempre tampando parte da página e enchendo nosso saco.

A solução era instalar alguma extensão no Firefox (usava o Adblock) para bloquear o Flash da página.

Agora o problema não existe mais! A Adobe liberou a versão final do plugin 10 do Flash, cuja versão para linux finalmente tem suporte a isso.

Baixe o plugin aqui.

Para instalar, vc pode utilizar o script fornecido no tar.gz, ou instalar via rpm ou dpkg.
Mas basicamente é só extrair o arquivo baixado (seja tar.gz, rpm, deb etc) e copiar o arquivo libflashplayer.so para o diretório /usr/lib/mozilla/plugins.

Reinicie o Firefox caso este esteja aberto e pronto!

Para testar, vc pode verificar as animações daqui e daqui.

Instalando o Komodo Edit no Ubuntu

O Komodo Edit é um (ótimo) IDE para diversas linguagens, como Python, PHP, HTML, Java, C, C++, Ruby, entre outras. Ele é uma versão livre do Komodo IDE, este fechado e pago (uma comparação das funcionalidades dos dois IDEs pode ser vista aqui).

Komodo Edit

Vou mostrar aqui como instalar o Komodo Edit em uma distribuição Linux (Ubuntu Hardy, no meu caso), mas esse IDE também tem versões para Mac e Windows.

Baixe neste link a última versão do Komodo Edit (4.3.2 na época em que escrevi este post). Abra um terminal (no Ubuntu, Aplicações -> Acessórios -> Consola/Terminal) e entre no diretório onde o arquivo foi salvo usando o comando “cd”. Por exemplo:

# cd Desktop/Downloads

caso o arquivo salvo esteja dentro do diretório Desktop/Downloads.

Extraia o arquivo:

# tar xzf Komodo-Edit-XXX-linux-libcpp6-x86.tar.gz

sendo XXX a versão baixada.

Entre no diretório criado após a extração:

# cd Komodo-Edit-XXX-linux-libcpp6-x86

Vamos instalar agora algumas dependências do Komodo Edit — os pacotes scim-qtimm e scim-tables-additional. Se quiser instalá-los via Synaptic, fique à vontade. Instalarei aqui via aptitude. Ainda no terminal, faça:

# sudo aptitude install scim-qtimm scim-tables-additional

Agora é só instalar o dito cujo. Ainda no terminal e dentro do diretório extraído, faça:

# sudo ./install.sh

e digite o diretório onde queria instalar o IDE. Eu sugiro usar o diretório /opt/komodo_edit, mas fique à vontade para escolher um de sua preferência. (O sudo antes só é necessário caso vá instalar em algum diretório fora do seu home, ou onde você não tenha permissão para modificar.)

Por último, para facilitar, vamos criar um link simbólico para a aplicação. No terminal, faça:

# sudo ln -s /opt/komodo_edit/bin/komodo /usr/local/bin

E é isso! Para executá-lo, aperte ALT+F2 e digite komodo.

Este post mostra em um vídeo explicativo como utilizar as funcionalidades do Komodo Edit para criar um projeto Django (e, por conseguinte, programar em Python).

Um pouco sobre a Web Semântica, agentes e linguagens utilizadas

Computadores não entendem o que querem dizer os documentos dispostos na Web, ou seja, não conseguem entender o significado, a semântica, desses documentos. Podem até entender a sintaxe, mas a semântica é perdida. Alguns pensariam que a evolução dos processadores de linguagem natural poderia ajudar nesse aspecto, mas será que eles conseguiriam distingüir a semântica entre as frases “Eu tenho 15 anos” e “Muitos dizem que eu tenho 15 anos”, possivelmente presentes em uma página Web? Ou ainda, ao fazer uma busca pela palavra “Barcelona”, como seria possível retornar somente páginas relacionadas com o clube de futebol Barcelona, e não resultados referentes à cidade espanhola Barcelona?

A Web Semântica ajuda os sistemas inteligentes que percorrem páginas Web a capturarem o sentido da página e o seu conteúdo. A Web, hoje em dia, lida com documentos, enquanto que a Web Semântica busca lidar com coisas, como pessoas, eventos, lugares, filmes, organizações ou qualquer outro conceito desejável, não somente indicando para os computadores essas coisas, mas também mostrando como elas se relacionam entre si, como elas estão conectadas umas com as outras.

Com a Web Semântica, um sistema poderia entender, por exemplo, como uma pessoa, um evento e um lugar se relacionam, facilitando a interação com esses dados. Se uma festa de aniversário é marcada como um evento, com uma data e um local, o computador conseguiria salvar esse compromisso na agenda de uma pessoa. Ferramentas de busca também se beneficiariam com o aumento de precisão das buscas. Uma pessoa poderia informar se o que está sendo buscado é uma pessoa, um lugar, uma música ou um clube de futebol. Assim, a busca não ficaria restrita somente a palavras-chave, mas o resultado também dependeria da semântica das páginas.

Um conceito considerado muito importante para a Web Semântica é o conceito de agentes, que são softwares que percorrem as páginas da Internet em busca de dados anotados semanticamente. Uma pessoa teria um agente pessoal, que conheceria diversas informações a respeito do agenciado. Ao pedir para um agente pessoal encontrar um hotel, devido a uma viagem para um congresso em Manaus, o agente seria capaz de navegar pelas páginas de hotéis de Manaus — e até pela página do congresso, retornando com uma sugestão de hotel próximo ao evento, que não fosse o mais barato, mas cuja rede hoteleira que o administra tenha sido avaliada positivamente pelo agenciado em uma viagem anterior.

Precisa-se, então, de algo que permita embutir semântica em documentos HTML, ou, em outras palavras, anotar os dados de uma página Web semanticamente. Algumas tecnologias já fazem isso, como Microformats e RDFa, permitindo que os conteúdos das páginas façam sentido para humanos e máquinas.

Contudo, o poder de expressividade dessas linguagens não é grande. É possível criar uma página utilizando tecnologias mais expressivas, como OWL e RDF, mais intencionadas para o entendimento dos dados pelos computadores, e não somente por humanos.

Descobrindo o driver de video no Ubuntu Hardy

O Ubuntu Hardy adotou a nova versao 7.3 do xorg, que simplifica muito o arquivo de configuracao /etc/X11/xorg.conf. Simplifica ao ponto de nao informar qual o driver que esta sendo utilizado pelo servidor de video.

Para descobrir qual driver que esta sendo utilizado, existe o xdebconfigurator. Alem do driver, esse programa mostra tambem as configuracoes do mouse e do monitor, entre outras.

Instale-o com o comando:

# sudo aptitude install xdebconfigurator

Executando-o em meu notebook, com placa de video Intel 945GM, obtem-se a saida abaixo. O driver que esta sendo utilizado eh informado na linha que comeca com “VIDEO DRIVER”.

[~]: xdebconfigurator
Detected Xorg server
/usr/sbin/ddcprobe NOT found!
/usr/sbin/kudzu NOT found!
/usr/sbin/detect NOT found!
VIDEO CARD: Xdebconfigurator Card
VIDEO CARD DEVICE:
VIDEO CARD VENDOR:
VIDEO DRIVER: i810
VIDEO DRIVER SRC: discover
VIDEO MEMORY:
POSSIBLE XSERVER: xorg
XSERVER 3:
XSERVER 4: xfree86
DEBIAN PACKAGE: xserver-xorg
MOUSE DEVICE SRC: hwinfo
MOUSE DEVICE: /dev/input/mice
MOUSE PROTOCOL: ImPS/2
MOUSE WHEEL: 0
KEYBOARD RULES: xorg
MONITOR: Xdebconfigurator Monitor
MONITOR ID:
SUGGESTED METHOD: Simple
MONITOR SIZE: 15 inches (380 mm)
MONITOR HOR SYNC: 28-50
MONITOR VER REFR: 43-75
MONITOR MODES: 1024×768, 800×600, 640×480
MONITOR MODE: 1024×768 @ 70Hz
MONITOR MODE SRC: default
MONITOR DEFAULT DEPTH: 16
debconf: DbDriver “passwords” warning: could not open /var/cache/debconf/passwords.dat: Permissão negada
debconf: DbDriver “config”: could not write /var/cache/debconf/config.dat-new: Permissão negada

PS: Post sem acento e cedilha… isso que da ficar futucando o xorg.conf. =oP

Leitor de digital no Ubuntu Hardy

Agora eu me realizei com o Ubuntu 8.04! Primeiro, a saída de vídeo (para monitor, projetor etc) voltou a funcionar, depois o leitor de cartão de memória também, daí foi a vez do meu celular virar um controle remoto pro meu notebook, e agora… o leitor de impressão digital (fingerprint reader) do notebook também está funcionando!

Para isso, utilizei o ThinkFinger. Como está em seu site, o ThinkReader é um driver para leitores de digital do fabricante SGS Thomson Microelectronics. Ele funcionou no meu Toshiba M115, e há relatos de funcionar em outros modelos.

Então, mãos à obra… Vamos instalar as dependências. Digite o seguinte comando em um terminal (Aplicações -> Acessórios -> Terminal/Consola):

$ sudo aptitude install build-essential libtool pkg-config libthinkfinger0 libusb-dev libpam0g-dev

Ou instale os pacotes citados (depois da palavra “install”) usando o Synaptic.

Agora, vamos subir um módulo necessário. Novamente, em um terminal, digite:

$ sudo modprobe uinput

Para que esse módulo sempre suba ao dar boot, edite o arquivo /etc/modules:

$ sudo gedit /etc/modules

E insira o módulo uinput. O arquivo /etc/modules ficará assim:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with “#” are ignored.

fuse
lp
sbp2
uinput

Vamos agora baixar o ThinkFinger. Existe o pacote thinkfinger-tools nos repositórios do Ubuntu, mas ele não foi compilado para ter suporte ao PAM. Portanto, teremos que compilá-lo (coisa simples!). Talvez instalar o pacote thinkfinger-tools e o libpam-thinkfinger baste. Caso alguém teste dessa maneira, avise aqui se funcionou ou não!

Baixe o pacote e digite no terminal (estando no mesmo direitório que o arquivo tar.gz foi baixado):

$ tar xvfz thinkfinger-0.3.tar.gz
$ cd thinkfinger-0.3
thinkfinger-0.3 $ ./configure --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger
thinkfinger-0.3 $ make
thinkfinger-0.3 $ sudo make install

Para verificar se a instalação foi realizada corretamente, verifique se existe o arquivo /lib/security/pam_thinkfinger.so.

$ ls /lib/security/pam_thinkfinger.so
/lib/security/pam_thinkfinger.so

Para testar se o driver está funcionando, digite os dois seguintes comandos, deslize o dedo sobre o leitor de digital e observe se as saídas são semelhantes:

$ sudo tf-tool –acquire
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de>

Initializing… done.
Please swipe your finger (successful swipes 3/3, failed swipes: 0)… done.
Storing data (/tmp/test.bir)… done.

$ sudo tf-tool –verify
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de>

Initializing… done.
Please swipe your finger (successful swipes 1/1, failed swipes: 0)… done.
Result: Fingerprint does match.

Para que não seja mais necessário digitar senhas para logar com seu usuário, vamos configurar o PAM para trabalhar junto com o ThinkFinger. Edite o arquivo /etc/pam.d/common-auth deixando-o da sequinte maneira:

#
# /etc/pam.d/common-auth – authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
auth    optional   pam_smbpass.so migrate
auth    sufficient  pam_thinkfinger.so
auth    required   pam_unix.so nullok_secure try_first_pass

Caso a instalação do ThinkFinger não tenha criado o diretório /etc/pam_thinkfinger, crie-o:

$ sudo mkdir /etc/pam_thinkfinger

Finalmente, adicione uma digital para um ou mais usuários do sistema (substitua USERNAME por um usuário do sistema):

$ sudo tf-tool - -add-user USERNAME

(O correto é digitar, antes do “add-user”, os dois sinais de menos (-) juntos. Mas o WordPress não permite que seja publicado assim. Faça isso ao digitar o comando acima.)

Essa etapa irá falhar se o ThinkFinger instalado não foi compilado com suporte ao PAM.

Para testar, abra um novo terminal e digite algum comando iniciando-o com “sudo”. Por exemplo:

$ sudo aptitude update

Aparecerá a mensagem “Password or swipe finger:”. Basta deslizar o dedo para que sua digital seja reconhecida.

Agora você já pode logar no gdm (tela onde se digita o usuário e a senha) e utilizar as ferramentas de administração sem precisar digitar mais sua senha!

Caso funcione para você, por favor, deixe no comentário a versão do Ubuntu (também funciona com versões anteriores ao Hardy) e o modelo do seu computador ou do leitor de digital externo!

Fonte: Linux on Laptops


Feed RSS completo

Arquivos


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.