Mostrando postagens com marcador tutoriais. Mostrar todas as postagens
Mostrando postagens com marcador tutoriais. Mostrar todas as postagens

quinta-feira, 13 de janeiro de 2011

How-to: Proteja sua CPU com Python e festival

Você sabe quando o cooler de sua CPU vai falhar?
Nem eu.

Usando um modelo probabilístico adequado, como o Exponencial, podemos ter uma boa noção de quando esse evento ocorrerá,mas que não é nada prático, já que provavelmente você vai trocar o cooler antes do tempo, ou depois que ele queimar. O que quase aconteceu comigo semana passada. A base que prende o cooler quebrou, o dissipador se afastou da CPU, o suficiente para ela chegar à 87°C, quase queimando-a. Soou o alarme e eu desliguei o micro à tempo, evitando maiores danos.

Minha sorte foi ter escrito um script na semana anterior que aproveita as funcionalidades do lm-sensors para avisar verbalmente que algo não está bem. É bem simples e tem espaço para muitas melhorias que irei acrescentando aos poucos. Funciona e tem me atendido bem todo esse tempo.

Tem dois pré-requisitos:
lm-sensors: tutorial de uso e configuração por Carlos Morimoto.
festival: meu tutorial.

Daí, é só baixar esse arquivo, salvá-lo em uma pasta de sua preferência, dar permissão de execução com:

$chmod +x sentinel.py

E depois adicioná-lo ao crontab, com o seguinte comando:

crontab -e

0-59/10 * * * * /home/gama/scripts/sentinel.py 



O que fará o cron rodar o comando a cada 10 minutos.
E pronto, se o cooler falhar ou a CPU sobreaquecer, o sistema vai reclamar.

See ya!

domingo, 12 de dezembro de 2010

How to: Torrentflux Diet com lighttpd e sqlite

Você, que tem aquele pau velho esquecido num canto, um K6-II ou um Pentium III 866, pode com certeza colocá-lo em combate novamente como um cliente torrent dedicado, ou compartilhado com outras funções como servidor de arquivos ou impressão.

Para isso, temos o TorrentFlux, um gerenciador de torrents escrito em PHP, cuja configuração original usa uma box LAMP como base. Mas se temos apenas uma máquina low-end, não fica bem sobrecarregá-la com um Apache e um servidor MySQL, não é mesmo? 

Então vamos aos ingredientes:



Para fazer nossa mágica, vamos utilizar o Lighttpd, ou lighty para os íntimos, um servidor Web poderoso, seguro e leve, motor de diversos sites, como o YouTube, SourceForge, KingHost e OpenSubtitles. Suporta PHP e tem diversos outros atrativos (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting), além de ser liberado sob a licença BSD revisada.

Consome muito menos memória que o Apache, então, já sabe.

Já que o negócio é economizar, nesse quesito o SQLite dá um banho na concorrência. Seu pacote compilado tem apenas 236KB, uma ninharia comparado ao MySQL. Vejam bem, não estou falando que o SQLite é melhor em todos os casos, e sim, neste caso específico.

Feitas as devidas apresentações, vamos ao que interessa.

Instale e configure as dependências com:
#apt-get install sqlite lighttpd
#apt-get install php5-cgi php5-sqlite
#cat >> /etc/php5/cgi/php.ini
cgi.fix_pathinfo = 1


Adicione o módulo fastcgi com:

#nano /etc/lighttpd/lighttpd.conf

[...]
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_fastcgi",
# "mod_rewrite",
# "mod_redirect",
# "mod_status",
# "mod_evhost",
# "mod_compress",
# "mod_usertrack",
# "mod_rrdtool",
# "mod_webdav",
# "mod_expire",
# "mod_flv_streaming",
# "mod_evasive"
)
[...]

Edite o final do mesmo arquivo para que fique desta forma:

fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php5-cgi",
"socket" => "/tmp/php.socket",
"max-procs" => 2,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"
),
"broken-scriptfilename" => "enable"
)))


Faça o download do tarball aqui e do script de configuração do SQLite neste link.
Crie os diretórios de trabalho e o banco de dados:

#mkdir /var/www/tf
#mkdir /var/db/

#cd /var/db/
#sqlite tf.db < "caminhodoarquivo sqlite_torrentflux.sql"


Extraia os arquivos do pacote e cole a pasta html em /var/www/tf/

