Plugin para editar textos latex no Vim

Ultimamente tenho sido até chato de tata postagem sobre o vim, agora estou postando sobre um plugin para editar textos LaTeX: http://vim-latex.sourceforge.net/

O plugin me chamou a atenção por sem muito completo, inclusive ele cria placeholders
que são espécies de marcadores para pular para marcas tipo
 <+marca+> Simplesmente use Ctrl-j e ele pula para a marca

Segue abaixo a função.


" place holders snippets
" File Templates
" --------------
" ^J jumps to the next marker
" iabbr for for <+i+> in <+intervalo+>:<+i+>
function! LoadFileTemplate()
"silent! 0r ~/.vim/templates/%:e.tmpl
syn match vimTemplateMarker "<+.\++>" containedin=ALL
hi vimTemplateMarker guifg=#67a42c guibg=#112300 gui=bold
endfunction
function! JumpToNextPlaceholder()
let old_query = getreg('/')
echo search("<+.\\++>")
exec "norm! c/+>/e\"
call setreg('/', old_query)
endfunction
autocmd BufNewFile * :call LoadFileTemplate()
nnoremap :call JumpToNextPlaceholder()a
inoremap :call JumpToNextPlaceholder()a

Plugin para explorar códigos fonte

CCTree : C Call-Tree Explorer - Source-code analysis, real-time display of code flow
http://www.vim.org/scripts/script.php?script_id=2368#.61

Description:
Plugin generates call-trees for any function or macro in real-time inside Vim. (Functionality similar to that seen in other IDEs like
Kscope, Source navigator, Eclipse)

Requirements: 1) Cscope 2) Vim 7.xx

install details
Install details
Installation:
Copy this file to ~/.vim/plugins/
or to /vimfiles/plugins/ (on Win32 platforms)

It might also be possible to load it as a filetype plugin
~/.vim/ftplugin/c/

Need to set :filetype plugin on

Adicionando extensão a um grupo de arquivos

Outro dia postei uma solução (com o find) para adicionar extensão a um grupo de arquivos simplesmente por não lembrar que poderia fazer assim:

rename 's/$/.txt/g' *

O cifrão no comando acima é uma expressão regular que significa final :)

Só para constar segue um meio de criar 100 arquivos (sem extensão)


for ((i=1;i<=100;i++)){
> arquivo$i
}

Vim undo branches

