Fechar

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

domingo, 26 de fevereiro de 2012

Preparando o Mint/Ubuntu para desenvolver com Pyqt4

0 comentários

Instalando o PyQt4 no Linux Mint/Ubuntu

Introdução

O PyQt4 é mais uma alternativa para desenvolver aplicações desktop com interface gráfica amigável ao usuário. Suporta Linux e outros sistemas Unix, bem como Mac OS X e Microsoft Windows. 
O PyQt é desenvolvido por British firm Riverbank Computing e está disponível sob termos similares aos Qt 4,5. Isto significa uma variedade de licenças, incluindo GNU General Public License (GPL) e licença comercial, mas não o GNU Lesser General Public License (LGPL).  

A melhor versão do Python atualmente para se trabalhar com PyQt4 é a 2.7 devido a algumas questões de compatibilidade, mas nada impede de se a usar uma versão acima desta.

Neste tutorial foi usado o Linux Mint 12 com Kde 4.8 rodando sobre o kernel  3.0.0-16-generic em um hardware com processador intel  pentium(R) dual CPU @240 Ghz com 4 Gb DDR 3.

Instalando o Python 2.7

Geralmente as distribuições Linux já trazem o Python instalado por padrão, você pode verificar a versão do python com o comando:

evaldo@TUX ~ $ python -vV
Python 2.7.2+


Se você não possuir a versão 2.7 pode instala-la assim:

TUX evaldo # aptitude install python2.7


Instalando as dependências

Com o Python instado, agora precisamos instalar as dependias do PyQt4:

TUX evaldo #  aptitude install python-pip python2.7-dev libxext-dev python-qt4 qt4-dev-tools build-essential qt4-designer  qt4-dev-tools libqt4-dev ibXext


Instando o PyQt4

Vá no site http://www.riverbankcomputing.co.uk/software/pyqt/download e baixe a última versão do PyQt4 e do Sip. (SIP é uma ferramenta de software de código aberto usado para conectar programas de computador ou bibliotecas escritas em C ou C + + com a linguagem Python).

Descompacte os arquivos em algum diretório:

TUX python # tar -xvf PyQt-x11-gpl-4.9.1.tar.gz 

TUX python # tar -xvf sip-4.13.2.tar.gz 

Precisamos instalar primeiro o sip. Entre o diretório onde foi descompactado o arquivo:

TUX python # cd sip-4.13.2/

Se você tiver mais de uma versão do python instalada, especifique com qual versão quer compilar com o seguinte comando:

TUX sip-4.13.2 # python2.7 configure.py ; make ; make install

A instalação do sip é rápido pouco mais de 30~60 segundos dependendo do seu pc.

Após instalar o sip podemos instalar o PyQt4. Acesse o diretório onde descompactou o arquivo e execute o mesmo comando acima:

TUX sip-4.13.2 # cd ../PyQt-x11-gpl-4.9.1/

TUX sip-4.13.2 # python2.7 configure.py ; make ; make install

A instalação do PyQt4 leva em torno de 40 minutos então pode deixar rodando e ir tomar um café :)   

Rodando um teste


Para comprovar que o PyQt4 foi instalado podemos rodar rodar um teste. Salve o codigo abaixo como teste.py:
  
#!/usr/bin/python

# teste.py

import sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)

widget = QtGui.QWidget()
widget.resize(250, 150)
widget.setWindowTitle('simple')
widget.show()

sys.exit(app.exec_())
  
Agora execute:
evaldo@TUX ~ $ chmod +x teste.py 
evaldo@TUX ~ $ ./teste.py 


Resultado:



A documentação do PyQt4 pode ser encontrada aqui .

quinta-feira, 8 de julho de 2010

Auto Complete no apt get e no aptitude

0 comentários
Auto Complete no apt get e no aptitude

O auto complete do shell é um recurso muito útil, então porque não adciona-lo no apt-get e no aptitude para instalar pacotes?
Para usa-lo é preciso habilitar as linhas no arquivo .bashrc que fica no diretório do /root/

if [ -f /etc/bash_completion ]; then
. /etc/bash_completion fi


Ou então copiar diretamente este arquivo para /root/.basrc:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
# don't overwrite GNU Midnight Commander's setting of `ignorespace'.
export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
# ... or force ignoredups and ignorespace
export HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases
#fi

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'

#alias grep='grep --color=auto'
#alias fgrep='fgrep --color=auto'
#alias egrep='egrep --color=auto'
fi

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi


Obs: para usar este recurso é preciso ter o pacote bash-completion instalado!





quarta-feira, 25 de março de 2009

0 comentários
Ás vezes quando trabalhamos com mais de uma partição ou disco rígido, temos a necessidade de que estes sejam montados automaticamente, o que não é feito pelo sistema por motivos de segurnaça. Para resolver esse problema, podemos usar o arquivo fstab que se encontra no diretório /etc/fstab.
O arquivo fstab contém parâmetros sobre as partições que são lidos pelo comando mount.
a sua estrutura é a seguinte:

Sistema_de_arquivos Ponto_de_Montagem Tipo Opções dump ordem

Onde:
Sistema de Arquivos: Partição que deseja montar.
Ponto de montagem: Diretório do GNU/Linux onde a partição montada será acessada.
Tipo: Tipo de sistema de arquivos usado na partição que será montada.
Para partições GNU/Linux use ext2, para partições DOS (sem nomes extensos de arquivos) use msdos, para partições Win 95 (com suporte a nomes extensos de arquivos) use vfat, para unida- des de CD-ROM use iso9660.

Opções: Especifica as opções usadas com o sistema de arquivos. Abaixo, algumas opções de montagem para ext2/3 (a lista completa pode ser encontrada na página de manual do mount):
• defaults - Utiliza valores padrões de montagem.
• noauto - Não monta os sistemas de arquivos durante a inicialização (útil para CD- ROMS e disquetes).
• ro - Monta como somente leitura.
• user - Permite que usuários montem o sistema de arquivos (não recomendado por motivos de segurança).
• sync é recomendado para uso com discos removíveis (disquetes, zip drives, etc) para que os dados sejam gravados imediatamente na unidade (caso não seja usada, você deve usar o comando ‘sync’ on page 78 antes de retirar o disquete da unidade.

dump: Especica a frequência de backup feita com o programa dump no sistema de arquivos. 0 desativa o backup.

Ordem: Define a ordem que os sistemas de arquivos serão verificados na inicialização do sis- tema. Se usar 0, o sistema de arquivos não é verificado. O sistema de arquivos raíz que deverá ser veri?cado primeiro é o raíz “/” .


Mão na massa:
Para editar o fstab, você precisa estar logado como root. Abra um editor de de texto, como por exemplo o vim:
vim /etc/fstab
Para montar a partição "dados" que é uma partição ntfs do windows,vamos usar a seguinte sintaxe:

/dev/hda2 /mnt/dados ntfs user,defaults,rw 0 1

Entendendo:
/dev/hda2 é o dispositivo que queremos montar.
/mnt/dados Diretório onde a partição montada será acessada.
ntfs tipo de sistema de arquivos da partição
user usuários podem montar a partição
defaults padrões do sistema
rw leitura e escrita
0 destiva o bacukp
1 ordem de montagem

Salve o arquivo. (no vim: tecle Esc e em seguida : + x )
Pronto! Agora toda vez que seu sistema inicializar, a partição será montada automaticamente.

E assim permitimos que qualquer usuário do sistema monte a partição hda2 para escrita.

(obs: para se escrever em partições ntfs, é necessário ter instalado o ntfs-3g, do contrário poderá ocorrer perda de dados).


0 comentários

Lazarus: Resolvendo o problema da jpegforlazarus no Linux


Linux user
Esta semana estive inicializando um projeto comercial no Lazarus, e para tal precisava de um componente de pdf.



Encontrei o
powerpdf. Ao instalá-lo, dava erro de dependência de pacote "jpegforlazarus" e no site do Lazarus tem uma informação que diz para você instalar esse pacote que fica no diretório ($lazarus)/componente/jpeg.

Porém o pacote não aparecia para mim, mesmo instalando todos os *.deb. Passei a noite em claro, mas consegui descobrir o motivo: a partir da versão do 0.9.23 do Lazarus, a jpegforlazarus passa a ser incluída na LCL. Por isso no diretório ($lazarus)/componente/jpeg não encontrava nenhuma jpgforlazarus.lpk.

Para resolver este problema, comente todas as referências a Jpeg no pacote do powerpdf:

uses
SysUtils, Classes, Graphics, PdfTypes, PdfDoc, PdfImages;
// {$IFDEF LAZ_POWERPDF}
// jpegforlazarus
// {$ELSE}
// JPEG;
// {$ENDIF}
// ;


Após isso, compile e instale o pacote, ao final, recompile a IDE.


0 comentários

Lazarus: Can't find unit Libc used by...

Linux user
Este erro mostrado no título ocorre quando falta algum pacote que não foi instalado junto com o Lazarus. Para resolver este problema no Debian e derivados.


vá no site do Lazarus no SourceForge.net e baixe os arquivos:
  • fpc-x.x.x-x-debs.tgz
  • lazarus-x.x.xx-x-debs.tar

Onde xxx é a versão mais recente do Lazarus.

Descompacte primeiro em algum diretório o fpc-x.x.x-x-debs.tgz, em seguida entre no diretório descompactado e dê o seguinte comando:

# dpkg -i *.deb

Agora faça o mesmo para lazarus-x.x.xx-x-debs.tar.

Estes passos devem resolver o problema. No link abaixo você encontra vários componentes free para Lazarus:


0 comentários

O poder do root, esse mega super usuário

Linux user
Alguma pessoas não perceberam ainda o poder que tem o root, esse foi o meu caso.



A besteira

Fui apresentado ao Linux em 2004 na universidade, de lá pra cá sempre ouvir dizer:

"o root deve ser usado com cautela e só para operações especiais e manutenção do sistema"

Nunca havia entendido, ou nunca havia percebido como esta frase é verdadeira.

Um belo dia lá estava eu sentado na sala de aula esperando a aula começar, aí lembrei-me que tinha um usuário no meu sistema que eu havia criado para poder emprestar meu laptop. Então decidi remover esse usuário via linha de comando.

Não lembrava quais eram as opções do "deluser", então chamei o --help e vi que tinha uma opção REMOVE_ALL_FILES (apaga todos os arquivos que pertencem ao usuário) e --group (remove um grupo). Não me aprofundei no man.

Para saber o que estas opções poderiam fazer, no entanto, montei meu comandinho:

(NÃO EXECUTE ISSO) # deluser teste --REMOVE_ALL_FILES --group

Dei enter e fui ao banheiro. Quando voltei, levei o maior susto. Tudo havia sido deletado! 80 GB de arquivos... Só havia sobrado o que estava em memória. Até o Windows que eu havia montado para acessar a pasta system32 foi apagado.

Não sei porque motivo o usuário estava no grupo do root. Aí, sem chance de escapar alguma coisa...

Essa foi a maior besteira que fiz em um computador na minha vida. Só não foi maior ainda porque sou precavido e tinha backup de tudo.

Esse dia, eu tive que usar papel e caneta de novo. =)