Na pasta /var/www/tf/ altere o arquivo config.php que está dessa forma:

$cfg["db_type"] = "mysql"; // mysql, postgres7 view adodb/drivers/
$cfg["db_host"] = "localhost"; // DB host computer name or IP
$cfg["db_name"] = "torrentflux"; // Name of the Database
$cfg["db_user"] = "root"; // username for your MySQL database
$cfg["db_pass"] = ""; // password for database


Para essa forma:

$cfg["db_type"] = "sqlite"; // mysql, postgres7 view adodb/drivers/
$cfg["db_host"] = "/var/db/tf.db"; // DB host computer name or IP
$cfg["db_name"] = "main"; // Name of the Database
$cfg["db_user"] = "seuusuario"; // username for your SQLite database
$cfg["db_pass"] = "suasenha"; // password for database


Reinicie o lighty:

#/etc/init.d/lighttpd restart


Um screenshot da belezinha rodando.


E pronto, rapaz! Agora basta acessar seu TorrentFlux à partir de http://localhost/tf ou se você criar um nome fixo para sua máquina, poderá controlar seus downloads de qualquer lugar da Terra.

quinta-feira, 9 de dezembro de 2010

Como remover entradas inúteis de mime-type no Debian

De algum tempo para cá, vinha notando que a saída do apt-get estava muito grande. Olhando com mais calma, notei que todas as atualizações vinham com essas mensagens no final, embora meu sistema estivesse funcionando corretamente.

Unknown media type in type 'all/all'

Unknown media type in type 'all/allfiles'

Unknown media type in type 'uri/mms'

Unknown media type in type 'uri/mmst'

Unknown media type in type 'uri/mmsu'

Unknown media type in type 'uri/pnm'

Unknown media type in type 'uri/rtspt'

Unknown media type in type 'uri/rtspu'

Unknown media type in type 'fonts/package'

Unknown media type in type 'interface/x-winamp-skin'


Chato que sou fui ver que merda era essa. Descobri que um arquivo .xml de mime-types do KDE estava cagando tudo. Para encurtar a história, abra como root o arquivo /usr/share/mime/packages/kde.xml e procure pelas entradas dos mime-types desconhecidos e delete-as.

Um exemplo:

lt;mime-type type="interface/x-winamp-skin">
<sub-class-of type="application/zip"/>
<comment>compressed Winamp skin</comment>
<glob pattern="*.wsz"/>
</mime-type>


Apague cada uma delas, e se você tiver dúvida se apagou tudo, rode o comando:

#update-mime-database /usr/share/mime


Não tenho certeza, mas esse método também deve funcionar nos inúmeros derivados do Debian.
Após apagar todas as entradas, você não terá mais a chatice dessas mensagens.
As férias estão boas, então tenho de ir. Até a próxima.

domingo, 21 de novembro de 2010

Serviço: MPlayer no Debian Squeeze com NVidia

Quem usa placas low-end da NVidia no Linux, já deve ter visto essa frase:

mplayer: error while loading shared libraries: libvdpau.so.1: cannot open shared object file: No such file or directory

O MPlayer do debian-multimedia tem o libvdpau como dependência, que não é provida pelo driver NVidia proprietário, já que o VDPAU é uma alternativa livre para as placas GeForce, junto com o nouveau e o nv.

Aí você conclui: Vou remover o debian-multimedia e reinstalar o MPlayer. Certo? Talvez. Mas você pode receber essa notícia no seu terminal:

mplayer: relocation error: mplayer: symbol codec_wav_tags, version LIBAVFORMAT_52 not defined in file libavformat.so.52 with link time reference

E agora? O que fazer?
Simples. Remova tudo. Eu disse TUDO relacionado a libs, players e codecs que você tenha instalado do debian-multimedia. Na dúvida, eu passei o rodo, por pouco não sobrava nem o mpg123.
Normalmente vai ffmpeg, sox, GStreamer e cia, tudo por água abaixo.

Reinstale tudo. E depois adicione o repo multimedia e instale o MEncoder, w32codecs e qualquer outra coisa que você queira de lá. Tudo ok, o MPlayer já deve estar funcionando. Desabilite o debian-multimedia and be happy.

Eu deixava o multimedia habilitado direto. Só que de acordo que iam saindo os updates, ia se formando uma salada de libs e dependências desencontradas que chegava uma hora que a vaca ia para /dev/null. Aí, passei a usar o procedimento descrito acima e tudo mudou.

