sexta-feira, dezembro 15, 2006

Non-tech

Catado do slashdot.org em 15/12/06:

"The world is moving so fast these days that the man who says it can't be done is generally interrupted by someone doing it."
E. Hubbard

segunda-feira, setembro 25, 2006

Alterando o nome das interfaces de rede

Configurei hoje um servidor Suse 10.1 para instalar o VMWare Server. O equipamento possui três placas de rede, mas inicialmente usaríamos apenas uma. O problema é que o sistema nomeou as interfaces de rede de uma forma que não nos agradou. Queríamos que a interface que recebeu o nome eth0 fosse a eth1 e a eth1 fosse a eth0. Após uma rápida pesquisa descobrimos que podemos fazer isso facilmente apenas editando o arquivo /etc/udev/rules.d/30-net_persistent_names.rules e rebootando a máquina.

quinta-feira, agosto 24, 2006

Autenticando o acesso ao webserver no AD

Hoje precisei fazer uma coisa interessante: implementar o controle de acesso a um diretório do nosso site departamental realizando a autenticação no Active Directory. O servidor é um Suse 10.1 e a versão do Apache é 2.2.0. Depois de perder um certo tempo pesquisando cheguei à seguinte configuração funcional:


Alterações no /etc/apache2/default-server.conf:

AuthType Basic
AuthName "LDAP Auth"
AuthBasicProvider ldap
AuthLDAPURL ldap://172.16.X.X:389/OU=XXX,OU=XXX,OU=XXX,OU=XXX,dc=XXX,dc=XXX,dc=XX,dc=br?sAMAccountName?sub?(objectClass=user)
AuthLDAPBindDN cn=usuarioparaconsulta,ou=XXX,ou=XXX,ou=XXX,dc=XXX,dc=XX,dc=XX,dc=br
AuthLDAPBindPassword minhasenha
AuthName "Acesso restrito aos usuarios do setor XXX. Informe o mesmo login/senha utilizado na rede."
AuthzLDAPAuthoritative off
require valid-user


Se quisermos usar restrição por um grupo específico, podemos fazer o seguinte:


# Ao adicionar/remover usuarios do grupo restrito do AD,
# lembre-se de executar um rcapache reload
AuthType Basic
AuthName "LDAP Auth"
AuthBasicProvider ldap
AuthzLDAPAuthoritative Off
AuthName "Acesso restrito aos ADMINISTRADORES DE REDE. Informe o mesmo login/senha utilizado na rede."
AuthLDAPURL ldap://172.16.X.X:389/OU=XXX,OU=XXX,OU=XXX,OU=XXX,dc=XXX,dc=XXX,dc=XX,dc=br?sAMAccountName?sub?(objectClass=user)
AuthLDAPBindDN cn=usuarioparaconsulta,ou=XXX,ou=XXX,ou=XXX,dc=XXX,dc=XX,dc=XXX,dc=br
AuthLDAPBindPassword minhasenha
require ldap-group CN=usuarios_restritos_cti,OU=XXX,OU=XXX,OU=XXX,DC=XXX,DC=XXX,DC=XXX,DC=br



Algumas informações foram obfuscadas por razões óbvias.


Foi necessário incluir as duas linhas abaixo no /etc/apache2/sysconfig.d/loadmodule.conf:
LoadModule ldap_module /usr/lib/apache2-prefork/mod_ldap.so
LoadModule authnz_ldap_module /usr/lib/apache2-prefork/mod_authnz_ldap.so

Também foi preciso adicionar à variável APACHE_MODULES do /etc/sysconfig/apache2 as seguintes strings: "ldap" e "authnz_ldap", ficando assim:
APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 ldap authnz_ldap"




Além

segunda-feira, agosto 07, 2006

Convertendo um PDF para JPEG

Encontrei uma forma de converter um arquivo no formato PDF para imagens JPEG (uma por página do PDF) usando o Ghostscript:
gs -r300 -sDEVICE=jpeg -sOutputFile=./pagina-%04d.jpeg -dBATCH -dNOPAUSE arquivo_a_ser_convertido.pdf


Update: Hoje (22/11/2006) precisei rotacionar e redimencionar as imagens geradas pelo comandinho acima. Usei o convert, que faz parte do pacote do ImageMagick. Para converter todas as imagens usei o seguinte:
for i in pag*; do convert -rotate 90 -resize 800x600 "$i" "conv_$i" ; done






domingo, agosto 06, 2006