Fica um alerta aos que não perceberam o poder do root, esse mega super usuário!



1 comentários

Amule, DreaMule, Emule: todos juntos

pelo mesmo arquivo!

Linux user


Sei que como eu, existem pessoas que precisam usar alguma coisa no Windows nativo e às vezes precisa passar um tempo nesse sistema. O problema é quando você esta fazendo um compartilhamento de arquivos P2P e não quer parar de fazer o download. Uma solução é usar Amule, DreaMule e Emule, todos juntos!


No Windows:

Instale o Dreamule ou Emule (eu gosto mais do Dreamule por achar que tem uma performance melhor no download e mais servidores ativos).

Depois de baixar é só abrir e dar next> next >finish no instalador.

Pronto! O Emule/Dreamule está(ão) instalado(s) no Windows!

No Linux:

Instale o amule:

# vim /etc/apt/sources.list

Adicione a linha ao sources.list:

#aMule 2.1.3
deb http://amule-debian.dyndns.org/ debian/

Atualize o apt e instale:

# apt-get update
# apt-get install amule


Configurando a partição/HD do Windows:

Agora precisamos montar a partição ou o HD onde se encontra instalado o Emule/Dreamule no Windows.

Para montar partições NTFS com permissão de escrita você precisa instalar o ntfs-3g. Nesse link você encontra as informações que precisa: Como montar partições NTFS no Linux.

Dica: Sempre tenha um backup dos seus dados antes de instalar qualquer software novo. Isso evita muita dor de cabeça.

Após instalar o ntfs-3g, se quiser quiser que ele monte automaticamente no boot, pode configurar o arquivo fstab para isso:

# vim /etc/fstab

Adicione a linha:

/dev/hda1 /mnt/ntfs ntfs-3g rw,user,auto,umask=000 0 0

Configurando o amule:

Abra o amule (no KDE tecle Alt+F2 e no prompt digite "amule"), clique em preferências -> pastas.

Veja que ele possui 2 campos: Incoming e Temp (no Emule/Dreamule do Windows é a mesma coisa, se você quiser pode alterar esses diretórios, no meu caso deixei em D:\emule).

Incoming é onde ele salva os arquivos completos (é aqui que ficam os arquivos após o término do download) e Temp é o local onde ele salva os arquivos temporários.

Em Incoming coloque o path para o emule que está instalado no Windows. No meu caso:

/media/Dados/eMule/Incoming

e a agora o Temp:

/media/Dados/eMule/Temp

Compartilhando os arquivos que estão na partição/HD do Windows:

No mesmo local acima tem um tem uma árvore de diretórios para compartilhamento. Navegue pelos diretórios e selecione as pastas que deseja compartilhar. Basta clicar com o botão direito para selecionar subdiretórios.

Fecha e abra o amule.

O mesmo arquivo que você baixar no Windows pode continuar a baixá-lo no Linux e vice versa. Simples assim!

E viva a liberdade!

Dica:

Nesta página você encontra um tutorial detalhado sobre o emule: Super tutorial do Emule
Linux: Amule, DreaMule, Emule: Todos juntos pelo mesmo arquivo!

Mais Populares

Seguidores

Є & V. Copyright 2011 Evaldo Avelar Marques - sprintrade network