Posts relacionados:
Blacklisting de módulos
Placa FX5500 no Squeeze

domingo, 24 de outubro de 2010

Blacklist: Como desabilitar módulos

Após uma atualização do kernel, minha placa NVidia parou. Nada de novo aí, exceto que mesmo após a reinstalação do driver o X não subiu.
Mas como? Achei que era alguma orelhada de minha parte, mas não. Depois da segunda tentativa nem reinstalar conseguia. Parti então para a ignorância, puxei um dmesg e estava escrito:

nvidia: module license 'NVIDIA' taints kernel.
Disabling lock debugging due to kernel taint
NVRM: The NVIDIA probe routine was not called for 1 device(s).
NVRM: This can occur when a driver such as nouveau, rivafb,
NVRM: nvidiafb, or rivatv was loaded and obtained ownership of
NVRM: the NVIDIA device(s).
NVRM: Try unloading the conflicting kernel module (and/or
NVRM: reconfigure your kernel without the conflicting
NVRM: driver(s)), then try loading the NVIDIA kernel module
NVRM: again.
NVRM: No NVIDIA graphics adapter probed!



Mandei um lsmod | grep nouveau e bingo! Estava lá o famigerado nouveau estragando minha tarde.
Tiro na cabeça e sete palmos de terra por cima dele.

#rmmod -f nouveau
#rm /etc/modprobe.conf
#cat > /etc/modprobe.d/nouveau.conf
blacklist nouveau

#depmod -ae
#update-initramfs -u


Pronto. Isso serve com as devidas alterações para qualquer módulo que você queira impedir a carga.
Esse bloqueio pode ser devido aos módulos rivafb, nvidiafb, vga16fb e rivatv também. Aqui não bloqueei porque só o nouveau estava presente.

Após executar esses passos, basta reinstalar o driver usando esse procedimento.

See ya later.

sexta-feira, 28 de maio de 2010

Configurando a NVidia FX5500 no Squeeze[UPDATE]

Sim, é uma placa velha, mas o procedimento abaixo deve servir, com algumas alterações para vários modelos da NVidia.

Sem maiores delongas, vamos ao que interessa, caro leitor.

Atualize o sistema e instale as dependências:

#apt-get update && apt-get upgrade
#apt-get install linux-headers-`uname -r` gcc-4.3 build-essential xserver-xorg-dev xserver-xorg-core


Baixe a última versão do driver em http://www.nvidia.com

Faça backup do /etc/X11/xorg.conf
Saia para um terminal com Ctrl + Alt + F1.

Mate o GNOME (eu preferia Gnome) com o comando abaixo e logo após ajuste a variável de ambiente CC

#/etc/init.d/gdm stop
#export CC='gcc-4.3'


Vá até a pasta onde você salvou o pacote instalador do driver e digite:

#sh NVIDIA-Linux-x86-xxx.run

Onde xxx é a versão do driver usado.

Siga as instruções da tela e tudo deve dar certo.

Surprise!

Como você vai ver, se seu monitor for widescreen, a resolução ficará uma porcaria, tipo 1280x1024, resultando quase sempre em fontes borradas e cansativas. Se isso te incomoda tanto quanto a mim, abaixo segue a solução.

Aí que vem the cat jump (ou não, se você já souber disso, mas eu nem sabia desse recurso, desde o bom e velho Ubuntu 6.10).

Usando a ferramenta gtf do pacote xserver-xorg-core, geramos uma modeline que será usada no xorg.conf posteriormente. Por exemplo, para gerar uma configuração para o modo 1280x80@60Hz, é só digitar:

#gtf 1280 800 60

A saída será algo como isso:

# 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
Modeline "1280x800_60.00" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync


Então é só adicionar essas linhas no xorg.conf na seção "Monitor"

Section "Monitor"
Identifier "Configured Monitor"

# 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
Modeline "1280x800_60.00" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync
Option "PreferredMode" "1280x800_60.00"
EndSection


E adicionar o modo na seção "Screen", dessa forma:

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1200x800_60.00"
EndSubSection
EndSection


Esse procedimento serve para configurar qualquer resolução suportada pelo seu monitor, que não seja configurável diretamente pelo xrandr ou nvidia-settings.

See ya later.

Update:
Se o processo acima não funcionar tente executar esse procedimento e depois repita a instalação.

quinta-feira, 20 de maio de 2010

