Histórico de múltiplas instâncias do bash

Isto pode ser útil para quem trabalha com várias janelas de terminal.

O comando history do bash (também o CTRL+R) guarda apenas o histórico da última sessão aberta, o que é um problema para quem usa mais de um terminal (eu uso o conjunto Xterm + screen).

Para corrigir isto, adicione em seu .bashrc

#Firulas de historico com o bash
export PROMPT_COMMAND=”history -a”
export HISTFILESIZE=2000
shopt -s histappend

Trabalhe com quantos terminais quiser, e guarde o histórico de todos!

[UPDATE 07/08/2008]: Tinha um erro na última linha. Obrigado André Matos e Sérgio Silva

N810 - Vale a pena?

N810

Andei lendo os reviews do N810 na internet por aí: O que achei?

Interessante: a bateria dura muito mais, tem teclado e GPS embutido, 2Gb de disco ( sem memory-flash ) e processador de 400MHz.

Ponto fraco: de longe, o preço. Quase 500 dolêtas e sem GSM ( tá tá, não é o foco do device, mas bem que poderia ter ).

O Cesar comentou, não sei da veracidade, mas o chinook do N810 será portado pro N800 também. Sendo assim, como hoje é possível encontrar o N800 por U$ 255.99, acho que a diferença de preço não vale as novidades. A não ser que a Nokia lance novamente aquele programa para baixar o custo do aparelho na mão dos desenvolvedores.

Agora é esperar a Bia fazer os comentários dela!

UPDATE:

O Cesar chegou primeiro, e confirmei as informações na lista do maemo.

  • O Chinook será portado para o N800 quando o N810 começar a ser vendido.
  • O programa para desenvolvedores vai rolar.
  • O N810 tem transmissor FM para ouvir música no carro.
  • Continuo não pagando 500 doletas por ele.

UPDATE 2:

Com o ASUS EeePC top de linha por U$ 400, vamos ver por quanto tempo o preço do N810 se sustenta.

Pychord: minha primeira contribuição ao Maemo.

Estou dando vida à minha primeira contribuição opensource ao projeto Maemo.

É o Pychord.

PyChord é uma aplicação que ajudará músicos durante ensaios mostrando cifras das músicas. A vantagem é que ele possui função de auto-scroll da tela, além de ter botões relativamente grandes.

Bastará ao usuário procurar pelo nome da música e o sistema mostrará a cifra. Como passei muito tempo brincando com a interface dele (fazer widgets no pygame parecia impossível antes, além do scroll sensível e com impulso), acabou não dando tempo de desenvolver a interface de busca por cifras. Mas estou pensando em usar o SQLite mesmo. De qualquer forma, além da search engine tem algumas features que pretendo desenvolver pra ele:

  1. Troca de tom das músicas (muito útil pra caras como eu que custam para lembrar que a diferença entre B e C é de meio tom)
  2. Rotação da tela.

De qualquer forma, tenho que agradecer ao Tony Maro que desenvolveu o teclado virtual e ao Marcelo ao dizer que não é bonito scroll-bars aonde não precisa. =)

O código não está aquela beleza, mas vai ter feriado por aí e eu vou ter bastante tempo livre para arrumar e terminar a aplicação.

Meu inglês não é lá essas coisas, mas fiz um vídeo de demonstração da aplicação que pode ser visto abaixo.

Com isto estou criando uma versão do meu blog na língua da rainha: http://labs.danilocesar.com.

E para quem quiser ver o código do PyChord:

svn co http://labs.danilocesar.com/pychord/trunk

Aceito sugestões!

[]’s a todos e bom feriado!

Mplayer/Totem Crashes… X11 error: BadAlloc

Há um tempo que venho percebendo problemas para executar vídeos com o Totem/Mplayer em meu notebook.

Esta a tentar assistir o vídeo do Marcelo e estes programas insistiam em finalizar sozinhos acusando o erro de alocação de recursos. A mensagem era a seguinte:

MPlayer 2:1.0~rc1-0ubuntu9.1 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Pentium(R) M processor 1.60GHz (Family: 6, Model: 13, Stepping: 8)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Can’t open joystick device /dev/input/js0: No such file or directory
Can’t init input joystick
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
[Ogg] stream 0: video (Theora v3.2.0), -vid 0
Ogg file format detected.
VIDEO: [theo] 1026×769 24bpp 10.000 fps 0.0 kbps ( 0.0 kbyte/s)
open: No such file or directory
[MGA] Couldn’t open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn’t open: /dev/mga_vid
[VO_TDFXFB] Can’t open /dev/fb0: No such file or directory.
[VO_3DFX] Unable to open /dev/3dfx.
———————————————————
Opening video decoder: [ffmpeg] FFmpeg’s libavcodec codec family
[theora @ 0x8939638]Missing extradata!
Could not open codec.
VDecoder init failed :(
Opening video decoder: [theora] Theora/VP3
VDec: vo config request - 1026 x 769 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [xv] 1026×769 => 1026×769 Planar YV12
Selected video codec: [theora] vfm: theora (Theora (free, reworked VP3))
———————————————————
Audio: no sound
Starting playback…
X11 error: BadAlloc (insufficient resources for operation)
MPlayer interrupted by signal 6 in module: vo_check_events
- MPlayer crashed. This shouldn’t happen.
It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
gcc version. If you think it’s MPlayer’s fault, please read
DOCS/HTML/en/bugreports.html and follow the instructions there. We can’t and
won’t help unless you provide this information when reporting a possible bug.

Entrei várias referências a este problema, mas o que resolveu mesmo foi a solução que encontrei no fórum do fedora: Reconfigurar o drive i810, usado pela placa de vídeo, com a opção LinearAlloc.

E o Xorg.conf ficou assim:

Section “Device”
Identifier “Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller”
Driver “i810″
BusID “PCI:0:2:0″
Option “LinearAlloc” “8160″
EndSection

E está pronto. Claro, só vai fucionar para quem usa i810. Mas já ajuda aos paraquedistas que caírem por aqui com o mesmo erro.

Túnel SSH com Proxy Socks: Agora em sabor Transparente!

Há muito tempo que eu queria saber um pouco mais sobre os tais túneis SSH.

Depois de procurar um pouco, achei um artigo que poderia me ajudar a fazer um túnel SSH afim de proteger meus dados em pontos de acesso wireless públicos.

Mas eu queria mais; Não queria ficar pondo e removendo proxy de todas as aplicações só porque mudei de rede. Queria deixar isto transparente.

Depois de perder algumas horas com regras IPTABLES descobri o Tsocks, ou Transparent Socks para os íntimos.

Instalação

No Ubuntu/Debian como sempre é muito fácil:

apt-get install tsocks

Falar de instalação já não tem mais graça….

Configuração

Basicamente é necessário editar o arquivo /etc/tsocks.conf. Particularmente, eu limpei este arquivo e coloquei apenas as seguintes linhas:

local = 192.168.0.0/255.255.255.0
path {
reaches = 0.0.0.0/0.0.0.0
server = 127.0.0.1
server_type = 4
server_port = 5151
}

Calma calma, vou explicar:

Local: é o endereço e a máscara de subrede da rede local. Afina, quando você digitar 192.168.X.X você geralmente deseja acessar a rede interna, correto? Algumas pessoas podem querer utilizar 10.0.0.0/255.0.0.0.

Fora isto, eu quero que TODA a conexão feita para QUALQUER outro endereço, seja encaminhada para o meu Túnel. Para isto, criei um path .

reaches: Da mesma forma que Local, indica o IP da rede para qual eu quero acessar. 0.0.0.0/0.0.0.0 significa aqui toda e qualquer rede (exceto a definida em Local).

server : Indica o endereço IP do servidor Socks. No caso estará em minha máquina local.

server_type: Indica a versão do servidor Socks.

server_port: Indica a porta onde o servidor estará rodando. No meu caso, será a porta 5151.

E agora Rapá?

E agora precisamos rodar o nosso túnel. O meu fica da seguinte forma:

ssh -C -D 5151 MEU_LOGIN@talisker.c3sl.ufpr.br cat -

E depois iniciar o tsocks com o comando:

tsocks -on

Agora, para rodar o Firefox ou Pidgin utilizando o tsocks, basta dar o seguinte comando:

tsocks firefox
tsocks gaim

E está aí, pronto para usar e sem configurações adicionais!

Qualquer dúvida, estamos aí!

[]’s

Danilo Cesar

Update: Desafio para férias: Fazer um port do Tsocks para Maemo para usar encriptação nas redes do C3sl.

Notebook e Gnome, está tendo problemas com som?

Este é apenas um POST rápido sobre um pequeno problema que eu estava tendo com o Gnome.

Em meu HP Pavillon DV4000, o Ubuntu (tanto o 6.XX como o 7.04) funcionava corretamente. Mas eu estava enfrentando alguns problemas com o controle de volume. O problema era o seguinte:

- Quando aumentava o volume pelos botões multimedia ou pelo controle remoto, tudo funcionava perfeitamente. Mas não funcionava quando eu estava ligado a uma caixa de som ou um fone de ouvido. Isto acontecia porque a faixa “mestre” não controla (ou não tem efeito) sobre a faixa headphone como podem ver na imagem abaixo:

Controlador de som do Gnome

Qual a solução para isto?

No menu Sistema/Preferência/Som é possível escolher qual o dispositivo que será controlado pelo teclado-multimedia/controle remoto. É útil saber que a faixa “PCM” controla tanto o som da saída de fone de ouvido quando do próprio computador. Então é só mudar para PCM que tudo irá funcionar corretamente.

Caixa de preferências de som do Gnome

Ubuntu, wireless e WPA

Ubuntu-br
Olá,

Venho falar hoje um pouco sobre Wireless, WPA e Linux.
Como algumas pessoas podem saber, manter uma rede wireless pode ser um problema. Qualquer pessoa na esquina da sua casa ou empresa pode estar tentando “hackea-la”. E, diferente do que muita gente pensa, o protocolo WEP não é alias de segurança, pois o mesmo pode ser quebrado com um pouco de conhecimento em menos de uma hora.

Solução: WPA

WPA é um protocolo de segurança criado pela Wireless Aliance para acabar com as enormes falhas de segurança do WEP. E conseguiram (digamos que apenas em partes, pois já saiu o WPA2).

Tudo muito lindo e muito bacana, mas como fazer minha rede rodar com WPA?
Existe um tutorial de como rodar WPA no linux neste site, mas é extremamente complexo: roda wpa_suplicant, copia deste conf para este, vai pra cá, vai lá… copia configuração…. etc etc etc…

Maneira Humana:

  1. apt-get install network-manager-gnome

Este programa gera um applet, que ficará em seu systemTray mostrando o sinal da rede. Clicando sobre ele, é possível ver quais as redes disponíveis. Clicando sobre ela, ele tentará autenticar. Caso tenha encriptação, ele pedirá a senha e o tipo de autenticação, sendo esta WEP, WAP ou WPA2. O que facilita extremamente o gerenciamente de redes no Ubuntu.

Lembrem-se: Wireless? Use WPA2 sempre que possível!

Algumas ScreenShots:

Opções
Opções de encriptação disponíveis

Abrindo Wireless
Redes disponíveis

Para aqueles que tiveram problemas do programa simplismente não localizar rede nenhuma, abra o network-admin, vá para conexões wireless, remova todas as informações e reinicie o Ubuntu.

Análise do Ubuntu 6.10 e Notebook HP Pavilion dv4000

Hoje não vou escrever nada muito técnico, mas sim farei uma breve (ou seria brevíssima?) análise do Ubuntu EDGY rodando sobre um notebook HP Pavilion DV4000.

Introdução: Porque não Debian?

Como muitos devem saber, instalar linux em um notebook selado com o famoso “Designed For Microsoft Windows” pode não ser uma tarefa muito fácil.

Como aqueles que me conhecem também sabem, sou fã do debian, e por isso é óbvio que coloquei debian no notebook. Mas esta opção teve vários problemas, dos quais com um pouco de esforço consegui resolver grande maioria, e até botar a placa 3D pra rodar.

Os problemas que encontrei foram:

  1. Não consegui colocar a placa wireless 100%.
  2. A placa 3D não ficou 100%. Sempre dava um erro, e alguns programas não abriam.
  3. Botões multimidia não funcionaram logo de cara
  4. O Scroll do touchpad não estava funcionando corretamente

1) A placa wireless dos centrinos geralmente rodam com o firmware ipw2200, mas o debian por algum motivo (não deixar carregar os drivers proprietários do mal, como disse ironicamente o Morimotto) não inclui alguns componentes necessários para isso, sendo necessário puxar o código fonte do udev e instalar um componente. [1]
Além disto, não foi possível colocar a placa wireless em modo promíscuo.

