sábado, 29 de setembro de 2007

Desabilitar Beep

Para remover beep do console ou outros programas do X:

Dentro do X11:
# xset b off
Nos terminais:
# setterm -blength 0
Fonte:

http://www.debian-administration.org/articles/110

sexta-feira, 28 de setembro de 2007

Experiencia com HP dv6105us



















Instalação:


Feito download do ubuntu-7.04-desktop-64 a partir de:
http://releases.ubuntu.com/feisty/ubuntu-7.04-desktop-amd64.iso

Para efetuar efetuar o boot a partir do cdrom foi necessário inserir as opções noapic nolapic (F6 na tela do GRUB) senão o modo gráfico não era carregado corretamente e travava o note.

Após isto a instalação ocorreu sem problemas

Configuração:

A maioria dos dispositivos funcionou corretamente, como o áudio, incluíndo os botões de controle de volume (acima do teclado), touchpad funcionou desde o boot pelo cdrom. Placa de rede funcionou ou ( wired ).
O applet de visualização de carga de bateria, e de frequência da cpu e temperatura forneceram dados coerentes.

Vídeo:
o vídeo funcionou corretamente, mas o ubuntu não habilitou o driver nvidia de forma correta.
Instalei via synaptic o pacote nvidia-glx e troquei 'nv' por 'nvidia' no arquivo /etc/X11/xorg.conf
Reiniciei o modo gráfico e testei a aceleração com o glxgears e obtive um desempenho muito melhor atingindo 2650 FPS.

Teclado:
Se você não selecionou o modelo certo de teclado, altere o seu /etc/X11/xorg.conf:
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbVariant" "intl
EndSection
Placa de rede wireless:
A placa é uma Broadcom Wireless 1390 Mini-PCI Card
Foi carregado por padrão um driver bcm43xx que não funcionou ( não habilitou a placa - led permanecia vermelho ). Após alguma pesquisa e testes o resultado foi o seguinte:

  • Baixar via synaptic os pacotes ndiswrapper e cabextract
  • Baixar o driver para Windows da placa de rede, que podem ser obtidos do driver na página da HP: http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?softwareitem=ob-53245-1&lc=en&cc=us&dlc=en&product=3245619&os=228&lang=en
  • Descompacte o arquivo do driver com o cabextract
  • Executar:
    # rmmod bcm43xx
    # echo blacklist bcm43xx >> /etc/modules.conf/blacklist
    # ndiswrapper -i bcmwl5.inf
    # ndiswrapper -l ( vai informar se o driver foi instalado corretamente )
    # modprobe ndiswrapper ( carrega o módulo )
    # ndiswrapper -m

  • Por incrível que pareça: reinicie seu Linux!
Screenshot:













enlightenment DR17

Referências:

http://en.opensuse.org/SDB:Broadcom_(BCM4306)_WLAN_Installation_under_SUSE
http://www.bestlinux.com.br/index.php?option=com_content&task=view&id=2088&Itemid=117&limit=1&limitstart=3

quinta-feira, 21 de junho de 2007

gnomabaker

















Até hoje utilizava o k3b como ferramenta de gravação de CD/DVD.
Já até tinha tomado conhecimento do gnomebaker em versões anteriores, que aparentemente não solucionavam minhas necessidades, mas comecei a utilizá-lo e estou bastante satisfeito com o resultado. As funcionalidades sãobastante extensas incluindo:

  • Formatar CD-RW & DVD-RW
  • Copiar CD & DVD
  • Criar CD/DVD Dados & CD AUDIO
  • Gravar IMAGEM CD/DVD
eXperimente!

terça-feira, 19 de junho de 2007

Configuração de Som

Após uma rápida solicitação junto à comunidade, obtive resposta para uma questão que estava pendente há muito tempo.












Se você usa ALSA e perde as configurações de volume dos dipositivos toda vez que reinicia o computador, use o comando:

# alsactl store

mas, para tanto, precisa baixar o alsa-utils:

$ apt-get install alsa-utils

That's all!

sexta-feira, 15 de junho de 2007