Serviço: workaround para pendrive no Squeeze

Os meus pendrives estavam desmontando repentinamente no Squeeze, não permitindo a cópia ou mesmo a leitura de arquivos dos mesmos.

Considerando que os dois funcionam perfeitamente em máquinas Windows, e falham da mesma forma no Debian, descartei a possibilidade de um problema de hardware.

Pesquisando bastante, a maioria dos posts em fóruns mandavam jogar fora o pendrive, mas eu, como bom pão-duro que sou, me recusei. Boa idéia, já que com um pouco mais de Google, achei a resposta.

Aparentemente é um bug do módulo ehci_hcd, que ocorre há bastante tempo, já que há relatos dele em 2007, com a mesma solução.

Como resolver? Simples e rápido.

#rmmod ehci_hcd
#modprobe ehci_hcd


Coloquei estes dois comandos no final do /etc/rc.local
Agora o pendrive está decente, vamos ver até quando...

Porque isso está acontecendo, eu realmente ignoro, e porque só recarregar o módulo resolve o problema, idem. Enfim...

UPDATE: Os dois comandos só funcionam após o perfil de usuário ser carregado. Reze para ser o root e poder rodar os comandos após logar. A luta continua!

domingo, 9 de maio de 2010

Bug do ipv6 no Debian Squeeze afeta Java

Para os mais animados, que já estão usando o Squeeze (e sofrendo também), vai uma dica valiosa. A notícia é meio velha, mas como tive de procurar muito para conseguir, deverá servir para mais alguém.

O ipv6 está matando afetando negativamente o Java, versões OpenJDK6 e proprietária (Sun), impedindo que as aplicações dessa plataforma acessem a rede.

O caso mais flagrante foi o do JDownloader, que não atualizava pelo script, e quando consegui baixar o pacote completo, além da reconexão não funcionar, marcava todos os links como offline. Uma verdadeira catástrofe.

Não sei se o procedimento abaixo resolve esse problema também, mas não custa tentar.

Ah, é, basta rodar esse comando como root e pronto! Java ok, JDownloader up and running.

#sed -i 's/net.ipv6.bindv6only\ =\ /net.ipv6.bindv6only\ =\ 0/' \ /etc/sysctl.d/bindv6only.conf && invoke-rc.d procps restart

Fonte: Debian Bug Report Logs

quinta-feira, 6 de maio de 2010

Serviço: Módulo BB no Debian Squeeze

:Após um breve ataque de pânico, entre a queima do HD e a feliz descoberta de que, sim, as minhas chaves GPG estavam salvas no backup no DVD1, começou a luta.

Resolvi instalar o Squeeze.(Pausa dramática)

A instalação foi o whatever de sempre, a real aventura foi conseguir colocar o meu monitor em 1280x800, mas essa eu conto depois.

A outra surpresa foi saber que não, meu Iceweasel não estava acessando devidamente o site do BB. Mas isso foi mais fácil.

Instale os pacotes sun-java6-bin, sun-java6-jre, sun-java6-plugin e sun-java6-fonts. Eu removi as versões do OpenJDK, por via das dúvidas.

O problema do acesso ao BB, deve-se ao ipv6, que vem habilitado por padrão no Debian. A solução? Desabilitá-lo no Java. Como? Fácil.

Edite o arquivo ~/.java/deployment/deployment.properties edite a linha

deployment.javaws.jre.0.args=

Para que ela fique desta forma:

deployment.javaws.jre.0.args=-Djava.net.preferIPv4Stack\=true

Após, faça backup dos seus favoritos e addons, apague a pasta ~/.mozilla e reinicie o Iceweasel. Ao acessar o site, permita a aplicação do site e pronto. Módulo BB instalado!

Dou aqui os créditos ao Nelson Campos da lista linux.debian.user.portuguese, que postou a solução. Um salve, Nelson!!!

domingo, 18 de abril de 2010

Tranque seus dados, AGORA!

Já que agora você já sabe como compilar o TrueCrypt, vamos usá-lo. Eu, particularmente, acho no mínimo uma maluquice alguém andar com seu notebook com os dados desprotegidos. Quase tudo que há nele, pode ser usado contra você. Fotos, documentos, emails comerciais e pessoais, senhas de sites gravadas no browser, etc.