Desmontando o CD/DVD à la Windows

Usuários novatos não se conformam com a necessidade de desmontar um CD/DVD para que possam removê-lo pressionando o botão "eject" do drive. E eu até que os entendo, pois é assim que eles estão acostumados a fazer há anos. Não adianta usar os argumentos técnicos, eles simplesmente querem que funcione da maneira que eles esperam. Se você não quer decepcioná-los, acrescente a linha abaixo no seu /etc/sysctl.conf
dev.cdrom.lock=0
Essa dica eu encontrei no Planeta Ubuntu Brasil

sexta-feira, agosto 04, 2006

Tecla / e ? do teclado ABNT2 em um HP Proliant M370 via FreeNX

Tive que resolver um probleminha chato hoje. Precisava acessar remotamente um HP Proliant M370 via FreeNX. O teclado dessa máquina é padrão americano e o da minha estação é um ABNT2. Ao realizar o acesso remoto meu teclado não funcionava corretamente, o que era de se esperar, visto que o KDE estava configurado para o teclado padrão americano.

Pensei que meu único trabalho seria acessar o Centro de Controle do KDE e adicionar um novo layout para o teclado ABNT e depois realizar o chaveamento do teclado desejado sempre que usasse a máquina local ou remotamente (é adicionado um ícone na bandeja da barra de tarefas para realizar essa troca rápida de layouts).

Fiz isso e funcionou quase tudo. Quase. A bendita tecla da barra ("/") e interrogação ("?") não funcionou. Ficou muda.

Depois de alguns (para dizer a verdade, vários) minutos pesquisando no Google descobri que era necessário adicionar uma nova linha relacionada a essa tecla no arquivo /etc/X11/xkb/keycodes/xfree86. Abaixo, em destaque, a linha adicionada:
xkb_keycodes "abnt2" {
include "xfree86(basic)"
<BKSL> = 94;
<AC12> = 51;
<KPPT> = 134;
<AB11> 123;
};


As configurações do meu /etc/X11/xorg.conf não sofreram alterações:
Section "InputDevice"
Driver "kbd"
Identifier "Keyboard[0]"
Option "Protocol" "Standard"
Option "XkbLayout" "br"
Option "XkbModel" "abnt2"
Option "XkbRules" "xfree86"
EndSection

terça-feira, julho 18, 2006

Criando um DVD a partir de vídeos WMV

Usando a extesão Download Embedded eu baixei vários vídeos interessantes do site Olhar Digital. Resolvi gravar esses vídeos em um DVD para que pudesse exibi-los em um DVD player doméstico e aí as coisas começaram a ficar mais interessantes. Problema número um: como fazer isso? Como não tenho experiência quase que nenhuma com programas multimídia, tive que pesquisar um pouco.

Bem, encontrei um programa muito bacana chamado KDE DVDAuthoring Wizard que faz o que preciso. Na verdade ele é uma "casca" gráfica bonitinha para os programas que realmente fazem todo o trabalho sujo. E veio então o problema número dois: o KDE DVDAuthoring Wizard espera que os arquivos de vídeo já estejam no formato correto (MPEG2) para a geração do DVD e todos os arquivos que baixei estavam no famigerado formato WMV.

Para resolver essa situação tive que converter os arquivos para o formato MPEG2. Os desenvolvedores do KDE DVDAuthoring Wizard também criaram um programa chamado KmPg2 que supostamente faz a conversão de quase qualquer tipo de arquivo de vídeo (inclusive WMV) para o formato correto, mas ele infelizmente não funcionou com os arquivos do Olhar Digital. Tive então que recorrer ao mencoder para resolver a situação. No próprio site do programa encontrei o "comandinho" para realizar a conversão no formato PAL:
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=4/3 -ofps 25 -o arquivo_destino.mpg arquivo_origem.wmv
Como o processo de conversão é deveras demorado e eu tinha que converter vários arquivos, escrevi um scriptzinho simples para trabalhar em meu lugar. Ei-lo:

#!/bin/bash
for ARQ in `ls *.wmv`
do
NOMEARQ=`basename "$ARQ" .wmv`
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=4/3 -ofps 25 -o ${NOMEARQ}.mpg $ARQ
done
E pronto.
Não sei se o KmPg2 faz a conversão de diversos arquivos em batch. Suponho que não e se minha suposição estiver correta, de qualquer forma eu teria que escrever o script acima.

Partições FAT e NTFS e os problemas dos caracteres acentuados

