jump to navigation

Como configurar o file type do seu firefox 27/Mai/2008

Posted by demoncyber in firefox, slackware.
Tags: , , , ,
add a comment

Eis que um colega que está começando a utilizar Slackware me pergunta porque quando ele mandava abrir um arquivo pdf pelo firefox ele não abria, e responde porque o Slackware não vem com isto configurado é apenas um caso de setar o mimetype ou filetype, daí lhe falo vai lá edit->preferences aba content e clica no botão Manage em File Types, e aí em seguida que nasce o problema aquele X.X trubisco não serve para editar e adicionar um novo file type de geito maneira, aquilo me revoltou … ( como devem perceber estes artigos ultimamente sobre firefox é porque não gosto dele mesmo… ) então instalei um plug in de firefox que fazia isto resolvi fazer engenharia reversa no bixinho para descobrir qual arquivo precisava alterar e enfim achei que é o mimeTypes.rdf, seguindo na minha procura encontrei mais sobre como configurar ele em um dos sites da mozilla que está nas referências do texto.

Atributos

RDF:about - identificador ( Atributo especial pertecente a raíz )

NC:description - O nome do tipo de arquivo que será mostrado dentro da janela de download
NC:fileExtension - Extensão do arquivo que será manipulado
NC:value - O tipo do MIME de arquivo a ser manipulado
NC:path - caminho da aplicação que será usada para abrir este arquivo
NC:useSystemDefault - true (usa o sistema padrão do seu window manager para este tipo de MIME) ou false (define uma ação diferente para especificar no arquivo qual programa usar)
NC:saveToDisk - true (ação padrão que é baixar o arquivo) ou false ( não baixa o arquivo na máquina)
NC:alwaysAsk - true (perguntar qual a ação ao tratar deste tipo de arquivo) or false (não pergunta ação)
NC:editable - true (entrada pode ser modificada pelo usuário) ou false (entrada como travado)
NC:prettyName - um curto nome da aplicacão que será usada para abrir

———————————————————

Cabeçalho do arquivo

Esta é a sessão inicial do seu arquivo de configuração, mantém o cabeçalho indicando onde estão os arquivos de padrão da sintaxe xml do arquivo rdf a ser utilizado.

<?xml version=”1.0″?>
<RDF:RDF xmlns:NC=”http://home.netscape.com/NC-rdf#”
xmlns:RDF=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”>

</RDF:RDF>

/.mozilla/firefox/identificador.defaults/mimeTypes.rdf

———————————————————

Identificador do tipo de arquivo

Neste exemplo estamos criando um identificador global “office/pdf” para o nosso arquivo, passando os atributos de identificação explandos à cima.

( NC:handlerProp - Apesar de ter procurado em muitos sites e nas rfcs do MIME não encontrei o atributo handlerProp e o meu empenho em fazer engenharia reversa nos arquivos de especificação do xml utilizado para analizar o arquivo de xml em questão já estavam no máximo -.-, nota eu acredito que o handlerProp serve para apontar para o identificador que contém o recurso do manipulador da especificação descrita)

<RDF:Description RDF:about=”urn:mimetype:office/pdf”
NC:fileExtensions=”pdf”
NC:description=”PDF Files”
NC:value=”office/pdf”
NC:editable=”true”>
<NC:handlerProp RDF:resource=”urn:mimetype:handler:office/pdf”/>
</RDF:Description>

———————————————————

Identificador do manipulador do tipo de arquivo

Neste exemplo estamos criando o manipulador do tipo de arquivo identificador global “office/pdf” para o nosso arquivo, passando os atributos de identificação explandos à cima.

( NC:externalApplication - Apesar de ter procurado em muitos sites e nas rfcs do MIME não encontrei o atributo externalApplication e o meu empenho em fazer engenharia reversa nos arquivos de especificação do xml utilizado para analizar o arquivo de xml em questão já estavam no máximo -.-, nota eu acredito que o externalApplication serve para apontar o identificador que contem o recurso de aplicativo externo)