No pendrive também, embora o risco de roubo seja mínimo, o de perda é muito grande. Então, porque não protegê-lo também? Você pode argumentar que não faz nada ilegal e por isso não tem nada a esconder. Te pergunto: Você tem CERTEZA de que tudo que há em seu notebook pode ser lido e utilizado por qualquer pessoa sem nenhum prejuízo? Se esse é o seu caso, parabéns, leia outra coisa, então.

Para quem ainda estiver lendo, vamos ao trabalho.

A primeira coisa é criarmos um arquivo container cifrado, o que é simples, bastando escolher um nome para o arquivo, seu algoritmo de criptografia e o algoritmo de hash.
Após, escolha o tamanho do arquivo, uma senha e/ou um keyfile, e o formato (FAT, ext2, ext3, etc).
Gere bastante entropia para as chaves criptográficas, movendo aleatoriamente o mouse e formate o arquivo.

Tudo pronto! Agora, basta montá-lo como uma unidade de disco e usá-la normalmente. A criptografia é on-the-fly, ou seja, se a energia acabar, ou se você esquecer de desmontá-la ao desligar, os dados estarão seguros.

Detalhes importantes:
Você pode escolher um, dois ou até três algoritmos de criptografia para o seu arquivo.
Você pode instalá-lo via Windows no pendrive usando o Traveler Mode Setup.

Mas se você tem o paranoid mode ativado, além dos três algoritmos em cascata, pode também usar keyfiles juntamente com a senha, guardando os dados em containeres ocultos. Os keyfiles ficam na máquina origem e destino dos dados, ou em um servidor de arquivos qualquer.
O importante é que eles nunca estejam sempre juntos, keyfiles e container, para que, em caso de interceptação do notebook, ou pendrive, as informações sensíveis estejam à salvo.

Sem mais, tranque a porta, amarre o camelo, criptografe os dados e boa semana!

Posts relacionados:
Compilando o TrueCrypt no Debian Lenny

quarta-feira, 7 de abril de 2010

Compilando o TrueCrypt no Debian Lenny

Usar o TrueCrypt no Lenny, uma ótima ferramenta open-source de criptografia de dados é fácil. Instale as dependências, com o comando abaixo:

#apt-get install build-essential dmsetup libwxgtk2.8-dev libwxbase2.8-dev libfuse-dev libopencryptoki-dev wx2.8-headers libopencryptoki0 fuse-utils libfuse2 libwxgtk2.8-0



Baixe os fontes nesse link e descompacte em /opt/.
Baixe os headers do PKCS em ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20
e salve em /opt/pkcs/

Vá até a pasta /opt/truecrypt-6.3a-source/ e compile o pacote com:

#make PKCS11_INC="/opt/pkcs/"



Se tudo der certo, o executável ficará em /opt/truecrypt-6.3a-source/Main

Daí, você copia para /usr/bin e usando o visudo, adicione esse linha ao arquivo sudoers e salve.

seuusuario ALL=/usr/bin/truecrypt


Pronto! Agora é só trancar seus arquivos e guardá-los com segurança.
Postarei em breve sobre a utilização desse excelente aplicativo.

sábado, 3 de abril de 2010

Gravação de DVDs via linha de comando

Poderia dar um monte de explicações sobre as vantagens de se saber manipular um CD ou DVD na linha de comando, mas não. Vou só dizer que é muito mais rápido e prático.

Para apagar um disco regravável:

$ wodim -blank=fast -v dev=/dev/<unidade de cd/dvd>

Para gravar uma imagem iso no disco:

$ wodim dev=/dev/<unidade de cd/dvd> fs=14M speed=8 -dao -eject -v imagem.iso

Para gerar uma imagem iso de um diretório

$ genisoimage -o myImage.iso -r -J -l pasta

A flag -J habilita extensões Joliet, para uso em máquinas Windows, e a flag -l habilita nomes com 31 caracteres, bem melhor que o 8.3 do DOS.

Para gravar uma imagem iso no DVD:

$ growisofs -dvd-compat -Z /dev/dvd=image.iso

Para gravar diversos arquivos avulsos no DVD:

$ growisofs -Z /dev/dvd -R -J arquivo1 arquivo2 arquivon

Para adicionar mais arquivos ao DVD:

$ growisofs -M /dev/dvd -R -J arquivo1 arquivo2 arquivon

Para fechar a sessão:

$ growisofs -M /dev/dvd=/dev/zero

E é isso. Para não ter de decorar tudo, basta fazer uns scripts e adicionar ao .bashrc.