Ainda tem muita gente com a irritante mania de nomear seus arquivos incluindo acentos, por isso temos que nos adaptar à situação. Se você tem partições NTFS ou FAT32 e quer que arquivos acentuados sejam listados corretamente, configure o seu /etc/fstab mais ou menos assim:
...
/dev/hda1 /windows/c ntfs nls=utf8,umask=0000 0 1
/dev/hda5 /windows/d vfat codepage=850,iocharset=utf8,rw,users,umask=000 0
...

segunda-feira, julho 10, 2006

Restringindo o acesso via SSH

Uso muito o SSH em casa para acessar os computadores da minha pequena rede doméstica, seja via o próprio cliente orientado a caractere ssh, seja via protocolo fish:// do KDE. Mas tenho reparado que sempre tem um engraçadinho fazendo ataque de força bruta para invadir meu computador. Vejam um pequeno exemplo retirado do meu /var/log/auth.log:
...
Jul 1 19:39:56 desktop sshd[1542]: Invalid user pgsql from 202.94.232.229
Jul 1 19:39:57 desktop sshd[1542]: (pam_unix) check pass; user unknown
Jul 1 19:39:57 desktop sshd[1542]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=202.94.232.229
Jul 1 19:39:59 desktop sshd[1542]: Failed password for invalid user pgsql from 202.94.232.229 port 41527 ssh2
Jul 1 19:40:30 desktop sshd[1553]: Invalid user john from 202.94.232.229
Jul 1 19:40:30 desktop sshd[1553]: (pam_unix) check pass; user unknown
Jul 1 19:40:30 desktop sshd[1553]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=202.94.232.229
Jul 1 19:40:32 desktop sshd[1553]: Failed password for invalid user john from 202.94.232.229 port 42842 ssh2
...

Para minimizar a possibilidade de sucesso dos desocupados configurei o sshd para só aceitar conexões provenientes da minha própria rede, incluindo a linha abaixo no meu /etc/ssh/sshd_config:
AllowUsers *@10.2.17.*

Aviso as críticos: não, minha rede não é 10.2.17.0. Usei apenas como exemplo.

sábado, julho 01, 2006

Sobrepondo legendas no MPlayer

Baixei um filme no formato rmvb com legendas embutidas. A princípio a idéia era boa, pois não precisaria procurar um arquivo de legendas para o filme e nem passaria pelo possível (na verdade, quase certo) aborrecimento de sincronizá-las. Só que após terminado o download eu percebi que as benditas legendas, apesar de serem exibidas perfeitamente no monitor, ficavam muito pequenas quando a saída do vídeo era direcionada para a minha TV, ficando quase ilegíveis. Como as legendas estavam embutidas, elas, obviamente, não podiam ter seu tamanho alterado.

A solução que encontrei para contornar o problema foi baixar somente o arquivo de legendas do filme e sobrepor as legendas embutidas com essas essas novas legendas. Inicialmente pensei em mudar a cor da nova legenda para contrastar com a embutida, afinal, as duas eram brancas e causavam uma certa confusão visual. Só que parece que o MPlayer não permite a alteração da cor das legendas (ou pelo menos eu não fui competente o suficiente para descobrir como fazer isso). Mas descobri uma maneira ainda melhor de contrastar a nova legenda, praticamente ocultando a legenda embutida original: alterei as propriedades Blur para 0 e Outline para 100 (os valores padrão são 25 e 25). Veja os resultados antes e depois das alterações:

Antes


Depois

Para ter acesso à tela de configurações via GMPlayer basta clicar com o botão direito sobre o filme e escolher a opção "Preferences" e clicar sobre a aba" Font". Ah, já ia me esquecendo: usei a versão 4.0.3 do MPlayer.

segunda-feira, maio 08, 2006

Apresentação utilizada na palestra ministrada na UVV no dia 06/05/2006

Baixe o arquivo neste endereço.

Ps: Tive que compactar o arquivo pois o GeoCities não aceita a armazenagem de arquivos odp (formato do OOo Impress e que inclusive já é compactado). Tenho que arranjar um host decente para não ter mais que passar por esses contrangimentos... :)


Trabalhando com init no Debian

Artigo interessante do Flávio Torres: Trabalhando com init no Debian

sexta-feira, abril 28, 2006

Politicamente incorreto

Acertando o som do Flash no Firefox

Meu som sempre funcionou direitinho, claro. Porém eu não estava conseguindo ouvir o som de animações Flash no Firefox.