<RDF:Description RDF:about=”urn:mimetype:handler:office/pdf”
NC:alwaysAsk=”false”
NC:handleInternal=”false”
NC:useSystemDefault=”false”
NC:saveToDisk=”false”>
<NC:externalApplication RDF:resource=”urn:mimetype:externalApplication:office/pdf”/>
</RDF:Description>

———————————————————

Identificador do programa externo utilizado para

<RDF:Description RDF:about=”urn:mimetype:externalApplication:office/pdf”
NC:path=”/usr/bin/kpdf” />

———————————————————

Identifiador percente a raíz que serve para adicionar os identificadores utilizados pelo webbrowser
- Mostrar texto das mensagens anteriores -

<RDF:Seq RDF:about=”urn:mimetypes:root”>
<RDF:li RDF:resource=”urn:mimetype:image/png”/>
<RDF:li RDF:resource=”urn:mimetype:office/pdf”/>
</RDF:Seq>

———————————————————
Segue um exemplo concluído

<?xml version=”1.0″?>
<RDF:RDF xmlns:NC=”http://home.netscape.com/NC-rdf#”
xmlns:RDF=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”>
<RDF:Description RDF:about=”urn:mimetype:office/pdf”
NC:fileExtensions=”pdf”
NC:description=”PDF Files”
NC:value=”office/pdf”
NC:editable=”true”>
<NC:handlerProp RDF:resource=”urn:mimetype:handler:office/pdf”/>
</RDF:Description>
<RDF:Description RDF:about=”urn:mimetype:externalApplication:image/png”
NC:path=”/usr/bin/gimp”
NC:prettyName=”Gimp” />
<RDF:Description RDF:about=”urn:mimetype:handler:image/png”
NC:alwaysAsk=”false”
NC:handleInternal=”false”
NC:useSystemDefault=”false”
NC:saveToDisk=”false”>
<NC:externalApplication RDF:resource=”urn:mimetype:externalApplication:image/png”/>
</RDF:Description>
<RDF:Description RDF:about=”urn:mimetype:externalApplication:office/pdf”
NC:path=”/usr/bin/kpdf”
NC:prettyName=”KPDF” />
<RDF:Description RDF:about=”urn:mimetype:image/png”
NC:fileExtensions=”png”
NC:description=”PNG Image”
NC:value=”image/png”
NC:editable=”true”>
<NC:handlerProp RDF:resource=”urn:mimetype:handler:image/png”/>
</RDF:Description>
<RDF:Description RDF:about=”urn:mimetype:handler:office/pdf”
NC:alwaysAsk=”false”
NC:handleInternal=”false”
NC:useSystemDefault=”false”
NC:saveToDisk=”false”>
<NC:externalApplication RDF:resource=”urn:mimetype:externalApplication:office/pdf”/>
</RDF:Description>
<RDF:Seq RDF:about=”urn:mimetypes:root”>
<RDF:li RDF:resource=”urn:mimetype:image/png”/>
<RDF:li RDF:resource=”urn:mimetype:office/pdf”/>
</RDF:Seq>
</RDF:RDF>

Espero que tenham gostado =] ….

” Existem aqueles que se contentam em apenas resolver os problemas e existem aqueles que não se contentam resolver sem entender ….” - Demoncyber

Referências:
(Lidas na integra)
http://en.wikipedia.org/wiki/MIME - wikipedia sobre mim
http://www.iana.org/assignments/media-types/ - lista completa de mime media types
http://kb.mozillazine.org/MimeTypes.rdf - exemplo e documentação sobre o arquivo configurado
http://www.w3schools.com/media/media_mimeref.asp - referência para o padrões MIME

RFS
( Obs nenhuma destas RFS foram lidas apenas foi procurado pelos campos chaves os quais não foram encontradas as documentações referentes )
http://www.rfc-editor.org/rfc/rfc2047.txt
http://www.rfc-editor.org/rfc/rfc822.txt
http://www.rfc-editor.org/rfc/rfc2045.txt
http://www.rfc-editor.org/rfc/rfc2046.txt
http://www.rfc-editor.org/rfc/rfc2047.txt
http://www.rfc-editor.org/rfc/rfc2048.txt
http://www.rfc-editor.org/rfc/rfc2049.txt