terça-feira, 30 de março de 2010

How to: Atalhos para páginas web com OpenDNS

Um recurso muito interessante e pouco utilizado do OpenDNS é o atalho, que permite a resolução de nomes personalizados para páginas da Web. Em vez de ter de digitar http://www.lastfm.com.br/user/gamajr bastaria digitar last, e o OpenDNS resolve o nome para você.

Para usar o OpenDNS, você deve mudar os seus servidores DNS para 208.67.222.222 e 208.67.220.220, e depois criar uma conta gratuita no site. Para aproveitar esse e outros recursos do OpenDNS no Linux, você precisa manter seu IP atualizado, usando o ddclient, que tem um tutorial de uso aqui.


Na aba Settings, preencha o seu IP, clique em "Add this network", defina um nome para a rede e salve-a.


Depois, adicione as seguintes linhas no final do arquivo /etc/ddclient.conf:

server=updates.opendns.com
protocol=dyndns2
login=seuusuario
password=suasenha
Nomedasuarede


Vá agora na aba Shortcuts, digite um nome para o atalho, o seu url de destino, clique em "Create Shortcut". Demora algum tempo para que o nome resolva, pois a informação deve ser replicada aos servidores, mas nada que 5 minutos não resolvam.




E não é só isso, usando o OpenDNS você tem estatísticas de seu uso da internet, filtro de phishing, bloqueio de sites por categorias e black-lists. Mas não deixe de usar seu firewall e/ou proxy preferido.

Posts relacionados:
Instalando e configurando o ddclient no Debian e cia.

terça-feira, 23 de março de 2010

How-to: Gnomenu 2.5 no Debian Lenny

Gnomenu é um menu dinâmico escrito em Python, com suporte a temas e altamente customizável, que funciona em window managers com ou sem compositing (Salve, metacity!) e que é uma ótima opção ao menu padrão do Gnome.

Ele roda incorporado ao Gnome-Panel, Cairo dock ou Avant Window Navigator e é licenciado pela GNU GPL v3

Procurando na web, vi diversas pessoas reclamando que não conseguiam instalá-lo no Lenny, por falta do pacote python-gconf. Mas não se preocupe, as funcionalidades desse pacote são supridas no Debian pelo pacote python-gnome2. Na lista de discussão foi até colocada a possibilidade de instalá-lo usando o equivs, mas aqui não foi necessário.

Algo que ainda não pesquisei como fazer, mas já está na lista, é como instalar os temas na pasta de usuário, já que não acho interessante ter de ser root para instalar temas. Achando a solução, faço um post sobre.

Para instalá-lo, nada mais simples:
Baixe o código-fonte aqui.
Instale as dependências:

#apt-get install python python-xdg python-cairo python-gtk2 python-gnomeapplet python-xml python-gnome2 python-keybinder

Após isso, descompacte o arquivo tar.gz em uma pasta de sua preferência, eu uso a pasta /opt, navegue até ela e digite:

#make install

Clique com o botão direito no gnome-panel e adicione-o ao painel. Daí, é só buscar os temas no Gnome-look e configurá-lo do seu jeito.

quinta-feira, 11 de março de 2010

How-to: Endereço fixo para seu micro

Uma das grandes barreiras ao uso de serviços hospedados em seu próprio micro é o ip dinâmico, que é geralmente  fornecido pelos ISP´s. Para resolver essa situação, podemos usar servidores de dns dinâmicos, entre eles:
Tenho usado o DynDNS por bastante tempo, sem nenhum problema, e gosto dele porque ele possui uma gama de opções de domínio muito grande e fornece até 5 endereços gratuitamente. Além disso ele oferece registros de domínio(porque um domínio .cc é muito mais caro que um .com?), certificados SSL, DNS recursivo e monitoramento de redes, entre outros.

Com um nome de domínio você pode acessar facilmente sua máquina por meio de SSH, NX, JDownloader WebInterface, etc.

Crie uma conta no site e vamos lá.
1. Clique em My Hosts.

2. Clique em Add New Host.

3. Escolha um nome de domínio e adicione-o ao ip corrente.

4.Clique em Next.

5. Clique em Activate Services.

Tudo certo!

Mas para que o nome do seu domínio continue atualizado em relação ao ip, é necessária a instalação do ddclient, que possui um tutorial de instalação e configuração aqui.