2) Como faz muito tempo que eu instalei, não lembro exatamente os erros que davam. Mas precisei instalar alguns módulos do X pelos fontes que puxei da internet. E não ficou 100% pois sempre dava alguns erros.

3) Utilizando do hotkeys e um teclado multimedia da HP, consegui colocar os botões multimedia para funcionar.

4) O touchpad funcionava, menos o scroll. Copiando as linhas do xorg.conf do mandriva, consegui coloca-lo para funcionar.

Ubuntu? Mais um derivado do Debian??? Credo…

Sempre preguei a seguinte idéia: “Kurumin, knoppix e outros derivados são lixo! Bom é usar o debian puro!”, mas esta minha idéia mudou depois que conheci o Ubuntu.

Depois de muito resistir em mudar de distribuição, fui convencido pelo meu amigo Arthur Furlan a experimentar o Ubuntu. Como um dia acabei precisando re-instalar o debian da minha máquina, resolvi testar antes o tal do Ubuntu.

Ubuntu: Primeiras impressões.

A primeira impressão que eu tive do Ubuntu (começei pelo 5, mas como vi que estava legal instalei o 6.6 logo em seguida) foi muito boa. Uma interface amigável, e a instalação extremamente simples. Para os fãs de Debian como eu, estavam lá todas as ferramentas padrão do debian e todos os pacotes disponíveis (e mais alguns).

Agora, o que mais me impressionou foi quando eu experimentei o tal do glxgears (testador da placa 3D), quando percebi que sem nenhuma configuração adicional, a placa 3D já estava funcionando sem nenhum problema.

glxgears

O Scroll também já estava funcionando, e a placa wireless também.

Sem contar que os pacotes do Ubuntu estão sempre novos. Na versão 6.10 temos gaim2, firefox 2 e gnome 2.16.

Conclusão.

Hoje posso dizer que “estou migrado” para ubuntu. Uma distribuição que é extremamente simples para instalar e usar (qualquer um consegue), e ao mesmo tempo possui todas as ferramentas mais “geeks” do Debian.
[]’s

Danilo Cesar