Tunning Firefox 9/Mai/2008

Posted by demoncyber in utilitarios.
Tags: ,
add a comment

Este artigo visa mostrar algumas dicas colhidas na net para otimizar o firefox, para ajudar à todas aquelas pessoas que acham o Firefox pesado tornar ele mais rápido. A necessidade disto veio por causa de um dos projetos o qual esta ferramenta estava consumindo muito processamento e memória.

Segue as configurações mudadas e os processo que utilizamos no projeto.( Lembrete antes de fazer as alterações faça backups )

Inicialmente trabalhamos com a sessão de configuração do firefox que pode ser acessada por about:config dentro do seu browser.

Flags modificadas para obter melhor desempenho:

Nome:content.notify.interval
Type: Integer
Value: 2000000
Chave: Teve que ser criada manualmente

- Diminui o intervalo de renderização das paginas do firefox

Nome:content.notify.ontimer
Type: Boolean
Value: true
Chave: Teve que ser criada manualmente

- É uma chave depentende para ativar o content.notify.interval

Nome: browser.tabs.closeButtons
Type: interger
Value: 0 (valor opcional, você pode tentar outros valores citados acima) (valor padrão: 1) (valores opcionais: 0, 1, 2, 3)

- Áqui vem uma das partes que as pessoas nao percebem mas consome bastante memória e desempenho botao de fechar nas abas com a opção 0 este botao somente aparece na janela corrente.

Nome: browser.cache.memory.enable
Status: user set
Type: boolean
Value: false

- A chave milagrosa a que deixa o firefox rápido pra caramba, esta chave sabilita o cache de memória do firefox nada de ficar sobrecarregando e criando firefox utilizando 100 ou mais de ram.

Nome: browser.sessionhistory.max

Nome: browser.sessionhistory.max_total_viewers

Status: user set
Type: integer
Value: 0 (valor opcional, desativa o cache completamente)

- Reduz o tamanho do cache de memória do histórico .

Para fazer com que estas flags sejam ativas para todos o usuarios do firefox é necessário mudar os arquivos que mantém a configuração:

No arquivo defaults/pref/firefox.js altere a linha para o valor 0

pref(”browser.tabs.closeButtons”, 0);

E inseridas as linhas no final do arquivo

pref(”content.notify.ontimer”,true);
pref(”content.notify.interval”,2000000);

No arquivo /usr/lib/firefox/greprefs/all.js

pref(”browser.cache.memory.enable”, false);
pref(”browser.sessionhistory.max_total_viewers”, 0);

Pronto agora você está com o seu firefox Tunado esse sim é um 2.0 XD

Agradecimentos ao Cidoloco e a sua publicação no fórum do slackbr, a comunidade do Slackware e principal ao autor do artigo na computerworld.

Referências:
http://www.slackbr.org/forum/viewtopic.php?t=15050
http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9020880&pageNumber=1


Marco Carvalho de Oliveira
Certificate Linux Professional I - LPI
Colméia - Grupo de Pesquisa em Software Livre
Joinville - UDESC - Ciencia Da Computação

Pesquisa em arquivos pdf de forma recursiva no Linux com Slackware 9/Mai/2008

Posted by demoncyber in slackware.
Tags: , ,
add a comment
Certo dia um professor me procurou pergutando como ele poderia fazer uma busca recursiva em vários arquivos de pdf em várias pastas para saber se existia uma determinada expressão neles, utilizando shellscript e aí está a resposta.

Processo adotado:
- Converter arquivos pdf em texto
- Fazer a busca por expressão regular no arquivo com a expressao requisitada
- Escrever em um outro arquivo os documentos que contém a expressão procurada