lirc






O lirc é Linux Infrared Remot Control,
um aplicativo que permite usar o controle remoto para interagir como computador. Para isto você pode, ou construir um receptor de infravermelho e adaptá-lo no seu computador, ou usar o receptor de uma placa de captura de vídeo.











No meu caso ( 2o ) estou usando o receptor da Prolink PixelView que possuo.
A instalação do lirc foi automática via apt com os repositórios padrão do Etch:

$ apt-get install lirc

só precisei alterar o arquivo de configuração do controle, e como eu já tinha tido trabalho com isto uma vez no passado, e tinha feito um backup na internet do arquivo de configuração, quem tiver uma " Prolink Pixelview PV-BT878P+" pode copiar o arquivo lircd.conf abaixo para o diretório /etc/lirc

#
# /etc/lirc/lircd.conf
# brand: PixelView
# model: PlayTV Pro remote control
#
# supported devices:
# works both with home-brew and TV card receiver (use lirc-0.6.6 or better)
#


begin remote

name pixelviewp
bits 16
flags SPACE_ENC|CONST_LENGTH
eps 20
aeps 200

pre_data_bits 16
pre_data 0x61d6

header 9000 4500
one 563 1687
zero 563 562
ptrail 563
repeat 9000 2250
gap 108000
toggle_bit 0

frequency 38000
duty_cycle 33

begin codes

timeshift 0x000000000000c03f #TIMESHIFT
power 0x0000000000007887 #POWER
1 0x000000000000807f #1
2 0x000000000000d02f #2
3 0x000000000000d827 #3
4 0x000000000000a05f #4
5 0x000000000000906f #5
6 0x000000000000a857 #6
7 0x000000000000609f #7
8 0x00000000000050af #8
9 0x00000000000048b7 #9
loop 0x000000000000c837 #LOOP
0 0x00000000000040bf #0
+100 0x00000000000008f7 #+100
source 0x00000000000000ff #SOURCE
mute 0x00000000000018e7 #MUTE
ch+ 0x0000000000006897 #CH+
vol- 0x000000000000e817 #VOL-
zoom 0x00000000000038c7 #ZOOM
vol+ 0x000000000000f807 #VOL+
ch- 0x00000000000028d7 #CH-
snapshot 0x0000000000009867 #SNAPSHOT
scan 0x00000000000058a7 #SCAN
backward 0x00000000000020df #<<>>
stop 0x000000000000b847 #STOP
play 0x00000000000010ef #PLAY
pause 0x000000000000f00f #PAUSE
tv 0x000000000000b04f #TV
fm 0x000000000000e01f #FM

# power 0x0000000000007887
# zoom 0x00000000000038C7
# scan 0x000000000000E01F
# tv/fm 0x000000000000C03F
# vol+ 0x000000000000F807
# vol- 0x000000000000E817
# chan+ 0x0000000000006897
# chan- 0x00000000000028D7
# mute 0x00000000000018E7
# source 0x00000000000000FF
# loop 0x000000000000C837
# +100 0x00000000000008F7
# fn- 0x00000000000020DF
# fn+ 0x00000000000030CF
# reset 0x000000000000B04F
# freeze 0x000000000000F00F
# function 0x000000000000708F
# 0 0x00000000000040BF
# 1 0x000000000000807F
# 2 0x000000000000D02F
# 3 0x000000000000D827
# 4 0x000000000000A05F
# 5 0x000000000000906F
# 6 0x000000000000A857
# 7 0x000000000000609F
# 8 0x00000000000050AF
# 9 0x00000000000048B7

end codes

end remote

As entradas de frequência cque estão comentadas são as originais de um modelo que u baixei na internet, eu apenas substituí pelas adequadas para o meu controle.

quinta-feira, 14 de junho de 2007

Game: Eternal-Lands

Este jogo é um MMORPG ( Massive Multiplayer Online RPG ) medieval, com boa jogabilidade e um mundo razoavelmente extenso.
