Um novo recurso muito interessante foi adicionado ao vim `a partir da versão 7 (Obs: para cada alteração sugerida saia do modo insert e inicie a nova alteração) é a chamada árvore do desfazer. Suponha que você edite um arquivo assim:

         one ~
|
change 1
|
one too ~
/ \
change 2 change 3
| |
one two me too ~

Se você seguir as alterações propostas acima, ou seja, voltar até alteração 1 e seguir para alteraão 3, verá que o desfazer/refazer linear não resolve todos os seus problemas, isto se deve ao fato de que a maioria dos editores tem um desfazer/refazer linear, ou seja, não pode haver derivação (branch) de alterações, para acessar todas as alterações use

g-  ........ retrocede na árvore de alterações
g+ ........ avança na lista de alterações
Basicamente, os 'branches' nos permitem acessar quaisquer alterações ocorridas no arquivo.

Para mais detalhes acesse:

:h usr_32.txt

Quer mostrar o que é software livre de um jeito fácil?

Acesse este vídeo, veja e impressione-se

Apesar de não ser atual no sentido temporal, é atual por seu conteúdo, nele obtemos informações
impressionantes, como o fato de que o DETRAN do Paraná usa postgresql clusterizado com desempenho 35% superior ao Oracle, que a editora Abril proibiu o portal da Educação do Paraná de citar Monteiro Lobato (porque não pagava royalts).




PyConBrasil3 - Painel: Software livre no governo brasileiro


Painel: Software livre no governo brasileiro Rodrigo Senra ...
49 min -

Classificação 4,8 de 5,0


video.google.com/videoplay?docid=-3795472996587314694

The vim power

Todo dia descobrimos algo novo no vim, o mais legal e que temos a mania de compartilhar :)

Que tal listar todos os txt's do seu home "~/" apenas usando recursos do vim?
 echo expand("~/**/*.txt") 


Agora vamos listar o conteúdo da variável 'var'

Posicione o cursor sobre uma variável 'em modo normal' e pressione

 [i 

Uma função para numerar linhas
Chame-a usando...

 :'<,'>Nlist 

1 "numerar linhas
2 command! -nargs=* -range Nlist <line1>,<line2>call Nlist(<f-args>)
3 function! Nlist(...) range
4 if 2 == a:0
5 let start = a:1
6 let append = a:2
7 elseif 1 == a:0
8 let start = a:1
9 let append = " "
10 else
11 let start = 1
12 let append = " "
13 endif
14
15 " try to work like getline (i.e. allow the user to pass in . $ or 'x)
16 if 0 == (start + 0)
17 let start = line(start)
18 endif
19
20 exe a:firstline . "," . a:lastline . 's/^/\=line(".")-a:firstline+start.append/'
21 endfunction


Outra super dica:
Fiz o trecho acima no próprio vim, no caso o tipo de arquivo é 'vim'

:set ft=vim


Em seguida acessei o menu 'sintaxe >> converter para html", depois abri com firefox
e colei (não em modo html) no blogger

...

Testando o site dpaste.com

Se o código python abaixo lhe parecer legível é sinal de que o teste feito com o site
http://dpast.com/ funcionou, é um site tipo pastebin.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys

try:
origem = sys.argv[1]
destino = sys.argv[2]
except IndexError:
print "Modo de usar: copyfile.py origem destino"
sys.exit(1)

#Exemplo de leitura e gravação de arquivos grandes - usando modo binário
input = file(origem, 'rb')
output = file(destino, "wb")
for line in input:
output.write(line)

#Fechando os arquivos
input.close()
output.close()

Tirando lixo do meu RSS

Estou apagando do meu RSS aqueles blogs que falam muito de window$, simplesmente porque é um assunto inútil para min, caros colegas do Planeta GNU façam o mesmo, este ato provoca uma enorme sensação de bem estar, é como se você tirasse um carma profundamente negativo de sua vida, como de fato é!

sintaxe para txt's deixou meu vim mais lento

Observei que a syntaxe para arquivos txt deixou meu vim mais lento, andei fazendo vários testes e acho que o culpado é o arquivo de syntax, acho que pelo fato de ter muitas expressões regulares ou sei lá, mas vou à partir de agora ir apagando gorduras, coisas que coloquei no meu vimrc só por curiosidade ou vaidade, a regra agora é manter o mínimo possível para um bom anbiente de trabalho . . .

. . . Explicando melhor: Ao usar as teclas de direção "j" e "k" a rolagem estava engasgando, ao remover a sintaxe o problema sumiu.

Find + Xargs de novo!

adicionando extensão a arquivos
Eu tinha um monte de arquivos sem extensão e queria colocar
no final txt, segue a solução.


find ./ -maxdepth 1 -type f -print0 | xargs -0 -i mv ./{} ./{}.txt


A vantagem desta abordagem é que o find entrega uma lista pronta
para o xargs, assim um arquivo já renomeado não pode sofrer novamente
a alteração em questão. Outra vantagem é que fica tudo em uma mísera linha.

Solução usando o rename

rename 's/$/.txt/g' *

O cifrão é uma expressão regular que significa final do padrão buscado!

Que tal seus txt's coloridos?

Bom, o Aurélio Marinho Jargas (Verde) um Neerd de plantão, há um tempo atráz postou no seu site um arquivo de syntax para arquivos txt (claro que estou falando do vim né?). Por estes dias achei um plugin com um propósito parecido, trata-se do plugin Note Maker que usa a extensão de arquivos ".notes", mas eu pensei cá com meus botões...

Que tal se eu juntasse as idéias do Aurélio e desse plugin?
Pois é, fiz a junção e deu nisso:
http://www.mediafire.com/?onkyrmmkhnq


Na minha opinião a grande vantágem disto é que você pode ter um texto
visualmente organizado, com uma extrutura semântica que lhe propicia
melhor entendimento, desta forma suas anotações passa a ter um grande valor!

Fui além e copiei quase toda a sintaxe para o plugin potwiki que é um wiki
para o vim, peguei essa syntax e colei dentro do plugin citado acima.

http://www.mediafire.com/?o2mv3ymycqo

E como é que uso o plugin potwiki?
\ww ................. abre o index
\\ ...................... fecha a página atual
WikiWord ................. gera um link

Quanto à "WikiWord" acho que já deu pra perceber, é uma palavra que começa
com uma letra em maiúsculo e que tem outra letra em maiúsculo no meio, por exemplo:


ManualSquid .................. automaticamente fica colorido


Basta dar um enter para ir para a página recem criada

A página inicial e extensão dos arquivos podem ser definidas no seu vimrc assim:

let potwiki_home = "~/wiki/HomePage"
let potwiki_suffix =".txt"
...

Corretor ortográfico para o vim 7.1

O Fernando Ribeiro publicou em seu blog um passo-a-passo sobre como habilitar a verificação ortográfica no vim 7.1

Estou reproduzindo aqui com algumas dicas a mais:

1. É necessário o dicionário do broffice (vero).
2. Descompacte o arquivo no seu home.
3. Abra o vim e digite :mkspell pt pt_BR
4. Ele irá "compilar" os arquivos e gerar o arquivo pt.utf-8.spl
5. sudo cp ~/pt.utf-8.spl /usr/share/vim/vim71/spell/
6. echo 'set spell spelllang=pt' >> ~/.vimrc

 ]s ............. vai para a próxima palavra
zg ............. adiciona palavra
zw ............. retira palavra
z= ............. sugestões

Para definir a quantidade de sugestões do spell

set sps=10
Para detalhes
:h sps


Para ver todas as dicas sobre vim clique aqui:
http://vivaotux.blogspot.com/search/label/vim
...

Uma bela fonte

File:AndaleMono.svg

Quem tiver essa fonte me manda o link por favor!

Esta outra chama-se 'pragmata'

Pragmata™ at 12pt Antialiased
...

Você conhece o ma.gnolia?

Que tal armazenar todos os favoritos em um único site?
Mas isso não dá certo, como vou gerenciar centenas de links?

O ma.gnolia tem marcadores, isso vai permitir que você busque assim:

http://ma.gnolia.com/people/voyeg3r/tags/vim, themes

Assim, no meio de centenas de páginas ele vai mostrar os marcadores "vim" e "themes"

Essa janelinha aí aparece ao clicar em um link que arrastei para a barra de favoritos, chamado mini.marker.

Bom fica a dica: http://ma.gnolia.com

Fundação Mozilla rebate críticas à seguraça do firefox

da Folha Online

O relatório divulgado na última quinta-feira (11) pela empresa Bit9, intitulado "Aplicativos mais populares de 2008 com vulnerabilidades críticas" foi duramente criticado pelos usuários e pela comunidade Mozilla. O documento indica supostas vulnerabilidades críticas de segurança em aplicativos.

A Folha Online teve acesso, nesta segunda-feira (15), a uma nota oficial da Mozilla sobre o relatório. Nela, a fundação diz que "existem alguns problemas com a metodologia da Bit9 que dificultam a capacidade de tirar conclusões válidas".

"É um teste ineficaz, uma vez que privilegia empresas de software que escondem suas vulnerabilidades de segurança. A Mozilla concentra uma grande quantidade de energia em códigos de segurança universal, e mantém a reputação em matéria de segurança; não brincamos com isso", informa a nota, que também foi publicada no blog de segurança da fundação.

Reprodução
É um teste ineficaz, privilegia empresas de software que escondem suas vulnerabilidades"
"É um teste ineficaz; privilegia softwares que escondem suas vulnerabilidades", diz a nota

O relatório da Bit9 apontou os aplicativos que apresentam vulnerabilidades de segurança, se baseando em critérios como funcionalidade no Windows, o fato de ser conhecido no mercado e alvo de muitos downloads pelo consumidor, e também o fato de não ser classificado como produto malicioso pelas organizações de TI e empresas de segurança foram alguns dos critérios utilizados pela empresa para testar os softwares.

Outros dois critérios --a atualização via Windows Update e a lista de falhas ocorridas em 2008-- foram colocados em questão pela Mozilla. "Essas falhas ocorreram durante o ano, mas foram corrigidas alguns dias depois de serem anunciadas. Relatórios de bug não devem ser um substituto para a medição real de segurança", diz a nota.

"O processo de segurança da Mozilla envolve identificação, testes e liberação de atualizações de segurança para manter os usuários seguros. Fazemos isso em público para que as pessoas possam escrutinar nossos processos, e ajudar a torná-los melhor. Sugerir que esta abertura é uma fraqueza porque temos as "vulnerabilidades relatadas" pelo usuário é uma afirmação fora da realidade", diz o comunicado.

Segundo a Mozilla, é "falho" um dos critérios utilizados para composição do relatório da Bit9, que se refere à atualização de software do navegador. "O Firefox não integra o WSUS [sigla de Windows Server Update Services, atualizações do sistema Windows], mas o mecanismo de atualização do Firefox não requer intervenção do usuário, e vemos 90% de atualizações automáticas autorizadas, quando estas são lançadas."

A Microsoft foi procurada, por intermédio de sua assessoria, pela Folha Online, para comentar o relatório da Bit9, uma vez que são empresas parceiras. Até a publicação do texto, a empresa não havia se pronunciado sobre o assunto.

Quem assistiu à palestra do Natal Livre acesse este link

http://neacm.fe.up.pt/pub/ledstyle/
 
No link indicado você pode baixar as vídeo-aulas de que falei
...

Excelente artigo sobre ctags + taglist no vim

Visite o link abaixo e delicie-se com as possibilidades :)
http://www.otubo.net/2008/04/vim-taglist-e-ctags-programando-com.html

Curiosamente achei este outro bom artigo:
http://www.caiomoritz.com/2008/02/09/o-poder-da-exuberant-ctags-aliada-ao-vim/

Artigo sobre o plugin surrounding no vim

Surround é um plugin que permite fazer coisas assim:


Texto Comando Novo Texto
--------------- ------- -----------
"Hello |world!" cs"' 'Hello world!'
"Hello |world!" cs" Hello world!
(123+4|56)/2 cs)] [123+456]/2
(123+4|56)/2 cs)[ [ 123+456 ]/2

Achei esta pérola aqui:
http://www.catonmat.net/blog/vim-plugins-surround-vim/

Combatendo o FUD

Vamos tecer algumas considerações...
Você sabe o que é FUD?

Vem do inglês MEDO, INCERTEZA e DÚVIDA
O Lula foi vítima de fud durante muitos anos, diziam:

  • Ele vai mudar a cor da bandeira do brasil (medo) (nos rincões isso funcionava acreditem!)
  • Será que um analfabeto vai saber governar? (dúvida)
  • Não estou bem certo se um metalúrgico terá boa visão administrativa (incerteza)
O curioso é que o coitado do Geraldo Alkmin acabou sendo vítima do mesmo e talvez não saiba.
Mas vamos aos Fatos: O Brasil vai crescer este ano acima de 6% enquanto os EUA tiveram um decréscimo do PIB no último trimestre, como dizem os juristas, contra fatos não há argumentos.

Agora saiba que o navegador Firefox vem sendo alvo de FUD:
  1. Uma empresa parceira da Microsoft (bit9 é parceira Microsoft) publica um artigo mal fundamentado
    dizendo que ele é o navegador mais vulnerável de 2008

  2. As principais instituições especializadas em segurança dizem exatamente o contrário, que o Internet
    Explore é o mais inseguro - veja este pequeno artigo: http://www.softwarelivre.org/news/2681

Esquema de cores do vim de acordo com o horário

http://vim.wikia.com/wiki/Use_different_color_schemes_depending_on_time_of_day

A lógica aqui é a seguinte:
A parte que não está dentro da função é lida no carregamento do vim
a outra parte e executada quando você passa um tempo em inatividade em modo
normal.


let hr= strftime("%H")
if 0 <= hr && hr <= 3
colors google
elseif 4 <= hr && hr <= 7
colors colorful
elseif 8 <= hr && hr <= 14
colors inkpot
elseif 15 <= hr && hr <= 18
colors quagmire
else
colors neverness
endif

fun! TimeColorscheme()
let hr= strftime("%H")
if 0 <= hr && hr <= 3
colors google
elseif 4 <= hr && hr <= 7
colors colorful
elseif 8 <= hr && hr <= 14
colors inkpot
elseif 15 <= hr && hr <= 18
colors quagmire
else
colors neverness
endif
endfun
au! CursorHold *.* :call TimeColorscheme()

Fixando o ip de suas placas de rede

Você está todo contente porque configurou seu proxy, em uma bela hora descobre que o squid
parou de bloquer o orkut, será um erro de configuração do squid? Mas como se ontem estava funcionado. É que o linux ao reiniciar está trocando a ordem das placas de rede, a interface
eth0 passou a ser eth1 e vice-versa.

A princípio a solução no mundo Debian seria 'ifrename', mas o ubuntu agora usa 'udev'
tanto é verdade que baixei o pacote deb do 'ifrename' e na hora que rodei o dpkg ele reclamou de conflito com udev, dái foi só um pouco de dedução para perceber que o modo de fixar o ip da placa agora é outro.

assim procure em:

/etc/udev/rules.d/XXpersistent-net.rule

e copie o MAC obtido com o comando ifconfig

Veja também: Classificando a odem das placas de rede no linux

Empresa que afirma ser firefox produto inseguro é parceira da Microsoft

Esta postagem é baseada neste link do blog http://dbit.com.br/blog/
leia o artigo original, eu recomendo a todos!

Uma empresa que é parceira da Microsfot, inclusive com Certificação dada pela empresa de Bill Gates não tem ideoneidade moral para dizer o que é ou não seguro!

Bit9, que foi a empresa responsável pelo “estudo” mencionado no artigo da INFO Online, de acordo com seu próprio website, é uma Microsoft Certified Partner (Parceira Certificada Microsoft) e também é Windows Embedded Partner, conforme vocês podem ver neste link.

Espero quetodos os blogs do Planeta GNU/Linux publiquem algo sobre esta armação!
assim o feitiço vira contra o feiticeiro, pois se as pessoas souberem que isto é mais uma
artimanha para tertar reverter o crescimento do firefox o bicho vai pegar pro lado deles.


Doses homeopáticas do vim

Que tal abrir um arquivo já na linha 10 por exemplo?

vim +10 /caminho/para/o/arquivo

Ou ainda abrir na linha que contém um determinado padrão?

vim +/padrão arquivo

Obs: caso o padrão tenha espaços no nome coloque entre parênteses ou use escape "\" a fim de não obter erro.

Movendo um trecho de forma inusitada

:20,30m 0

Amado vim pegue o trecho que vai da linha 20 até a linha 30 e mova para a posição zero
do arquivo atual.

:.,15m $

Da linha atual até a linha 15 mova para o final :)

:/pattern1/,/pattern2/d

Da linha contendo o padrão 1 até a linha que contém o padrão 2 delete

:50,$m.-3

Da linha 50 até o final do arquivo '$' mova 'm' até três linha antes da linha atual '.'

:30,80w novoarquivo.txt

:70,90w >> novoarquivo.txt

:'a,'b g/^Error/ . w >> errors.txt

O comando acima busca no trecho compreendido entre a marca 'a' e a marca 'b'
no começo de linha "^" pela palavra 'Error" pega a linha atual onde está o erro '.'
e joga ao final do arquivo 'erros.txt'

:1,20co $

O trecho acima copia 'co' da linha ' 1 até 20 lá no final '$' do arquivo corrente


Vamos agora fazer uma substituição somente nas linhas em que ocorre um padrão...

:g/pattern/s/old/new/g

Imagine agora que estou editando um arquivo que diz...

edite o arquivo /etc/hosts

Neste caso, posiciono o cursor sobre a palavra hosts e pressiono:

Control-w-f

... E o vim abre em nova janela o arquivo pra min :)


Ufa, essa aventura do vim de hoje foi demais, não é mesmo?

Esquema de cores para o vim no estilo google




Link: http://www.vim.org/scripts/script.php?script_id=2454

Plugin para exibir a documentação do python no vim

http://www.vim.org/scripts/script.php?script_id=910

Alterando a cor da barra de status no vim


" Ao entrar em modo insert ele muda a cor da barra de status
" altera a cor da linha de status dependendo do modo
if version >= 700
au InsertEnter * hi StatusLine term=reverse ctermbg=5 gui=undercurl guisp=Magenta
au InsertLeave * hi StatusLine term=reverse ctermfg=0 ctermbg=2 gui=bold,reverse
endif

Referência: wikia

Sete hábitos para edição efetiva

Seven habits of effective text editing
Habits

O que já consegui tornar um hábito:
  • Abrir o último arquivo editado com '0
  • Usar marcas antes de mover-me no documento (facilita voltar àquele ponto)
  • Paginar com Ctrl-f e Ctrl-b
  • Paginar comandos do histórico com setas acima e abaixo
  • Fechar janelas com Ctrl-w-q
  • Pesquisar e configurar plugins para facilitar minha vida
  • Ler constantemente blogs e arquivos de ajuda sobre o vim
  • Tornar o vim meu editor para tudo :)
  • Usar macros
  • Criar abreviações
  • Criar autocomandos
  • Melhorar constantemente meu vimrc
Tem muito mais coisa mas de cara o que lebrei foi isto

Autocrítica

Nós apaixonados pelo Software Livre, movidos pela força dessa paixão, por vezes exageramos. André Noel "amigo que não conheço pessoalmente" me alertou em um comentário e retirei a postagem sobre "Dicas windows no Planeta GNU/Linux". Mas moçada vamos ser coerentes com nossa filosofia OK? Peço desculpas se passei dos limites!

Havia feito uma postagem refefindo-me a uma dica do Moisés Fontana
sobre windows que foi publicada em seu blog e acabou sendo veiculada no Planeta GNU/Linux, espero não ter feito tanto estrago, a intenção foi tão somente preservar a nossa filosofia. Ao Moisés Fontana peço desculpas, não gosto de flames e discussões muito longas. Valeu!

Clube da esquina

Um blog para quem gosta de MPB, ROCK PROGRESSIVO e FUSION
já coloquei nos meus favoritos.

O link: http://clubedsquina.blogspot.com/

Estilo css para códigos no blogger

Andei pesquisando como alterar o visual dos códigos
postados aqui e cheguei a este resultado...


/* estilo do texto pré formatado */
.post code {
white-space:pre;
background-color:#eee;
color:#007;
font-weight: bold;
}

/* estilo do texto pré formatado */
.post pre {
background-color:#eee;
color:#007;
font-weight: bold;
}

Comando global no vim

Que tal pegar caracteres numericos e jogar no final do arquivo?

:g/^\d\+.*/m $

O comando acima procura um ou mais dígitos no começo da linha ^\d\+
seguido de qualquer caractere ".*" e move 'm' para o final do arquivo "$"

e como fazer para inverter a ordem das linhas do arquivo?

:g/^/m0

O comando acima procura um começo de linha "^"
e move "m" para a linha inicial "0"

Como apagar as linhas que contém "Line commented"

:g/Line commented/d

O comando acima procura pelo padrão "Line commented" e deleta 'd'

Como pegar as linhas que começam com "Capitulo + número"

:global /^Capítulo [0-9]$/ . w >> index.txt

O comando acima procura por linhas começadas "^" com
"Capítulo" e terminadas com números "[0-9]$"
ao encontrar a linha "." joga a mesma ">>" para o arquivo index.txt

Como copiar determinado pardrão para um registro

:g/pattern/ normal "Ayy

O comando acima procura por "pattern" e em modo normal
copia "yy" para o registro 'A' '"A'

:'a,'bm $

Da marca 'a' até a marca 'b' mova para o final '$'

Copiar uma linha que contém um padrão e a linha subsequênte

:g/padrão/;+1 copy $ 



global /^/ + delete

This :global starts off by marking every line. When it goes to
line 1, the command it executes will delete line 2.
The next undeleted marked line is line 3, where
its command deletes line 4, and so on. Or if you
want to delete two-thirds of the lines in your file, type:

global /^/ + , ++ delete


 :g/^/exec "s/^/".line(".") Replacing start of line with line number

Para ler todas as dicas postadas aqui no blog sobre o vim acesse:

http://vivaotux.blogspot.com/search/label/vim

Veja também:
http://www.dicas-l.com.br/dicas-l/20081228.php
http://www.networkcomputing.com/unixworld/tutorial/009/009.part3.html
http://www.math.wm.edu/~leemis/vi.ref
...

Notas sobre py3k

http://versaopropria.blogspot.com/2008/12/python-3000-python-30-e-py3k.html
http://www.python.org/dev/peps/pep-3101/ (english)
O que há de novo no python 3000 em inglês
Tutorial

Tributo a grandes poetas da música brasileira

Clicando na imagem abaixo você acessa o cd 1, descobri este link
aqui (newbrasilmedia)



O primeiro cd é dedicado a Ary Barroso


Para acessar os demais visite o site:
http://newbrasilmidia.blogspot.com/2008/12/tributo-grandes-poetas-da-msica.html

Não resiti e publico também o link para...

Que tal uma dica de saúde?

Os desenganados de bico de papagaio, nervo ciático, coluna e calcificação, tem agora cura perfeita, indolor, fácil e barata

Cloreto de Magnesio Um Santo Remedio

Inskscape inspiration

Desculpem o erro de grafia inicial ao invés de escrever 'all' coloquei 'wall'



Baixe a versão em SVG aqui.
Acesse no flickr neste link.
Ipernity here.
Picasa web version.

Tutorial do gimp online

Uma boa pedida para quem quer se aprofundar um pouco
mais no gimp, basta acessar este link:
http://razgrizbox.wordpress.com/category/gimp-tutorial/

Me chamou atenção em especial este manual:
http://razgrizbox.wordpress.com/2008/04/21/a-pequena-luz/

Máscara de contraste no gimp

fonte: http://pedroac.blog.com/gimp/

Video-aula no blip.tv, baixe aqui.



1. criar uma camada duplicada;
2. dessaturar a camada superior;
3. inverter as cores dessa camada;
4. aplicar desfocagem Gaussiana nessa camada (valor entre 10 e 30);
5. usar o modo "Sobrepor" na camada;
6. ajustar o contraste;
7. achatar as camadas;

Antes


Depois


Dica: Antes de achatar a imagem você pode ajustar brilho e/ou contraste
na camada de contraste.

O passo-a-passo pode ser acompanhado (em inglês) aqui:
http://www.gimp.org/tutorials/ContrastMask/

Has the world changed, or have I changed ?

Quem achar esta foto em tamanho grande me manda tá?

Um jumento também tem beleza.


Um jumento também tem beleza., originally uploaded by vandevoern.

Esse visual, para quem conhece o sertão cearense é emblemático.

Gimp - Você sabia que ...



Cara, esse link eu já havia acessado há um bom tempo e agora que estou me
preparando para o natal livre estou indicando para todos, não deixe de ler, um dia
você vai precisar de uma dessas dicas.

http://www.vivaolinux.com.br/dica/O-Gimp-voce-sabia-que.../

Além das dicas do link acima veja como no gimp 2.6 ficou fácil remover olhos vermelhos:

Filtros > Realçar > Remoção de olhos vermelhos

Natal livre

No evento "Natal Livre" vou falar sobre Gimp e Inkscape, preparei uma apresentação de apoio, mas acho que o uso das ferramentas será mais efetivo, estou aguardando opiniões para fechar o modelo de exposição.





http://natallivre2008.blogspot.com/

Natal Livre
View SlideShare presentation or Upload your own. (tags: software livre natal livre)

Ubuntu 8.10 64bit Linux


Ubuntu 8.10 64bit Linux, originally uploaded by omgitsmit.

Vá se ferrar!

Os contrastes do Brasil

Se somo referência em Software Livre, podería-mos ser mais ainda se o
nosso povo tivesse mais educação. Lembre-se de falar nas palestras que
o povo brasileiro em sua grande maioria joga lixo no chão, isso mesmo
pessoas andando em carros novinhos abrem seus vidros elétricos e "elegantemente"
jogam lixo pela janela. É o cúmulo da decadência capitalista.

Inicie sua campanha: "Antes de ensinar a usar GNU/Linux ensine
a jogar lixo na lixeira", porque o movimento do software livre é
um movimento irmão dos movimentos ecológico e por cidadania.

Screenshot


Screenshot, originally uploaded by hostmaster.

Uma tela para você guardar nos cliparts

Steam train/Dampflok (HDR)


Steam train/Dampflok (HDR), originally uploaded by xollob58.

gostou?

Wild landscape


Wild landscape, originally uploaded by little_frank.

Esta foto é de uma grandiosidade estupenda!

Northern Cape Landscape (Aloe habitat)

Não resisti a essas cores!

Dia mundial anti-micro$oft

A gigante vem divulgando o dia mundial anti-pirataria
e a Free Software Fundation suger o dia mundial anti-microsoft

link: https://www.fsf.org/blogs/community/global-anti-user-day

Plugins para o gimp em um comando

O site: http://registry.gimp.org/

aptitude -y install gimp-plugin-registry

Instalando esta belezinha você já ganha por exemplo o plugin liqud-rescale
Outra dica: Consegui importar um svg criado no inkscape sem problemas. :)

Redimensionar e converter grupos de imagens
http://xoomer.alice.it/lwcon/gimp/scripts/auto-convert-and-resize.htm


finestra di dialogo auto-convert-and-resize plugin

Criando uma moldura no gimp

Abra uma imagem com o atalho Control-O e selecione tudo Control-A
Acesse então o menu Seleção >> Encolher...

Marque 30 px OK



Inverta a Selecão com o atalho Control-i
Preencha a área selecionada com a cor branca



Selecione tudo com o atalho Control-A
Acesse o menu Filtros >> Sombra e Luz >> Sombra projetada

Ferramenta para busca e substituição - regexxer

http://regexxer.sourceforge.net/

Uma ferramenta ao meu ver muito útil veja uma imagem para entender melhor
http://regexxer.sourceforge.net/images/regexxer-screenshot.png

Como criar um avatar usando o Gimp

Postei no scribd o manual acessem:

Avatar Com o Gimp
Get your own at Scribd or explore others: Technology avatar Gimp

No final cadastre-se no site http://pt.gravatar.com e publique lá seu avatar

O poder do SED

Nesta pequena lição sobre o amado comando SED vamos usar como base
uma dica passada pelo Andre Noel sobre como consertar os atalhos do mouse
e do terminal.

Dica 1: O sed pode editar direto o arquivo com o parâmetro '-i'

sed -i

Dica 2: O sed pode executar uma ação mediante uma condição

sed -i '/^casa/ s/grande/pequena/g' arquivo.txt

No comando acima a condição é que a linha comece com a palavra 'casa'
e a substituição (que é nossa ação) manda substituir uma coisa totalmente
diversa de casa, mas 'casa' foi a condição sacou?

Tomando como base estas duas dicas + a dica do Andre Noel experimentemos
o comando que segue:

sed -i '/^X-Ubuntu-Gettext-Domain=gnome-terminal/ s/^/#/g' \
/usr/share/applications/gnome-terminal.desktop

Ao invés de casa o padrão
/^X-Ubuntu-Gettext-Domain=gnome-terminal/
Ao invés de 'grande' indicamos a substituição de um começo de linha '^'
por um comentário no arquivo /usr/share/applications/gnome-terminal.desktop

Agora só falta o mouse que segue a mesma lógica.

sed -i '/^X-Ubuntu-Gettext-Domain=gnome-control-center-2.0/ s/^/#/g' \
/usr/share/applications/gnome-settings-mouse.desktop

Um brinde:

# Parando os consoles de 3 a 6 e o control-alt-delete
sed -i '6,7s/^start/stop/g' /etc/event.d/tty[3-6]
sed -i '/shutdown/ s/^/#/g' /etc/event.d/control-alt-delete


#Resolvendo problema do navegador offline do firefox
# referência http://andregondim.eti.br/?p=574
# fonte: http://andregondim.eti.br/?p=555

sed -i.backup ‘/^allow send_interface=”org.freedesktop.NetworkManager/ s/allow/deny/g’ \
/etc/dbus-1/system.d/NetworkManager.conf

# resolvendo problema no aptitude

wget http://launchpadlibrarian.net/19491146/aptitude-defaults.pt_BR -O /usr/share/aptitude/aptitude-defaults.pt_BR



Gostaria de deixar aqui um agradecimento especial ao Aurélio Marinho Jargas
que através de seus manuais de Expressões Regulares e do próprio SED me deram
a condição de lhes passar agora esta dica.

Quase esquecia de mandar o link do SED How To feito pelo Aurélio:
http://aurelio.net/sed/sed-HOWTO/index.html

Quando vier a Fortaleza faça uma tattoo com o Ricardo

KALEIDOSCOPE STUDIO
Rua franklin távora, 604 centro, fortaleza ceará - fone: 85 32531806

Um dos tatuadores é o Ricardo meu irmão mais novo, não é porque é meu
irmão não, pois até o jornal OPovo já fez matéria sobre o Stúdio:
http://www.opovo.com.br/opovo/guiavidaearte/624119.html

R. Franklin Távora, 604 - Centro
Fortaleza - CE, 60150-110

maps.google.

Conhece os screenlets?

Peço desculpas pelo erro de digitação no título da postagem, que só foi detectado agora!

Aqueles relógios e firulas na tela, do tempo do kurumin linux, ou do Mac que a Microsoft imitou agora com o windows vista, agora dá pra lembrar né? mais ou menos como abaixo...




No intrepid como tenho os repositórios extras habilitados bastou:

aptitude install screenlets
Aplicações > Acessórios > Screenlets

O site oficial do projeto é:
http://www.screenlets.org/index.php/Home

Referência:
http://dicasdenerd.wordpress.com/2007/05/03/deixe-seu-desktop-mais-bonito-com-o-screenlets/

Limitando o tamanho dos downloads no squid

Acesse o artigo completo aqui.

No meu servidor funcionou beleza, a cada dia sou mais
odiado pelos usuários, isto é sinal de que o squid está incomodando
muita gente :)

########################################################
#### LIMITANDO O TAMANHO DOS DOWNLOADS NO SQUID ########
########################################################
# Link
# acl que define arquivos do tipo "texto puro" e "html":

acl html rep_mime_type text/html

# download sem restrições para a acl html:
reply_body_max_size 0 allow html

# 100Mb para os usuários administradores:
reply_body_max_size 104857600 allow adminUsers


# 10Mb para os demais usuários:
reply_body_max_size 10485760 allow all

########################################################

Um belo tema de ícones para o Intrepid

http://hbons.deviantart.com/art/Discovery-Icon-Theme-77399781
link direto:
http://www.deviantart.com/download/77399781/Discovery_Icon_Theme_by_hbons.zip




Natal Livre - Um natal diferente!
:: 13 de Dezembro 2008 ::
http://natallivre2008.blogspot.com/

" Se você tem uma maçã e eu tenho uma maçã e, em seguida, trocarmos as
maçãs, eu e você ainda teremos uma maçã cada um. Mas se você tem uma idéia e
eu tenho uma idéia e trocarmos essas idéias, então cada um de nós terá duas
idéias. "

Script para instalar codecs no Ubuntu Intrepid Ibex

Por favor dêem sugestões:

Obs: Por favor não me venham com "Acrobat Reader" o Evince dá de 10 a zero!


#!/bin/bash
# vim:ft=sh:
# Criado em:qua 19/nov/2008 hs 08:48
# Last Change: Dom 23 Nov 2008 15:46:16 BRT
# Proposito do script: instalar codecs no ubuntu intrepid
# Autor: Sérgio Luiz Araújo Silva
# site: http://vivaotux.blogspot.com

# copiei a maioria dos comandos do scritp
# http://hamacker.wordpress.com/script-ubuntu-perfeito/

# cabeçalho
INICIO=`date +%d-%m-%Y+%H:%M`

echo " ( O O )"
echo " +===========oOO==(_)==OOo==============+"
echo " | |"
echo " | °v° Sergio Luiz Araujo Silva |"
echo " | /(_)\ Linux User #423493 |"
echo " | ^ ^ voyeg3r  gmail.com |"
echo " +======================================+"
echo " Script de instalação"
echo " veja aqui o que deu certo e o que não deu na sua"
echo " instalação de programas e codecs"
echo " script iniciado: "
echo " $INICIO"

## adicionado o repositório mediabuntu
echo "adicionando repositório medibuntu"
wget http://www.medibuntu.org/sources.list.d/intrepid.list -O /etc/apt/sources.list.d/medibuntu.list
apt-get update
apt-get -y install medibuntu-keyring && apt-get update

# corrigindo o erro do aptitude
# http://andregondim.eti.br/?p=574
wget http://launchpadlibrarian.net/19491146/aptitude-defaults.pt_BR -O /usr/share/aptitude/aptitude-defaults.pt_BR

# resolvendo problema do firefox entrar offline
sed -i.backup '/^allow send_interface=”org.freedesktop.NetworkManager/ s/allow/deny/g' \
/etc/dbus-1/system.d/NetworkManager.conf

# consertando os atalhos do mouse e do terminal
sed -i '/^X-Ubuntu-Gettext-Domain=gnome-terminal/ s/^/#/g' \
/usr/share/applications/gnome-terminal.desktop

# mouse
sed -i '/^X-Ubuntu-Gettext-Domain=gnome-control-center-2.0/ s/^/#/g' \
/usr/share/applications/gnome-settings-mouse.desktop

# ferramentas administrativas
aptitude -y install aptoncd
aptitude -y install ssh nmap sshfs smbfs
aptitude -y install lshw-gtk
aptitude install nautilus-open-terminal
aptitude -y install vim-gnome vim-doc

# particionador gparted
aptitude -y install gparted

# inkscape e imagemagic
aptitude -y install inkscape imagemagick

# smbfs permite usuários comuns mapearem unidades de rede
# apenas usuários do grupo fuse podem mapear unidades de rede !
# Verifica se a linha
# user_allow_other
# ja foi incluida em /etc/fuse.conf
echo "Adicionando permissões para usuários comuns mapearem unidades de rede"
EXISTE=`cat /etc/fuse.conf |grep -x "user_allow_other"|wc -l`
if [ "$EXISTE" -eq "0" ] ; then
echo "# Permite usuarios comuns mapearem unidades de rede"
echo "user_allow_other"
fi

# tutor de digitação klavaro
aptitude -y install klavaro

# repositório do cinelerra
# deb http://akirad.cinelerra.org akirad-intrepid main
# echo "#deb-src http://akirad.cinelerra.org akirad-intrepid main"

# openoffice 3
# repositório do openoffice 3
# deb http://ppa.launchpad.net/openoffice-pkgs/ubuntu intrepid main
# deb-src http://ppa.launchpad.net/openoffice-pkgs/ubuntu intrepid main"

# necessário para abrir arquivos via rede
aptitude -y install openoffice.org-gnome
aptitude -y install openoffice.org-gtk

# dicionário para o novo openoffice
#http://ufpr.dl.sourceforge.net/sourceforge/cogroo/CoGrOO-AddOn-3.0.1-bin.oxt

#apt-get -y install openoffice.org-calc
#apt-get -y install openoffice.org-common
#apt-get -y install openoffice.org-core
#apt-get -y install openoffice.org-draw

#apt-get -y install openoffice.org-help-en-gb
#apt-get install -y openoffice.org-help-pt
#apt-get install -y openoffice.org-help-pt-br
#apt-get install -y openoffice.org-hyphenation
#apt-get install -y openoffice.org-hyphenation-en-us
#apt-get install -y openoffice.org-impress
#apt-get install -y openoffice.org-l10n-common
#apt-get install -y openoffice.org-l10n-en-gb
#apt-get install -y openoffice.org-l10n-en-za
#apt-get install -y openoffice.org-l10n-pt
#apt-get install -y openoffice.org-l10n-pt-br
#apt-get install -y openoffice.org-style-andromeda
#apt-get install -y openoffice.org-style-crystal
#apt-get install -y openoffice.org-style-human
#apt-get install -y openoffice.org-style-industrial
#apt-get install -y openoffice.org-style-tango
#apt-get install -y openoffice.org-thesaurus-en-au
#apt-get install -y openoffice.org-thesaurus-en-us
#apt-get install -y openoffice.org-writer

# sudo gedit /usr/bin/ooffice
# omente a linha (#/usr/lib/openoffice/program/soffice “$@”) inserindo a linha abaixo:
# opt/broffice.org3/program/soffice “$@”

# idiomas
apt-get -y remove language-pack-en language-pack-en-base language-pack-gnome-en language-pack-gnome-en-base
apt-get -y install language-pack-pt language-pack-pt-base language-support-pt language-pack-gnome-pt

# ferramentas para programadores
#aptitude -y install git-core curl ctags build-essential dpkg-dev debhelper devscripts fakeroot
#aptitude -y install dh-make bzip2 kernel-package linux-headers-`uname -r`
sudo aptitude install build-essential bin86 kernel-package \
libqt3-headers linux-headers-`uname -r` libqt3-mt-dev wget libncurses5 libncurses5-dev
#aptitude -y install bin86 libqt3-headers libqt3-mt-dev libncurses5-dev subversion beep
#aptitude -y install exuberant-ctags camorama dh-make wget module-assistant hdparm smartmontools mtools

# plugin flash
aptitude -y install flashplugin-nonfree

# geranciador da área de transferência glipper
aptitude -y install glipper

# descompactadores#{{{
aptitude -y install unace rar unrar zip unzip p7zip-full
p7zip-rar sharutils aish uudeview mpack lha arj cabextract file-roller zoo
#}}}

# remasterizar a distro#{{{
# aptitude -y install remastersys
#}}}

# codecs multimidia#{{{
aptitude install -y mpeg2dec a52dec vorbis-tools id3v2 mpg321 mpg123 libflac++6 ffmpeg cdda2wav toolame libmp4v2-0
aptitude -y install ubuntu-restricted-extras
aptitude install -y libmjpegtools0c2a id3tool lame
aptitude install -y libsnack2 libmad0 libjpeg-progs libmpcdec3 libquicktime1 flac faac faad sox toolame
aptitude install -y a52dec ffmpeg2theora libmpeg2-4 uudeview flac libmpeg3-1 mpegdemux
aptitude install -y libasound2-plugins libsdl-sound1.2 libsdl-mixer1.2 libsdl-image1.2 libsdl-pango1
aptitude -y install gstreamer0.10-ffmpeg gstreamer0.10-fluendo-mp3 gstreamer0.10-fluendo-mpegdemux gstreamer-tools
aptitude -y install gstreamer0.10-gnonlin gstreamer0.10-plugins-bad gstreamer0.10-plugins-farsight
aptitude -y install gstreamer0.10-plugins-ugly gstreamer0.10-sdl gstreamer0.10-plugins-bad-multiverse
aptitude -y install gstreamer0.10-schroedinger gstreamer0.10-plugins-ugly-multiverse totem-gstreamer
aptitude install -y w32codecs
#DOWNLOAD_URL="http://packages.medibuntu.org/pool/non-free/w/w64codecs/w64codecs_20071007-0medibuntu2_amd64.deb"
#DOWNLOAD_URL="http://www.debian-multimedia.org/pool/main/w/w32codecs/w32codecs_20071007-0.1_i386.deb"
#}}}

# Instalando o Navegador Firefox em Português do Brasil#{{{
# vlc e plugin para o firefox
aptitude install -y --force-yes mozilla-firefox-locale-pt-br
aptitude -y install filezilla filezilla-locales
aptitude -y install vlc
aptitude -y install vlc-plugin-pulse
aptitude -y install vlc-plugin-alsa
aptitude -y install vlc-nox -y vlc-plugin-sdl
aptitude -y install mozilla-plugin-vlc
#}}}

# conversor de formatos#{{{
# aptitude -y install winff
#}}}

# player audacious#{{{
#aptitude -y install audacious
#aptitude -y install audacious-crossfade
#aptitude -y install audacious-plugins-extra
#aptitude -y install audacious-plugins-ugly
#}}}

# mplayer#{{{
aptitude -y install mplayer mplayer-fonts mplayer-skins smplayer
#}}}

# dvdcss e desativação de DRMs#{{{
aptitude install -y libdvdcss2
aptitude install -y libdvdread3
#}}}

# captura e converão de vídeo#{{{
aptitude -y install ffmpeg xvidcap
#}}}

# relógios e calendários flutuando na tela#{{{
# aplicações >> acessórios >> screenlets
aptitude -y install screenlets
#}}}

# cliente bittorrent deluge#{{{
aptitude -y remove trasnmission trasnmission-gtk
aptitude -y install deluge-torrent
#}}}

# ícones no desktop#{{{
echo " habilitando os ícones no desktop"
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type bool --set "/apps/nautilus/desktop/computer_icon_visible" "true"

# gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
# --type bool --set "/apps/nautilus/desktop/network_icon_visible" "true"

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type bool --set "/apps/nautilus/desktop/home_icon_visible" "true"

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type bool --set "/apps/nautilus/desktop/trash_icon_visible" "true"
#}}}

# Monitores LCD podem ter a exibição das fontes melhoradas#{{{
gconftool-2 ---direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/desktop/gnome/font_rendering/antialiasing" "rgba"

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/desktop/gnome/font_rendering/hinting" "slight"

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/desktop/gnome/font_rendering/rgba_order" "rgb"
#}}}

# Monitores CRT podem ter a exibição das fontes melhoradas#{{{
#gconftool-2 --type string --set "/desktop/gnome/font_rendering/antialiasing" "grayscale"
#gconftool-2 --type string --set "/desktop/gnome/font_rendering/hinting" "full"
#gconftool-2 --type string --set "/desktop/gnome/font_rendering/rgba_order" "rgb"
#}}}

# tema de ícones discovery#{{{
# http://hbons.deviantart.com/art/Discovery-Icon-Theme-77399781
echo " baixando o tema de ícones Discovery"
wget -c http://www.deviantart.com/download/77399781/Discovery_Icon_Theme_by_hbons.zip
unzip Discovery_Icon_Theme_by_hbons.zip
mv Discovery /usr/share/icons/
find "/usr/share/themes/Discovery" -type f -exec chmod 644 {} \;
#}}}

# tema de ícones padrão, tema gtk e política de cliques#{{{
echo "definindo ícones padrão e clique único"
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/desktop/gnome/interface/icon_theme" "Discovery"
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/desktop/gnome/interface/gtk_theme" "Clearlooks"
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/apps/nautilus/preferences/click_policy" "single"
#}}}

# fonte liberation#{{{
echo " baixando a fonte liberation"
aptitude -y install "ttf-liberation"
# Ajusta as fontes da tela para aplicar as fontes Liberation
echo " ajustando as fontes"
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/desktop/gnome/interface/document_font_name" "Liberation Sans 10"

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/desktop/gnome/interface/font_name" "Liberation Sans 10"

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/desktop/gnome/interface/monospace_font_name" "Liberation Mono 10"

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/apps/metacity/general/titlebar_font" "Liberation Sans Bold 10"

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type bool --set "/apps/metacity/general/titlebar_uses_system_font" "true"

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type string --set "/apps/nautilus/preferences/desktop_font" "Liberation Sans 10"
#}}}

# control-alt-delete abrindo gnome-system-monitor#{{{
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
-t str --set /apps/metacity/global_keybindings/run_command_9 "Delete"

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
-t str --set /apps/metacity/keybinding_commands/command_9 "gnome-system-monitor"

#gconftool-2 -t str --set /apps/compiz/general/allscreens/options/run_command9_key "Delete"
#gconftool-2 -t str --set /apps/compiz/general/allscreens/options/command9 "gnome-system-monitor"
#}}}

# corrigindo o nome das pastas no desktop
# ainda por fazer
# Nome das pastas ou como deveriam ficar
# Isto é usando neste script para por exemplo quando
# for arrumar os nomes de pastas descobrir qual era
# o nome da pasta antiga e para que novo nome deverá ficar
# poderá usar sua própria definição se preferir, para isso
# basta alterar os nomes de pastas abaixo :
echo "corigindo as pastas do gnome"
if [ "$intrepid" = "1" ] ; then
NOME_PASTA_DESKTOP_ANTES="Desktop"
else
NOME_PASTA_DESKTOP_ANTES="Área de Trabalho"
fi
NOME_PASTA_DESKTOP_DEPOIS="Desktop"
NOME_PASTA_DOWNLOADS_ANTES="Downloads"
NOME_PASTA_DOWNLOADS_DEPOIS="docs/downloads"
NOME_PASTA_MODELOS_ANTES="Modelos"
NOME_PASTA_MODELOS_DEPOIS="/docs/modelos"
NOME_PASTA_PUBLICA_ANTES="Pública"
NOME_PASTA_PUBLICA_DEPOIS="/docs/publica"
NOME_PASTA_DOCUMENTOS_ANTES="Documentos"
NOME_PASTA_DOCUMENTOS_DEPOIS="docs"
NOME_PASTA_MUSICAS_ANTES="Músicas"
NOME_PASTA_MUSICAS_DEPOIS="/docs/musicas"
NOME_PASTA_IMAGENS_ANTES="Imagens"
NOME_PASTA_IMAGENS_DEPOIS="/docs/img"
NOME_PASTA_VIDEOS_ANTES="Vídeos"
NOME_PASTA_VIDEOS_DEPOIS="/docs/videos"
NOME_PASTA_EXEMPLOS_ANTES="Examples"
NOME_PASTA_EXEMPLOS_DEPOIS="/docs/exemplos"

[ -f /etc/xdg/user-dirs.defaults ] && mv /etc/xdg/user-dirs.defaults /etc/xdg/user-dirs.defaults.$config_date
echo "# Configuracao padrao para pastas de usuarios" >/etc/xdg/user-dirs.defaults
echo "#">>/etc/xdg/user-dirs.defaults
echo "# Os valores sao caminhos relativos partindo como referencia o">>/etc/xdg/user-dirs.defaults
echo "# home-dir do usuario e qualquer referencia em ingles será">>/etc/xdg/user-dirs.defaults
echo "# traduzido automaticamente para o idioma deste usuario">>/etc/xdg/user-dirs.defaults
echo "DESKTOP=$NOME_PASTA_DESKTOP_DEPOIS">>/etc/xdg/user-dirs.defaults
echo "DOWNLOAD=$NOME_PASTA_DOWNLOADS_DEPOIS">>/etc/xdg/user-dirs.defaults
echo "TEMPLATES=$NOME_PASTA_MODELOS_DEPOIS">>/etc/xdg/user-dirs.defaults
echo "PUBLICSHARE=$NOME_PASTA_PUBLICA_DEPOIS">>/etc/xdg/user-dirs.defaults
echo "DOCUMENTS=$NOME_PASTA_DOCUMENTOS_DEPOIS">>/etc/xdg/user-dirs.defaults
echo "MUSIC=$NOME_PASTA_MUSICAS_DEPOIS">>/etc/xdg/user-dirs.defaults
echo "PICTURES=$NOME_PASTA_IMAGENS_DEPOIS">>/etc/xdg/user-dirs.defaults
echo "VIDEOS=$NOME_PASTA_VIDEOS_DEPOIS">>/etc/xdg/user-dirs.defaults
echo "# Opcoes alternativas:">>/etc/xdg/user-dirs.defaults
echo "#MUSIC=$NOME_PASTA_DOCUMENTOS_DEPOIS/$NOME_PASTA_MUSICAS_DEPOIS">>/etc/xdg/user-dirs.defaults
echo "#PICTURES=$NOME_PASTA_DOCUMENTOS_DEPOIS/$NOME_PASTA_IMAGENS_DEPOIS">>/etc/xdg/user-dirs.defaults
echo "#VIDEOS=$NOME_PASTA_DOCUMENTOS_DEPOIS/$NOME_PASTA_VIDEOS_DEPOIS">>/etc/xdg/user-dirs.defaults

for USER in `ls /home`; do
# renomeando as pastas antigas, se existirem
[ -d "/home/$USER/$NOME_PASTA_DESKTOP_ANTES" ] && mv "/home/$USER/$NOME_PASTA_DESKTOP_ANTES" "/home/$USER/$NOME_PASTA_DESKTOP_DEPOIS"
[ -d "/home/$USER/$NOME_PASTA_DOWNLOADS_ANTES" ] && mv "/home/$USER/$NOME_PASTA_DOWNLOADS_ANTES" "/home/$USER/$NOME_PASTA_DOWNLOADS_DEPOIS"
[ -d "/home/$USER/$NOME_PASTA_MODELOS_ANTES" ] && mv "/home/$USER/$NOME_PASTA_MODELOS_ANTES" "/home/$USER/$NOME_PASTA_MODELOS_DEPOIS"
[ -d "/home/$USER/$NOME_PASTA_PUBLICA_ANTES" ] && mv "/home/$USER/$NOME_PASTA_PUBLICA_ANTES" "/home/$USER/$NOME_PASTA_PUBLICA_DEPOIS"
[ -d "/home/$USER/$NOME_PASTA_DOCUMENTOS_ANTES" ] && mv "/home/$USER/$NOME_PASTA_DOCUMENTOS_ANTES" "/home/$USER/$NOME_PASTA_DOCUMENTOS_DEPOIS"
[ -d "/home/$USER/$NOME_PASTA_MUSICAS_ANTES" ] && mv "/home/$USER/$NOME_PASTA_MUSICAS_ANTES" "/home/$USER/$NOME_PASTA_MUSICAS_DEPOIS"
[ -d "/home/$USER/$NOME_PASTA_IMAGENS_ANTES" ] && mv "/home/$USER/$NOME_PASTA_IMAGENS_ANTES" "/home/$USER/$NOME_PASTA_IMAGENS_DEPOIS"
[ -d "/home/$USER/$NOME_PASTA_VIDEOS_ANTES" ] && mv "/home/$USER/$NOME_PASTA_VIDEOS_ANTES" "/home/$USER/$NOME_PASTA_VIDEOS_DEPOIS"
[ -d "/home/$USER/$NOME_PASTA_EXEMPLOS_ANTES" ] && mv "/home/$USER/$NOME_PASTA_EXEMPLOS_ANTES" "/home/$USER/$NOME_PASTA_EXEMPLOS_DEPOIS"
[ -d "/home/$USER/Desktop" ] && mv "/home/$USER/Área de Trabalho" "/home/$USER/$NOME_PASTA_DESKTOP_DEPOIS"
# criando as novas pastas, se elas nao existirem
! [ -d "/home/$USER/$NOME_PASTA_DESKTOP_DEPOIS" ] && mkdir "/home/$USER/$NOME_PASTA_DESKTOP_DEPOIS"
! [ -d "/home/$USER/$NOME_PASTA_DOWNLOADS_DEPOI" ] && mkdir "/home/$USER/$NOME_PASTA_DOWNLOADS_DEPOI"
! [ -d "/home/$USER/$NOME_PASTA_MODELOS_DEPOIS" ] && mkdir "/home/$USER/$NOME_PASTA_MODELOS_DEPOIS"
! [ -d "/home/$USER/$NOME_PASTA_PUBLICA_DEPOIS" ] && mkdir "/home/$USER/$NOME_PASTA_PUBLICA_DEPOIS"
! [ -d "/home/$USER/$NOME_PASTA_DOCUMENTOS_DEPOIS" ] && mkdir "/home/$USER/$NOME_PASTA_DOCUMENTOS_DEPOIS"
! [ -d "/home/$USER/$NOME_PASTA_MUSICAS_DEPOIS" ] && mkdir "/home/$USER/$NOME_PASTA_MUSICAS_DEPOIS"
! [ -d "/home/$USER/$NOME_PASTA_IMAGENS_DEPOIS" ] && mkdir "/home/$USER/$NOME_PASTA_IMAGENS_DEPOIS"
! [ -d "/home/$USER/$NOME_PASTA_VIDEOS_DEPOIS" ] && mkdir "/home/$USER/$NOME_PASTA_VIDEOS_DEPOIS"
! [ -d "/home/$USER/$NOME_PASTA_EXEMPLOS_DEPOIS" ] && mkdir "/home/$USER/$NOME_PASTA_EXEMPLOS_DEPOIS"

# acertando permissoes
chown $USER "/home/$USER/$NOME_PASTA_DESKTOP_DEPOIS"
chown $USER "/home/$USER/$NOME_PASTA_DOWNLOADS_DEPOIS"
chown $USER "/home/$USER/$NOME_PASTA_MODELOS_DEPOIS"
chown $USER "/home/$USER/$NOME_PASTA_PUBLICA_DEPOIS"
chown $USER "/home/$USER/$NOME_PASTA_DOCUMENTOS_DEPOIS"
chown $USER "/home/$USER/$NOME_PASTA_MUSICAS_DEPOIS"
chown $USER "/home/$USER/$NOME_PASTA_IMAGENS_DEPOIS"
chown $USER "/home/$USER/$NOME_PASTA_VIDEOS_DEPOIS"
chown $USER "/home/$USER/$NOME_PASTA_EXEMPLOS_DEPOIS"
if [ -f "/home/$USER/.config/user-dirs.dir" ] ; then
chown $USER /home/$USER/.config/user-dirs.dirs
chmod 770 $USER /home/$USER/.config/user-dirs.dirs
fi

done


# java
aptitude -y install sun-java6-bin
aptitude -y install sun-java6-fonts
aptitude -y install sun-java6-jre
# aptitude -y install sun-java6-jdk
aptitude -y install sun-java6-plugin
aptitude -y install icedtea6-plugin
update-alternatives --config java; update-alternatives --config javac

# temas para o gdm
echo "baixando temas para o gdm"
echo " Instalando novo tema para o GDM : Ubuntu Professional v2"
if ! [ -d "/usr/share/gdm/themes/Ubuntu Professional v2" ] ; then
do_download "http://www.gnome-look.org/CONTENT/content-files/81130-Ubuntu%20Professional%20v2.tar.gz"
tar zxvf "$PASTA_TMP/81130-Ubuntu%20Professional%20v2.tar.gz" -C /usr/share/gdm/themes
fi

echo " Instalando novo tema para o GDM : NewWave"
if ! [ -d "/usr/share/gdm/themes/NewWaveGdm" ] ; then
wget -c "https://wiki.ubuntu.com/Artwork/Incoming/Intrepid/NewWave?action=AttachFile&do=get&target=new-wave-gdm05.tar.gz"
tar zxvf "$PASTA_TMP/NewWave?action=AttachFile&do=get&target=new-wave-gdm05.tar.gz" -C /usr/share/gdm/themes
fi

echo " Instalando novo tema para o GDM : Intrepid Ibex"
if ! [ -d "/usr/share/gdm/themes/NewWaveGdm" ] ; then
wget -c http://gnome-look.org/CONTENT/content-files/87580-IntrepidList.tar.bz2
tar jxvf "$PASTA_TMP/NewWave?action=AttachFile&do=get&target=new-wave-gdm05.tar.gz" -C /usr/share/gdm/themes
fi

Como localizar 'arquivos' que não obedeçam a um padrão?

Essa pergunta surge no seguinte contexto:

Você baixou por exemplo a biblioteca de imagens openclipart
que tem uma versão 'full', nesta versão além dos arquivos svg
vem também arquivos 'png', 'txt', 'pdf' entre outros, eu queria
fazer um cd para o Natal Livre 2008 e para diminuir o tamamnho
precisava deixar apenas os arquivso com extensão 'svg', fiz assim:

find ./clipart -type f -iregex '.*\.[^svg]$' | xargs -rm f

O find está buscando na pasta clipart por arquivos
'-type f' que obedeçam à expressão regular '.*\.[^svg]$'

O significado da expressão regular por sua vez é:

.* ......... qualquer caractere em qualquer quantidade
\. ......... seguido de um ponto
[^svg] ..... não seguido de svg (negação)
$ ........... seguido de final de linha

O xargs pega blocos de tamanho aceitáveis para a memória
evitando estouro de pilha e entrega para o comando de remoção
'rm'

A biblioteca openclipart tem muitas subpastas e agora eu
queria saber a quantidade de arquivos únicos

find ./clipart/ -type f -iregex ".*\.svg$" | xargs -i basename ./{} | sort | uniq | wc -l

linux-cookbook

Grupos do Google
Participe do grupo linux-cookbook
E-mail:
Visitar este grupo