Para converter um arquivo de pdf para texto devemos utilizar uma biblioteca de conversão e um programa chamado pdftotext tome cuidado para não trocar pdftext por pdftxt -.- sim eu vivo escrevendo trocado . Desde a versão 12 o slackware adotou como padrão a biblioteca Poppler desenvolvida por Derek Noonburg então para tanto é necessário checar se a você possui esta biblioteca instalada caso não você pode instalar baixando do link a sequir.

http://packages.slackware.it/package.php?q=12.0/poppler-0.6.2-i486-1_slack12.0

Lembrando que nas versões anteriores ao slackware 12 como a 11 o pacote que continham o programa xpdftotext era o xpdf-utils

Nota: caso você não utilize o slackware você pode procurar em sua ambiente pela mesma biblioteca

Estrutura do comando do xpdf

pdftotext [opções] <PDF-arquivo> [<texto-arquivo>]

Exemplo:

pdftotext teste.pdf /tmp/teste.txt

Pesquisa no texto

Para fazer a pesquisa em texto podemos utilzar o programa grep ( convenhamos qualquer distribuição linux possui :D ), ele usa como base expressões regulares para busca como referência para aprendizado sobre expressões regulaes recomendo o livro do Aurélio Marinho Jargas segue o link:

http://guia-er.sourceforge.net/

Estrutura do comando do grep

grep [OPÇÃO]… PADRÃO [ARQUIVO]…

grep marco /tmp/teste.txt

Por fim segue o script que chamei de procura-recursiva:

——–
#!bin/bash

IFS=$’\n’
#seta o separador de comandos para quebra de linha isto é para resolver caso tenhamos a indesejável utilização de espaços nos nomes dos arquivos

MYTMP=/tmp/procura-recursiva/
# pasta utilizada pelo programa

rm -rf $MYTMP
mkdir $MYTMP

for files_pdf in `find -type f | grep “\.pdf$” | sed “s/\.//”`
do
LOC_FILE=`pwd`$files_pdf
# diretorio onde se encontra o arquivo seguido do seu nome
NAME_FILE=`basename $files_pdf`
# nome dp arquivo pdf analizado
FIND_FILE=$MYTMP$NAME_FILE.txt
# Arquivo temporário de pdf em forma de texto para ser utilizado na busca rescursiva
pdftotext $LOC_FILE $FIND_FILE
# Converte o arquivo pdf para um arquivo de texto para executar a busca
grep $1 $FIND_FILE >> /dev/null
# Procura no arquivo de texto e joga o resultado para o buraco negro
if [ $? = 0 ]
then
#verifica se a busca foi bem sucedida caso sim imprime que foi econtrada a palavra chave no arquivo
echo “Expressao encontrada no arquivo $NAME_FILE”;
fi
done

Para executar o script basta executar o comando:

bash procura-recursiva expressao

———

Lembrando que apesar deste artigo ser baseado para o Slackware e explicado como executar em outras distros, caso use este documento como referência colocar os creditos. Se perguntarem porque shell? resposta é pq não shell?

:D espero que tenham gostado sugestões e críticas:

e-mail: demoncyber@gmail.com
marco@colmeia.udesc.br

Referência

http://www.dicas-l.com.br/dicas-l/20050226.php
http://thobias.org/doc/sosed.html
man find
http://packages.slackware.it/package.php?q=12.0/poppler-0.6.2-i486-1_slack12.0
http://guia-er.sourceforge.net/


Marco Carvalho de Oliveira
Certificate Linux Professional I - LPI
Colméia - Grupo de Pesquisa em Software Livre
Joinville - UDESC - Ciencia Da Computação

A mágica do rsync 11/Abr/2008

Posted by demoncyber in utilitarios.
Tags: ,
add a comment

A mágica do rsync
Este artigo apresenta o aplicativo rsync e algumas dicas de como utiliza-lo. Vamos lá!

Rsync de acordo com o wikipedia
rsync is a software application for Unix systems which synchronizes files and directories from one location to another while minimizing data transfer using delta encoding when appropriate. An important feature of rsync not found in most similar programs/protocols is that the mirroring takes place with only one transmission in each direction. rsync can copy or display directory contents and copy files, optionally using compression and recursion” - Wikipedia sobre Rsync