Pode ser baixado para linux ou Rwindow$ ( arg! ) em http://www.eternal-lands.com/page/download.php
está atualmente na versão 1.4.0.
Com um gráfico bastante agradável, e enorme interação com os outros usuários do jogo, e não são poucos. Isso inclui, venda, troca de produtos, lutas com outros usuários, etc. Vale a pena para várias horas de divertimento.

O jovo vem em arquivo .zip e não precisa ser compilado, nem nada do tipo. É só descompactar e jogar. Claro, vai ser necesário ter uma placa de vídeo 3d decente, com drivers instalados, e a melhor marca no momento, com excelente suporte para linux continua sendo a NVidia ( e eu nem recebo pra fazer propaganda )

Vale a pena não esquecer de alterar o arquivo el.ini dentro da pasta da instalação de forma que o parâmetro #datadir aponte para a pasta de instalação. ( O # no início ao contrário do que se pode pensar não indica um comentário, pelo contrário, sem ele, não dá certo )

Bons jogos!

terça-feira, 12 de junho de 2007

fvwm-crystal calendar files

Dois arquivos de um script para adicionar um calendário translúcido no fvwm-crystal.

Screenshot com o calendário:















Calendar:
#
# This file have some lines that must be included on your recipes-script ( that you use - TopDown for me )
# located on /usr/share/fvwm-crystal/fvwm/recipes/ so that it can load the adaptation of the Calendar-Script
# that you can download from the same place where you get this one.
# Or send a message to jarbasaraujojr at yahoo dot com dot br
#

# Calendar {{{1
All (FvwmButtons-Calendar) Close
DestroyModuleConfig FvwmButtons-Calendar: *
*FvwmButtons-Calendar: Geometry -1+1
*FvwmButtons-Calendar: BoxSize smart
*FvwmButtons-Calendar: ActiveColorset $[cs-panel-active]
*FvwmButtons-Calendar: Colorset $[cs-panel-inactive]
*FvwmButtons-Calendar: Columns 2
*FvwmButtons-Calendar: Padding 2 2
*FvwmButtons-Calendar: Frame 0

*FvwmButtons-Calendar: (2x1, Size 150 200, Swallow (Close, Respawn, FvwmModule) "Calendar-Script")

Module FvwmButtons FvwmButtons-Calendar
Script components/scripts/Calendar-Script

Calendar-Script:

#
# This file was adapted by Jarbas Araujo ( jarbasaraujojr at yahoo dot com dot br )
# to act like a nice translucent calendar to fvwm-crystal
# It was made to be ok on a 1280 x 1024 desktop. May need some adjusts on other resolutions
#

WindowTitle {Calendar}
WindowSize 150 200
Colorset 1
Font "shadow=0 se:xft:Courier:Bold:size=12"


Init
Begin
Set $PROG = "/usr/bin/cal"

Set $text1 = (GetOutput $PROG 1 -1)
ChangeTitle 1 $text1

Set $text2 = (GetOutput $PROG 2 -1)
ChangeTitle 2 $text2

Set $text3 = (GetOutput $PROG 3 -1)
ChangeTitle 3 $text3

Set $text4 = (GetOutput $PROG 4 -1)
ChangeTitle 4 $text4

Set $text5 = (GetOutput $PROG 5 -1)
ChangeTitle 5 $text5

Set $text6 = (GetOutput $PROG 6 -1)
ChangeTitle 6 $text6

Set $text7 = (GetOutput $PROG 7 -1)
ChangeTitle 7 $text7

Set $text8 = (GetOutput $PROG 8 -1)
ChangeTitle 8 $text8

End

PeriodicTasks
Begin
If (RemainderOfDiv (GetTime) 60)==0 Then
Begin
End
End

Widget 1
Property
Type ItemDraw
Size 150 35
Position 0 0
Font "shadow=0 se:xft:Sans serif:Bold:size=14:color=d5dee7"
Flags NoFocus NoReliefString Center
ForeColor {white}
Colorset 1

Main
Case message of
SingleClic:
Begin
End
End