Depois de tentar várias dicas sem sucesso consegui resolver o problema (a partir de outra dica) carregando o módulo snd-pcm-oss. Não tenho mais o links aqui comigo, mas o Google tá aí é para isso mesmo, né? :)

quarta-feira, abril 26, 2006

html no Palm

Já uso há algum tempo o Plucker para converter documentos html para um formato que o Palm pode interpretar.

Hoje, por meio de uma dica do Br-Linux conheci o Sunrise, que é um programa que faz a mesma coisa que o Plucker Desktop, gerando arquivos que podem ser lidos pelo Plucker Viwer. A diferença é que o Sunrise é mais simples, tem mais funcionalidades e tem uma interface muito, mas muito mais polida.

Para instalar é só baixar a versão para GTK, descompactar e rodar o script sunrise-desktop.sh.

terça-feira, abril 18, 2006

Mplayer e legendas fora de sincronia

Sempre usei o Kaffeine para assistir aos meus filmes. Simples, direto. Mas legendas fora de sincronia sempre me deram dor de cabeça. Sim, o Kaffeine nos dá a opção de sincronizar legendas mal comportadas, mas, apenas permite atrasar ou adiantar a legenda em um segundo. Isso mesmo, um único e mísero segundo, o que está longe de atender às minhas expectativas, claro.

Por conta desse grande inconveniente, dei uma chance ao MPlayer. Já estava instalado no meu sistema, mas ao tentar utilizá-lo fui presenteado com a seguinte mensagem de erro:
mplayer "error opening/initializing the selected video_out (-vo) device.

Ok, dei uma olhada na aba "Video" da janela de configurações, escolhi um outro driver qualquer (xv), reiniciei o programa e funcionou. Bem, vamos ver como ficam agora as legendas. A primeira coisa que pesquisei foi como sincronizá-las. Descobri que com as teclas "x" e "z" posso colocar as benditas legendas em qualquer posição. Não existe nenhum limite ridículo de segundos. Ponto para o MPlayer. Agora o Kaffeine não me parece tão interessante quanto antes...

Ah, já ia esquecendo: também tive que configurar a codificação das legendas (ISO 8859-1) para ver corretamente algumas palavras acentuadas.

Para ter acesso a um resumo das opções e teclas de atalho do programa basta digitar "mplayer" na linha de comando:
klayson@desktop:~$ mplayer
MPlayer dev-CVS--4.0.3 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Duron/Athlon 4/MP/XP Palomino (Family: 6, Stepping: 2)
MMX2 supported but disabled
SSE supported but disabled
3DNow supported but disabled
3DNowExt supported but disabled
CPUflags: MMX: 1 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX

Usage: mplayer [options] [url|path/]filename

Basic options: (complete list in the man page)
-vo select video output driver & device ('-vo help' for a list)
-ao select audio output driver & device ('-ao help' for a list)
vcd:// play (S)VCD (Super Video CD) track (raw device, no mount)
dvd:// play DVD title from device instead of plain file
-alang/-slang select DVD audio/subtitle language (by 2-char country code)
-ss seek to given (seconds or hh:mm:ss) position
-nosound do not play sound
-fs fullscreen playback (or -vm, -zoom, details in the man page)
-x -y set display resolution (for use with -vm or -zoom)
-sub specify subtitle file to use (also see -subfps, -subdelay)
-playlist specify playlist file
-vid x -aid y select video (x) and audio (y) stream to play
-fps x -srate y change video (x fps) and audio (y Hz) rate
-pp enable postprocessing filter (details in the man page)
-framedrop enable frame dropping (for slow machines)

Basic keys: (complete list in the man page, also check input.conf)
<- or -> seek backward/forward 10 seconds
down or up seek backward/forward 1 minute
pgdown or pgup seek backward/forward 10 minutes
<> step backward/forward in playlist
p or SPACE pause movie (press any key to continue)
q or ESC stop playing and quit program
+ or - adjust audio delay by +/- 0.1 second
o cycle OSD mode: none / seekbar / seekbar + timer
* or / increase or decrease PCM volume
x or z adjust subtitle delay by +/- 0.1 second
r or t adjust subtitle position up/down, also see -vf expand

* * * SEE THE MAN PAGE FOR DETAILS, FURTHER (ADVANCED) OPTIONS AND KEYS * * *

sexta-feira, abril 14, 2006

Enviando a saída do vídeo para a TV