Ok, mas porque rsync é uma solução mais interessante do que copiar os arquivos na mão e quais são as suas vantagens?
- A sua compressão e o algoritmo de transferência delta-transfer aumenta o desempenho para as transferências
- Pode manter todo as permissões do arquivo
- Pode se utilizar de uma transfêrencia de arquivos segura ( via ssh)

Como faço para instalar?

Acesse a página do projeto e baixe o seu código fonte e compile . http://rsync.samba.org/download.html, ou você pode se utilziar de algum pacote pronto para o seu sistema operacional. Atualmente é dificil encontrar algum sistema operacional baseado no UNIX que não traga essa mágica ferramenta por padrão. Em nosso caso vamos tratar da instalação sendo feita em um Debian lenny:

apt-get install rsync

Certo mas como configurar o daemon do rsync?

Bom o rsync tem um arquivo de configuração padrão chamado rsyncd.conf que fica dentro do diretório /etc. Segue um modelo de estrutura do arquivo:
- Ocultar texto das mensagens anteriores -

#/etc/rsyncd.conf

#Opções Globais
uid = nobody
#habilita para usar um usuário com permissões mínimas chamado nobody
gid = nobody
#habilita para usar um grupo com permissões mínimas chamado nobody
motd file = /etc/rsyncd.motd
# arquivo de mensagem do dia quando logar para a transfêrencia de arquivo
log file = /var/log/rsyncd.log
# arquivo de log de copias e do sistema
pid file = /var/run/rsyncd.pid
# arquivo que mantém o pid do daemon
lock file = /var/run/rsync.lock
#arquivo de trava criando para não abrir vários processos do rsync
use chroot=yes
# habilita o uso do change root o que dá um nível mais alto de segurança a cópia do arquivo que está sendo executada

#Opções Globais

#Opções dos caminhos

[nome_do_meu_caminho_compartilhado]
# Nome dado a especificação do caminho compartilhado
path = /rsync_files_here
#caminho compartilhado
comment = Meu diretório comparilhado pelo Rsync
# comentário sobre o caminho compartilhado
read only = yes
# especifica se o compartilhamento é somente para leitura
list = yes
# habilita a listagem do módulo
auth users = username

#Opções dos caminhos

# Fim arquivo /etcrsyncd.conf

O que é mais necessário além de um bom arquivo comentado para explicar o funcionamento? :D

Para rodar o daemon do rsync depois do arquivo de configuração pronto somente é necessário usar o parametro –daemon.

rsync –daemon

Estrutura do comando para utilização:

rsync [opções] origem destino

Agora vamos a nossa coleção de mágicas

Sincronia de diretório local: rsync -ravzp /home/usuario/ /home/bkp/
Sincronia de arquivos locais para um servidor: rsync -ravzp /home/usuario/ usuario@192.168.0.5:/home/bkp/
Sincronia de arquivos do servidor para uma maquina local: rsync -ravzp usuario@192.168.0.5:/home/bkp/ /home/usuario/
Listando o diretório: rsync -ravzp usuario@192.168.0.5:/home/bkp/

-r recursivo
-a mantém a estrutura de forma idêntica
-v modo de verbose o qual apresentada os dados do que está sendo executado
-z comprime o arquivo durante a transferência ( aumenta a velocidade de cópia )
-p preserva as permissões

Mais explicações sobre os parâmetros pode-se encontrar em man rsync =p

Espero que este Artigo ajude o pessoal a sincronizar os seus projetos, abraços e até a proxima (Demoncyber)

Ferramenta gráfica para sincronização de arquivos grsync

Dados técnicos:
Licença GNU
Porta 873

Site do projeto
http://samba.anu.edu.au/rsync/

Referência:
http://samba.anu.edu.au/ftp/rsync/rsync.html
http://everythinglinux.org/rsync/
http://en.wikipedia.org/wiki/Rsync
http://www.opbyte.it/grsync/
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=338
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=8011
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=882