E pronto!

Posts relacionados:
Instalando e configurando o ddclient no Debian e cia.

quinta-feira, 4 de março de 2010

How-to: Web Radios via screenlet

Gosto muito de web radios. Elas são grátis, livres de interferências, independentes de localização geográfica e altamente segmentadas, significando nesse caso, que posso deixar uma web radio tocando por dias inteiros ouvindo o meu estilo favorito, o que é impossível em uma rádio comercial.

Fora a vantagem de não tropeçar por acidente em um grupo de pagode, o que seria no mínimo lamentável, posso ouvir músicas de qualquer parte do mundo civilizado em tempo real, sem precisar de nenhuma aparelhagem específica, como um short-wave receiver. O que não quer dizer que eu não queira um.

Uma grande ajuda ao meu passatempo, foi um screenlet, que centraliza todas as minhas rádios favoritas, entre as quais a PolskaStacja e a WWOZ de New Orleans.

Para os adeptos do Debian way of life, basta:

#apt-get install screenlets

Selecione no gerenciador de screenlets o Radio, clique em launch e pronto.

Que pronto, nada! Como você pode ver, várias rádios não funcionam e muitas você não quer ouvir, o que fazer?

Fácil! É só editar o xml de configuração do screenlet, o que vamos ver em seguida. O que não é sempre tão simples, é descobrir qual é a verdadeira url do streaming. Na PolskaStacja é mole, basta copiar o link do botão da página, já na WWOZ a coisa não foi assim tão simples, o link aparente não funcionava, o que solucionei clicando em Listen, e quando o browser perguntava o que fazer com o arquivo m3u, descobri o link correto.

Com o link da rádio em mãos (ou em bytes), faça backup do arquivo /usr/share/screenlets/Radio/menu.xml e o edite-o como segue abaixo:

O arquivo possui diversas tags 'item label' aninhadas, com um pouco de atenção você manja onde deve adicionar as tags para as novas rádios.

A tag tem essa forma geral:

<item label="nomedaradio" id="urldoarquivodestreaming nomedaradio" />



Exemplos para facilitar:

<item label="PolskaStacja Jazz" id="http://www.polskastacja.pl/play/jazz.pls PolskaStacja Jazz" />
<item label="PolskaStacja Blues" id="http://www.polskastacja.pl/play/blues.pls PolskaStacja Blues" />
<item label="WWOZ" id="http://wwoz-sc.streamguys.com/wwoz-hi.mp3.m3u WWOZ" />


O espaço após as aspas finais é necessário.

Lembre-se, existem vários formatos de streaming diferentes, e cada um tem de rodar no mplayer da sua máquina para que ele seja aceito pelo screenlet. Certifique-se que todos os codecs estejam instalados corretamente. Para Debian temos muita coisa no repo Multimedia.

Agora é só dar play e curtir sua rádio favorita. O próximo passo é descobrir como fazer o screenlet atualizar o perfil do last.fm

segunda-feira, 1 de março de 2010

Agenda do JDownloader

Um recurso muito útil do JDownloader é o Schedule, que permite o agendamento do início e parada dos downloads, entre outras funções menos importantes. Para usar, é muito fácil:

1. Com o programa aberto, vá em Settings/Plugins & Add-ons/Extensions e marque a caixa Schedule. Assim:


2. Depois vá em Basics/User Interface/Toolbar Manager e marque a caixa Schedule também.

 

3. Na aba Scheduler, clique no botão com o sinal de adição. Vai aparecer essa tela:

 

4. Preencha os campos de frequência, data e hora, escolha a ação desejada, clique no sinal de adição e depois em Save.

5. Faça isso com todos os eventos desejados.

 

Pronto! Para ligar ou desligar o agendamento, clique no toggle button indicado na figura acima.

Posts relacionados:

How-to: Reconexão no JDownloader
JDownloader: Um super gerenciador de downloads

sábado, 27 de fevereiro de 2010

How-to: Multiboot com Hiren's, DSL e Clonezilla

Já tínhamos o pendrive dual-boot com Hiren's e DSL. Não satisfeito, resolvi acrescentar o Clonezilla Live.

Muito simples:
  • Siga esse tutorial.
  • Baixe o Clonezilla Live.
  • Abra o arquivo menu.lst que está na raiz do pendrive e acrescente essas linhas ao final.

title Clonezilla Live