Widget 2
Property
Type ItemDraw
Size 150 35
Position 0 25
Flags NoFocus NoReliefString Center
ForeColor {white}
Colorset 1

Main
Case message of
SingleClic:
Begin
End
End

Widget 3
Property
Type ItemDraw
Size 150 35
Position 0 50
Flags NoFocus NoReliefString Center
ForeColor {white}
Colorset 1

Main
Case message of
SingleClic:
Begin
End
End

Widget 4
Property
Type ItemDraw
Size 150 35
Position 0 75
Flags NoFocus NoReliefString Center
ForeColor {white}
Colorset 1

Main
Case message of
SingleClic:
Begin
End
End

Widget 5
Property
Type ItemDraw
Size 150 35
Position 0 100
Flags NoFocus NoReliefString Center
BackColor {#C2D2EB}
ForeColor {white}
Colorset 1
Main
Case message of
SingleClic:
Begin
End
End

Widget 6
Property
Type ItemDraw
Size 150 35
Position 0 125
Flags NoFocus NoReliefString Center
BackColor {#C2D2EB}
ForeColor {white}
Colorset 1
Main
Case message of
SingleClic:
Begin
End
End

Widget 7
Property
Type ItemDraw
Size 150 35
Position 0 150
Flags NoFocus NoReliefString Center
BackColor {#C2D2EB}
ForeColor {white}
Colorset 1
Main
Case message of
SingleClic:
Begin
End
End

Widget 8
Property
Type ItemDraw
Size 150 35
Position 4 175
Flags NoFocus NoReliefString Left
BackColor {#C2D2EB}
ForeColor {white}
Colorset 1

Desktop + Enlightenment 0.17

Atualmente estou usando como WM o Enlightenment 0.17
Extremamente agradável embora, e compreensivelmente, com alguns problemas já que ainda não é uma versão estável.
















Neste screenshot estão rodando celestia e iceweasel, tema simple-white com 4 shelves (3 delas em transparência)

As falhas que pude identificar até agora são:
  1. Ao travar a tela vez por outra ele não reconhece a senha do usuário e o X tem que ser restartado
  2. Adicionei um keybinding usando "WIN + x" onde 'x' é qualquer tecla alfa, e ocorre que usar o atalho, a letra 'x' aparece no centro do fundo de tela, e não some até reiniciar o e17. Reportei esse bug (http://bugs.enlightenment.org/view_bug.php?bug_id=18) mas não foi obtido sucesso na simulação, e o mesmo foi fechado
  3. Mesmo indicando na shelf de topo que as janelas não podem intercalar a área utilizada por ela, elas acabam se escondendo atrás da mesma, e eu tenho que arrastá-las para ter acesso aos menus, etc.
  4. Alguns crash's vez por outra

Repositórios:

deb http://edevelop.org/pkg-e/ubuntu/ dapper e17
deb http://edevelop.org/debian/ etch main contrib

Recomendo, inclusive com a utilização do entrance que faz o papel de gerenciador de logon visual, o mesmo que o gdm, e é bastante agradável aos olhos, ou como no e17: eye-candy.

txt2srt: Texto -> Legenda

Este script PHP converte arquivos txt para o formato de legenda srt.
Cada linha no arquivo txt será uma nova legenda.
É possível selecionar o tempo da 1a legenda, a duração de cada uma, e o intervalo entre elas.

Script:


/*
**
** txt2srt.php
**
*/

if ($argc < 2)
{
$erro = "
+-----------------------------------------------------------------------------+
| txt2srt.php |
| # php txt2srt.php [inicio] [duracao] [espacamento] |
| |
| arquivo a ser formatado para legenda |
| [inicio] legenda inicia em (minutos) (auto=0) |
| [duracao] duracao de cada legenda (segundos) (auto=5) |
| [espacamento] distancia entre as legendas (segundos) (auto=5) |
+-----------------------------------------------------------------------------+
\n";
}

$origem = $argv[1];
$destino = $origem.".srt";

$inicio = $argv[2]; //
$duracao = $argv[3]; //
$espaco = $argv[4]; //

// ajusta início
if (!$inicio) { $inicio = 0; }
if (!is_numeric($inicio)) {
$erro = " deve ser um numero em (minutos)\n";
} else {
$s0 = $inicio*60;
}

if (!$duracao) { $duracao = 5; } else { $duracao = round($duracao); }

if (!$espaco) { $espaco = 5; } else { $espaco = round($espaco); }

// inicia os arquivos
if (!file_exists($origem))
{
echo "Arquivo $origem nao existe\n";
exit;
} else {
$conteudo = file($origem);
}

if (is_writable($destino))
{
// echo "arquivo $destino existe\n";
if (!$arquivo = fopen($destino,'w')) {
echo "Erro abrindo o arquivo $destino\n";
exit;
}
} else {
echo "Criando o arquivo '$destino'... ";
if (!$arquivo = fopen($destino,'w')) {
echo "(falhou)\n";
exit;
} else {
echo "(ok)\n";
}
}

if ($erro) {
echo $erro;
} else {
echo "Formatando as legendas:";
foreach ($conteudo as $numero => $linha)
{
echo ".";
// echo "so= $s0\n";
$tempo0 = date("H:i:s", mktime(0,0,$s0)); /*echo "tempo0 = $tempo0\n";*/
$s0 += $duracao; // atualiza s0

$tempo1 = date("H:i:s", mktime(0,0,$s0)); /*echo "tempo1 = $tempo1\n";*/
$s0 += $espaco; // atualiza s0

$novalinha =
"$numero\n".
"$tempo0,000 --> $tempo1,999\n".
"$linha\n";

// echo $novalinha;
fwrite($arquivo, $novalinha);
}
echo "\n";
echo "$numero legendas foram adicionadas ao arquivo '$destino' com sucesso.\n";
echo "Obrigado por Utilizar o script 'txt2srt'\n";
echo "Desenvolvido por Jarbas Araujo \n";
}
fclose($arquivo);

?>


Como usá-lo ?
você precisa do php instalado.
Digite o comando:

#php txt2str arquivotxt

Instalando Prolink Pixelview PV-BT878P+














Minha intenção nesta mensagem é repassar alguns dias de pesquisa e suor para fazer minha placa de captura de vídeo funcionar, e acreditem, ela funciona, incluindo o controle remoto.

Preparando o Ambiente

Minha placa é uma Prolink Pixelview PV-BT (este é o nome fantasia dela), que foi corretamente identificada pelo sistema através do comando:

# lspci
Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)

Brooktree é uma marca que foi adquirida pela Conexant e Bt878 é o CHIPSET.

No Linux existe um driver construído para gerenciar placas de vídeo que utilizem chipsets deste modelo (Bt8xx), o driver é o bttv.

O driver bttv pode ser encontrado em:
Este driver é compatível com a API de vídeo v4l2 (video for linux 2), que gerenciará o dispositivo de vídeo.

A instalação não será problemática se você tiver compiladores instalados e existe documentação junto com o pacote (em inglês é claro). Tente apenas:

Desempacote o arquivo, entre na pasta e compile o driver:

# tar -zxvf bttv-0.9.15.tar.gz
# cd bttv-0.9.15
# make
# make install


Após isto, caso seus compiladores estejam instalados, terá sido gerado o módulo do driver (os arquivos abaixo, mas não necessariamente com o mesmo caminho, já que aqui, 2.6.8-2-k7 é a versão do kernel que - eu - utilizo, e não a sua. para saber qual é sua versão de kernel digite o comando 'uname -r' no prompt):

/lib/modules/2.6.8-2-k7/kernel/drivers/media/video/bttv.ko
/lib/modules/2.6.8-2-k7/v4l2/bttv.ko

Uma vez que o driver está instalado, reinicie eu computador (isto não é realmente necessário, mas acho que é interessante).

Configurando a Placa

Após a inicialização, digite o execute:

# dmesg | grep bttv

bttv0: detected: Prolink Pixelview PV-BT [card=72], PCI subsystem ID is 1554:4011
bttv0: using: Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM) [card=72,autodetected]
bttv0: using tuner=5

Este é um resultado aproximado ao que você deve ter depois de ter instalado o driver bttv. Ele automaticamente configura a inicialização do módulo responsável pelo gerenciamento da placa de vídeo.

No entanto, pelo menos para o meu modelo de placa, a detecção automática da placa pelo driver não é correta (e na pesquisa que fiz, parece que nenhuma pixelview é muito corretamente detectada). Tive então de alterar os parâmetros da inicialização do módulo. Isto é feito alterando o arquivo:

/etc/modutils/bttv

Verificando como o módulo está sendo chamado na inicialização:

# cat /etc/modules.conf |grep bttv
post-install bttv insmod tuner
post-remove bttv rmmod tuner
alias char-major-81 bttv

Bom, se apareceu algo parecido, estamos no caminho, com alguma batalha pela frente..

Agora no meu caso eu tenho que fazer com que o módulo carregue a placa correta (card=70) e com o modelo de sintonizador adequado (tuner=43).

*** vejam que ambos são completamente diferentes daqueles que foram detectados corretamente (card=72 & tuner=5) ***

Para isto basta editar o arquivo /etc/modutils/bttv: (use o editor que preferir) ==> veja o arquivo depois da edição:

# cat /etc/modutils/bttv

alias char-major-81 videodev
alias char-major-81-0 bttv
options bttv card=70 radio=1 tuner=43
options snd-card-ens snd_index=0
options msp3400 mixer=1

Bom, eu descobri que a minha placa é o modelo 70 e o meu tuner é o modelo 43 fazendo testes.

Para fazer estes testes eu tive de instalar um visualizador de vídeo. Eu instalei alguns, mas o que eu achei realmente BOM foi o tvtime.
Depois de instalá-lo eu fazia o seguinte, carregava o módulo manualmente com os valores de placa e tuner possíveis.

Lista com possíveis placas:
Lista de tuners:
Testando a Placa

Para testar a placa XX com o tuner YY faça o seguinte:

1. descarregue o módulo atual:

# modprobe -r bttv

Se houver mensagem de erro falando que outro módulo ( o bt878 por exemplo ) está usando o bttv remova antes este que o está utilizando 'modprobe -r bt878', depois remova o bttv 'modprobe -r bttv'.

2. carregue o módulo com os novos parâmetros:

# modprobe bttv card=XX tuner=YY

e aí, faça o teste.. como? --> execute o tvtime

# tvtime

O tvtime tem várias ferramentas de configuração, você deve selecionar a entrada (tv, composite, etc) o sistema de tv (PAL-M se for Brasil) e mandar ele buscar os canais ( isto tudo é feito via menu do tvtime.

Bom, faça testes até achar um par de placa e tuner que servem para você (isto pode ser demorado mas se a sua placa for exatamente igual a minha, já sabe quais usar).

Após editar o arquivo, ainda temos de instruir o sistema a atualizar o verdadeiro arquivo de inicialização dos módulos do sistema /etc/modules.conf. Fazemos isto com:

# update-modules

Depois que achou os que te servem, edite o arquivo /etc/modutils/bttv e deixe-o como o que eu indiquei logo acima (só que com seus valores).

Mesmo após isto, eu vi que os módulos não carregavam diferente do automático (não sei explicar porque), mas achei uma dica de como burlar isto, é só colocar um bash na inicialização, da seguinte forma:

1. Crie o arquivo /etc/rcS.d/S90placatv com o conteúdo seguinte: (claro, troque os valores pelos adequados - seus -)

modprobe -r bt878
modprobe -r bttv
modprobe -r tuner
modprobe bttv card=70 tuner=43
sleep 3
chmod ugo+rwx /dev/video0

Dê permissão de execução para este arquivo:

# chmod +x /etc/rcS.d/S90placatv

Reinicie o sistema e tudo vai funcionar (assim seja!).

Espero que sirva. Depois vou colocar mais ou menos o processo de instalação do Controle Remoto. Agora já está meio tarde.