Marco Carvalho de Oliveira
Ciência da Computação - UDESC - Joinville
COLMÉIA - Grupo de Pesquisa em Software Livre

Flisol Joinville 2008 11/Abr/2008

Posted by alfakini in eventos.
Tags: ,
add a comment

flisol2008

Referência:

Guxlle

Colméia

Sociesc

Computação Coletiva em LISP 9/Abr/2008

Posted by demoncyber in eventos.
Tags: , , ,
add a comment

O Colméia estará recepcionando a palestra de uma das grandes entidades de LISP brasileira o Vilson Viera :D no dia 15/04/08, esta apresentação prima por mostrar como o LISP é uma linguagem que se adequa a web assim desmistificando alguns mitos desta linguagem, está apresentação também tem como bônus trazer como tópico a Computação Coletiva em outras palavras IA onde esta linguagem é muito consagrada. Está palestra sequencialmente será apresentada no FISL então estamos recpcionando um evento de primeira mão :D não teriamos que esperar até o Forúm Internacional de Software Livre \o/.

Segue o Spam do evento :D

Palestra Coletiva com LISP

Configurando Wireless - Placa Atheros AR5006G - DreamLinux 9/Abr/2008

Posted by demoncyber in debian, wireless.
Tags: , ,
add a comment

Tenho um Toshiba Satellite A135-S4637 e instalei, tranquilamente, o Dreamlinux 3.0 Desktop, porém a placa wireless não foi detectada, então tive que procurar e instalar o driver correto. Nesse HOWTO irei mostrar todos os passos que realizei durante a instalação e configuração.

Passo 1 - Verificando qual é a sua placa. Digite o comando abaixo:

$lspci | grep Ethernet

– O resultado será parecido ou igual a esse:

04:00.0 Ethernet controller: Atheros Communications, Inc. AR5006EG 802.11 b/g Wireless PCI Express Adapter (rev 01)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 01)

Passo 2 - Bom agora que sabemos qual é a sua placa, entre no sítio da Madwifi - http://madwifi.org/wiki/Compatibility, seleciona o modelo de sua placa e verifique se é compativel com o driver da madwifi.

Passo 3 - Bom agora iniciaremos a instalação do driver:

$sudo apt-get install module-assistant wireless-tools linux-headers-$(uname -a)

– Caso o linux-headers-$(uname -a) não funcione, precisamos verificar corretamente qual é a versão do kernel, para isso digite:

$uname -a

– A saída será:

Linux r2-d2 2.6.23.12-dream #1 SMP PREEMPT Fri Jan 18 02:13:57 UTC 2008 i686 GNU/Linux

– Feito isso digite o comando abaixo para procurar o linux-headers correto:

$sudo apt-cache search linux-headers

– A saída será:

linux-headers-2.6-486 - Header files for Linux 2.6 on x86
linux-headers-2.6-686 - Header files for Linux 2.6 on PPro/Celeron/PII/PIII/P4
linux-headers-2.6-686-bigmem - Header files for Linux 2.6 on PPro/Celeron/PII/PIII/P4
linux-headers-2.6-amd64 - Header files for Linux 2.6 on AMD64
linux-headers-2.6-k7 - Header files for Linux 2.6 on AMD K7 - transition package
linux-headers-2.6-xen-686 - Header files for Linux 2.6 on i686
linux-headers-2.6.24-1-486 - Header files for Linux 2.6.24 on x86
linux-headers-2.6.24-1-686 - Header files for Linux 2.6.24 on PPro/Celeron/PII/PIII/P4
linux-headers-2.6.24-1-686-bigmem - Header files for Linux 2.6.24 on PPro/Celeron/PII/PIII/P4
linux-headers-2.6.24-1-all - All header files for Linux 2.6.24
linux-headers-2.6.24-1-all-i386 - All header files for Linux 2.6.24
linux-headers-2.6.24-1-amd64 - Header files for Linux 2.6.24 on AMD64
linux-headers-2.6.24-1-common - Common header files for Linux 2.6.24
linux-headers-2.6.24-1-common-xen - Common header files for Linux 2.6.24
linux-headers-2.6.24-1-xen-686 - Header files for Linux 2.6.24 on i686
r6040-source - RDC R6040 PCI FastEthernet Linux Driver - kernel module sources
rt2400-source - source for rt2400 wireless network driver
rt2500-source - source for rt2500 wireless network driver
linux-headers-2.6.23.12-dream - Header files related to Linux kernel, specifically,