kernel /live/vmlinuz boot=live union=aufs noswap nolocales noprompt ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=791 toram=filesystem.squashfs ip=frommedia
initrd /live/initrd.img


Ou então, pelo terminal, use
$cat >> menu.lst
e cole as linhas, fechando o arquivo com Ctrl + C.

Atenção: de 'kernel' até 'frommedia' é apenas uma linha, se houver caracteres CR/LF o grub não reconhece os comandos e o Clonezilla não vai subir.

Pronto!

No arquivo syslinux.cfg do Clonezilla tem mais opções de boot. Se quiser colocar mais opções é só adaptar as linhas de comando à sintaxe do grub e inserí-las no menu.lst.

Posts relacionados:
How-to: Dual-boot no pendrive com Hiren's e DSL.

domingo, 14 de fevereiro de 2010

The Dead Link Sketch Reloaded.

Motivação


O script Dead Link na sua versão pré-alfa, apresenta alguns efeitos colaterais:
  • De 5 em 5 minutos ele te avisa que o link caiu. Fica meio chato, para dizer o mínimo.
  • Ele não avisa que o link voltou, simplesmente ele para de avisar que o link está fora.
  • Se alguma aplicação usa o link no talo, ele dá um falso positivo. Essa resolução fica para a próxima versão.
Era só rodar o jDownloader que o nosso HAL disparava a avisar que "The link is no more...", que Deus nos livre.

Agora ele está um pouco mais inteligente, avisando apenas uma vez que o link caiu e avisando novamente quando o link está ok. Melhorou muito, não?

Segue abaixo a nova versão. É só substituir o texto no script anterior e pronto, não precisa nem alterar no crontab.

Implementação


#!/bin/sh
HOST_PING=208.67.222.222
ping $HOST_PING -c 1 &>/dev/null
if [ "$?" != "0" ] ; then
RESP=0
else
RESP=1
fi
if [ $RESP == 0 ]; then
if [ ! -e linkdown.lck ]; then
sh /home/oswaldo/scripts/speak.sh "The link is no more! The link ceased to be! It expired and gone to meet its maker! This is an ex link!"
touch linkdown.lck
fi
else
if [ -e linkdown.lck ]; then
sh /home/oswaldo/scripts/speak.sh "The link is up, sir!"
rm linkdown.lck
fi
fi
exit


Edite o seu script para que ele aponte para o speak.sh em sua máquina.
Pronto. Long life and prosper!

Posts relacionados:

The Dead Link Sketch, ou como saber se o link caiu.
Tenha seu próprio HAL com o festival
Novos arquivos de voz para o festival

sábado, 13 de fevereiro de 2010

Adicionar legendas com o MEncoder

O meu DVD Player, um DVP642k, é um enjoamento para aceitar legendas externas. O arquivo .srt tem de ser salvo e gravado no Windows, seja qual for, para que o mesmo seja reconhecido como um arquivo de legendas. Mesmo adicionando o par CR/LF para fim de linha, ele simplesmente as ignora solenemente. So, fuck off!

Após brigar muito com as 2^56 opções do MEncoder, parece que cheguei à uma configuração decente para adicionar legendas em vídeos com codec xvid. O script abaixo é receita de bolo, não vou ficar explicando o que cada opção faz, leia nesse ótimo mini-tutorial.

Fiquei muito tentado a usar a opção -oac copy, mas todas as vezes ele gerava um atraso insuportável no áudio, então mp3lame nele.

Ao trabalho, então:

$cat > subtitleall.sh
#!/bin/sh
for i in `ls *.srt`
do j=`echo $i | sed 's/\.srt//'`
mencoder -quiet -oac mp3lame -lameopts vbr=3 -ovc xvid -xvidencopts fixed_quant=5
-sub $j.srt -subpos 90 -subfont-text-scale 3 -subfont-outline 2 -subcp ISO-8859-1 -sub-bg-alpha 200 -o $j\_sub.avi $j.avi
echo "Encoding of $j.avi " 'complete!'|festival --tts
done
exit
^C
$chmod +x subtitleall.sh


A linha mencoder é única até a instrução echo.

Esse script adiciona legendas srt aos vídeos avi xvid e avisa quando terminou cada conversão, DESDE que os arquivos estejam com o mesmo nome e SEM caracteres especiais.

Falando em caracteres, preciso de um script de uma linha para remover os []() dos nomes de arquivo. Quando conseguir, posto aqui.