Comprei uma placa de vídeo com saída para TV para assistir aos meus filmes O modelo adquirido foi o FX5200 da NVidia. A instalação da nova placa no Debian (Etch) foi mais simples do que eu imaginei. Apenas segui os procedimentos descritos em http://www.vivaolinux.com.br/artigos/impressora.php?codigo=1978. Só tive que fazer uma ou duas modificaçõezinhas bobas.

Depois foi só alterar o meu /etc/X11/xorg.conf a partir das informações obtidas em http://mother.lugmen.org.ar/pipermail/lug-list/2004-August/030484.html. Incluí as opções abaixo na minha seção "Screen":
Option "TwinView" "on"
Option "SecondMonitorHorizSync" "30-50"
Option "Second Monitor VertRefresh" "60"
Option "MetaModes" "1024x768,1024x768"
Option "ConnectedMonitor" "CRT,TV"
Option "TVStandard" "NTSC-M"
Option "TwinViewOrientation" "clone"

Se quisermos remover o logotipo da Nvidia que aparece na inicialização do X, basta adicionar a linha abaixo na seção "Device":
Option "NoLogo" "1"

(Dica retirada de http://gentoo-wiki.com/TIP_Removing_The_Nvidia_Logo)


Ctrl+Alt+Backspace e pronto. Imagem sendo exibida no monitor e na TV.

Para configurar a saída para a TV eu também utilizei um programa chamado nvtv (http://sourceforge.net/projects/nv-tv-out/) mas, para ser sincero, achei ele meio chatinho. Se bem que não estava como muito tempo (paciência) para testar as suas muitas opções de configuração. Para executá-lo como usuário comum (nvtv -n) é necessário que o daemon /usr/sbin/nvtvd esteja rodando.

quarta-feira, janeiro 04, 2006

sources.list

# sources.list obtido em http://home.comcast.net/~andrex/Debian-nVidia/files/sources.list
# Official Debian archives
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://secure-testing.debian.net/debian-secure-testing testing/security-updates main contrib non-free
deb http://http.us.debian.org/debian/ stable main contrib non-free
deb http://http.us.debian.org/debian/ testing main contrib non-free
deb http://http.us.debian.org/debian/ unstable main contrib non-free

# Experimental
deb http://http.us.debian.org/debian/ ../project/experimental main contrib

# KDE 3.5
#deb http://pkg-kde.alioth.debian.org/kde-3.5.0/ ./

# K3B
deb http://www.planet-moll.de/debian/ sarge main

# k9copy, knmap, etc.
# http://repos.knio.it
deb http://repos.knio.it/ testing main contrib non-free
deb http://repos.knio.it/ unstable main contrib non-free

# Randall Donald's prebuilt nvidia kernel modules
deb http://people.debian.org/~rdonald/nvidia modules-unstable/i386/

# unofficial packages by Christian Marillat:
# acroread, mplayer & friends, realplayer, others.
# see http://hpisi.nerim.net
deb ftp://ftp.nerim.net/debian-marillat/ sarge main
deb ftp://ftp.nerim.net/debian-marillat/ sid main
deb ftp://ftp.nerim.net/debian-marillat/ etch main
deb ftp://ftp.nerim.net/debian-marillat/ experimental main

# Kalyxo (http://kalyxo.mornfall.net):
# Qt themes for GTK; KDE goodies for Debian.
#deb http://archive.kalyxo.org/kalyxo/ staging main
#deb http://archive.kalyxo.org/kalyxo/ experimental main
#deb http://62.104.23.254/kalyxo/ staging main
#deb http://62.104.23.254/kalyxo/ experimental main

# bootsplash themes
# see www.bootsplash.de
#deb http://debian.bootsplash.de unstable main

# Matthias Ulrich: gpgsm, brings S/MIME support to KMail
#deb http://smurf.noris.de/code/debian/ experimental smurf

# Real Time custom repository: PwManager
#deb ftp://ftp.real-time.com/linux/real-time unstable custom

# another mplayer source
#deb http://debian.kcore.org/ ./

# backports, sideports, almost-official packages
#deb http://debian.jones.dk/ sarge misc
#deb http://debian.jones.dk/ sid misc

# NuFW
#deb http://www.nufw.org/debian/ unstable/

# TeX Live: http://www.tug.org/texlive/debian.html
#deb http://www.tug.org/texlive/Debian/ pool/



Também há umas dicas interessantes sobre repositórios em http://blog.kovyrin.net/2006/03/27/unofficial-debian-reposotories-overview/