– No meu caso é a que está em negrito, assim é só digitar:

$ sudo apt-get install linux-headers-2.6.23.12-dream

Passo 4 - Bom ai finalizamos a instalação e configuração dos pacotes necessários. Agora digite:

$sudo m-a a-i madwifi

Passo 5 - Pronto a instalação do driver está finalizada. Reinicie o computador.

$sudo init 6 (ou reboot).

Passo 6 - Caso o módulo não carregue automáticamente, digite:

$sudo modprobe ath_pci

– Pronto, a instalação está concluída.

Referência: http://kalasy.wordpress.com/2007/12/20/instalando-madwifi-en-debian-lenny/

Bom fica ai o primeiro post no meu Blog, espero que ajude. Valeu, até a proxima.

Dino Magri

Compartilhando a conexão (eth0 // eth1) 3/Abr/2008

Posted by chavesfop in ltsp.
Tags: , ,
add a comment

Este método foi aplicado na configuração de um servidor LTSP do Fome-Zero, onde uma placa (eth1) recebia a internet, e a outra (eth0) era o servidor DHCP.

Neste caso, você precisa já estar com seu servidor LTSP configurado, aqui apenas iremos instruir a placa eth1 permitir o acesso da eth0 na internet.

modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

crie um script inicializavel com as linhas acima, e a rota eth1 > eth0 estara sendo feita :)

dicas para git e bash 1/Abr/2008

Posted by gallois in debian.
Tags: , ,
add a comment

algumas dicas para você deixar o seu git melhor de usar com o bash

completion
copie ‘etc/bash_completion.d/git’ para ‘~./bash_completion.d/git’

depois adicione as seguintes linhas no ‘~/.bashrc’
PS1=’${debian_chroot:+($debian_chroot)}\u@\h:\w$(git branch &>/dev/null; if [ $? -eq 0 ]; then echo ” ($(git branch | grep ‘^*’ |sed s/\*\ //))”; fi)\$ ‘
. .bash_completion.d/git
a primeira linha e para voce ver o branch que voce esta entre parenteses depois do path.
fiz isso num debian lenny

abracos e ate a proxima

Criando menus e adicionando ícones na barra de ferramentas do gnome 19/Mar/2008

Posted by alfakini in gnome, ubuntu.
Tags: , ,
add a comment

1.1 CONHECENDO OS DIRETÓRIOS

O Menu do Gnome é formado por uma hierarquia de diretórios. Existem 5 diretórios que são fundamentais para a edição e criação de menus e ícones no menu Aplicações do Gnome:

/etc/xdg/menus
/usr/share/desktop-directories
/usr/share/applications
~/.local/share/applications
~/.local/share/desktop-directories

O diretório /etc/xdg/menus contém os arquivos de configuração dos menus. O arquivo mais importante para nós no momento será o applications.menu. Esse arquivo contém o código XML que define o layout dos menus.
O diretório /usr/share/desktop-directories contém os arquivos .directory que representam pastas nos menus e sub-menus.
O diretório /usr/share/applications contém os arquivos .desktop que são responsáveis pelos atalhos dos aplicativos.
O diretório ~/.local/share/applications e ~/.local/share/desktop-directories são semelhantes aos presentes no /usr/share mas contém os arquivos dos menus pessoais de cada usuário.

1.2 CONHECENDO A ESTRUDURA DOS ARQUIVOS .desktop e .directory

O arquivo .desktop é semelhante ao arquivo de atalho .lnk do windows. Esse arquivo segue um padrão definido pela freedesktop.org que é utilizado tanto pelo Gnome quanto pelo KDE. Eles ficam dentro da pasta /usr/share/applications ou dentro da pasta ~/.local/share/applications. Nesses arquivos é que estão contidas as configurações e características do atalho. Abaixo segue um exemplo de configuração do arquivo firefox.desktop:

[Desktop Entry]
Encoding=UTF-8
Name= Firefox
Name[pt_BR]=Navegador Web Firefox
Comment=Browse the World Wide Web
Comment[pt_BR]=Navegue na Internet
GenericName=Web Browser
GenericName[pt_BR]=Navegador Web
Exec=firefox %u
Terminal=false
Type=Application
Icon=firefox.png
Categories=GNOME;GTK;Application;Network;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png
StartupWMClass=Firefox-bin
StartupNotify=true

Explicando cada item:

[Desktop Entry]: É o cabeçalho do arquivo. Ele define o grupo ao qual o arquivo pertence.
Name: Nome do atalho
Name[pt_BR]: Nome do atalho em português do Brasil. Podem ser adicionadas diversas linhas como essa, para especificar a tradução para vários idiomas.
Comment: Comentário do atalho.
Comment[pt_BR]: Comentário em portugês do Brasil. Podem ser adicionadas linhas como essa para várias traduções diferentes.
GenericName: Nome genérico da aplicação.
GenericName[pt_BR]: Tradução do nome genérico.
Exec: Programa a ser executado.
Terminal:true para o programa ser executado em uma janela do terminal, false para não.
Type:Especifica o tipo do atalho. Pode ser: Application, Link ou Directory.
Icon:Icone da aplicação.
Categories:Categoria da aplicação. As principais são: AudioVideo, Audio, Video, Development, Education , Game, Graphics, Network, Office, Settings, System, Utility.
MimeType:MIME types suportados pela aplicação.

Linhas iniciadas por # são interpretadas como comentário
Os arquivos .directory seguem o mesmo padrão dos arquivos .desktop.

1.3 O ARQUIVO applications.menu

O arquivo applications.menu contém o código XML que define o layout dos menus. Abaixo segue um exemplo resumido do arquivo no ubuntu 7.04:

Applications
Applications.directory
/etc/X11/applnk
/usr/share/gnome/apps
/usr/share/control-center-2.0/capplets
/usr/share/applnk

Accessories
Accessories.directory

Utility

System

: Esse é o elemento principal. Este elemento pode conter outros elementos dentro di sí, que significam submenus.
: Nome do menu ou submenus.
: Especifica o arquivo de configuração .directory contido na pasta ../share/desktop-directories que está sendo utilizado.

Agora que conhecemos a configuração dos arquivos, vamos adicionar um SubMenu no Menu Aplicações da barra de tarefas do Gnome e Colocar um ícone dentro do SubMenu criado.

Crie o arquivo Diretorio.directory, seguindo as instruções passadas no capitulo 1.2 e salve-o na pasta /usr/share/desktop-directories:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Directory
Name[pt_BR]=Diretorio
Name=Diretorio

Agora edite o arquivo applications.menu e adicione as seguintes chaves para o submenu:


Pessoal
Diretorio.directory

Pessoal

Agora crie o arquivo Icone.desktop na pasta /usr/share/applications e edite-o seguindo as instruções no capitulo 1.2:

[Desktop Entry]
Encoding=UTF-8
Name=Icone
Version=1.0
Type=Application
Terminal=false
Name[pt_BR]=Icone
Exec=programa
Icon[pt_BR]=/usr/share/pixmaps/icone.png
Icon=/usr/share/pixmaps/icone.png
Categories=Pessoal;

Em Categories coloque Pessoal, que foi a categoria setada para o SubMenu Diretório Pessoal no arquivo applications.menu.
Pronto, se todos os passos foram seguidos corretamente, você um submenu e um icone no Menu Aplicações do Gnome!

1.4 REFERÊNCIAS

http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html