This user hasn't shared any biographical information
Inkscape 0.48 no Ubuntu 10.04
Publicado em Gráficos em 2011-03-24
No Ubuntu 10.04 o versão do Inkscape no repositório oficial é a 0.47. A versão mais recente, a 0.48, tem vários recursos legais que não existiam na versão anterior. Um exemplo é quando você arrasta uma imagem para dentro do desenho, ele pergunta se você deseja somente fazer um link ou salva-la dentro do arquivo SVG.
Para ter a versão mais recente do Inkscape em seu computador, é simples, vá em Aplicativos » Central de Programas do Ubuntu » Editar » Canais de software. Sua senha será solicitada. Agora vá em Outro software » Adicionar, aparecerá uma janela, copie e cole a linha abaixo no campo Linha do APT:
ppa:lucid-bleed/ppa
Clique em Adicionar canal e depois em Fechar, aparecerá uma janela, clique em Recarregar. Assim que o programa fechar, você deve seguir um dos procedimentos abaixo. O primeiro é para quem não tinha uma versão antiga do Inkscape já instalada, ou seja, será feita uma nova instalação. A segunda é para quem já tinha o Inkscape instalado, mas deseja atualiza-la para a versão 0.48.
- Para fazer uma nova instalação: vá em Aplicativos » Central de Programas do Ubuntu. Uma janela será aberta e na parte superior direita dela tem um campo com uma lupa, nele você deve digitar “Inkscape” (sem as aspas). Aparecerá uma lista, encontre o Inkscape nessa lista e clique em Instalar (nesse ponto, talvez o sistema solicite sua senha). No lado esquerdo da janela aparecerá duas setas verdes girando, isso quer dizer que o programa está sendo baixado e instalado. Assim que as setas pararem de girar, significa que seu Inkscape 0.48 está pronto para ser usado.
- Para atualizar uma instalação já existente: Vá em Sistema » Administração » Gerenciador de atualizações e clique em Instalar atualizações. Agora que as atualizações já estão instaladas, seu Inkscape 0.48 está pronto para ser usado.
Para abrir o Inkscape, você pode encontra-lo em Aplicativos » Gráficos » Editor de Imagens Vetoriais Inkscape.
Caso, assim como eu, você não goste de ficar fazendo tudo pelo modo gráfico, abra o terminal (Acessórios » Terminal) e digite:
$ sudo add-apt-repository ppa:lucid-bleed/ppa $ sudo apt-get update && sudo apt-get install inkscape
Dúvidas? Deixe um comentário.
Linux: Capturando imagem da tela do computador pelo terminal
Publicado em Sistema em 2011-03-23
Para capturar a imagem, usaremos o scrot. No Ubuntu ou Debian, você pode instala-lo com o comando:
$ sudo apt-get install scrot
Como usar:
$ scrot -q 90 nome_do_arquivo.jpg
No exemplo acima foi feito uma captura de tela com a qualidade de 90% e salvo como nome_do_arquivo.jpg. Trocando a extensão do aquivo, o tipo de arquivo também é mudado.
Com o script abaixo, você consegue espionar a tela do computador, tirando uma foto por minuto. Teste e veja e que acontece.
#!/bin/bash while [ 1 == 1 ] do IMAGE_PATH='/tmp' IMAGE_QUALITY=90 CURRENT_DATE=`date +%Y/%m/%d` CURRENT_TIME=`date +%H-%M-%S` TIME_OUT=60 mkdir -p $IMAGES_PATH/$CURRENT_DATE scrot -q $IMAGE_QUALITY $IMAGES_PATH/$CURRENT_DATE/$CURRENT_TIME.jpg sleep $TIME_OUT done
Dúvidas? Deixe um comentário.
Foi usado como referência:
http://askubuntu.com/questions/6558/what-screenshot-tools-are-available/6635#6635
Ativando bash-completion no Ubuntu ou Debian
Publicado em Sistema em 2011-03-23
É bem legal quando você quer instalar um pacote com o apt-get, mas você não sabe exatamente o nome do pacote, então você digita o começo do nome e tecla Tab e o sistema completa automaticamente o restante. Isso também serve para completar nome de programas ou argumentos.
Sem comentários, isso simplesmente muda sua vida como usuário de terminal. Este recurso já vem ativado no Ubuntu e no Debian, mas não para o root. Se você usa o root com frequência, fica chato ter que adivinhar alguns comandos. Então, que tal ativar o bash-completion para ele também? Vamos para a prática? Entre como root, com um dos comandos abaixo.
$ su
ou
$ sudo su
Agora vamos editar o arquivo .bashrc desse usuário.
# nano /root/.bashrc
Adicione no final do arquivo as seguintes linhas:
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi
Agora tecle Ctrl+O e depois Enter, para salvar o arquivo. Para sair do editor de texto, tecle Ctrl+X. Agora feche a sessão do usuário root.
# exit
Agora se você entrar novamente como root, o recurso já estará ativado, completando os comandos quando você teclar Tab. Essa dica também pode ser usada em outras distribuições, mas algumas vezes é necessário instalar o bash-completion.
Dúvidas? Deixe um comentário.
Instalando o sudo no Debian
Publicado em Sistema em 2011-03-23
Pra quem usa o terminal no Ubuntu, o sudo é uma mão na roda, já que você pode executar programas como root sem precisar ficar trocando de usuário. Se você instalou só o sistema básico do Debian, ele não virá com sudo ou modo gráfico, ou seja, perfeito para montar um servidor. Para instalar o sudo, digite no terminal:
$ su Senha: (digite a senha do root) # apt-get update # apt-get install sudo # exit
Agora ele já está instado, mas não está pronto para ser usado, falta incluir seu usuário na lista dos permitidos. Para ter certeza qual é o nome do seu usuário digite:
$ whoami
Agora vamos permitir que seu usuário use o sudo, para isso editaremos o arquivo /etc/sudoers.
$ su Senha: (digite a senha do root) # nano /etc/sudoers
Abaixo das linhas
# User privilege specification root ALL=(ALL) ALL
Adicione a linha abaixo (substituindo “rafael” pelo nome do seu usuário)
rafael ALL=(ALL) ALL
Agora tecle Ctrl+O e depois Enter, para salvar o arquivo. Para sair do editor de texto, tecle Ctrl+X. Agora feche a sessão do usuário root.
# exit
Com seu usuário, vamos testar se tudo deu certo executando um comando qualquer com o sudo.
$ sudo apt-get update [sudo] password for rafael: (digite a senha do seu usuário)
Dúvidas? Deixe um comentário.
Firefox 8 no Ubuntu 10.04 e 10.10
Publicado em Redes e Internet em 2011-03-23
Acesse meu novo blog: LinuxLTS.com
Para ter a versão mais recente do Mozilla Firefox em seu computador, é simples, vá em Aplicativos » Central de Programas do Ubuntu » Editar » Canais de software. Sua senha será solicitada. Agora vá em Outro software » Adicionar, aparecerá uma janela, copie e cole a linha abaixo no campo Linha do APT:
ppa:mozillateam/firefox-stable
Clique em Adicionar canal e depois em Fechar, aparecerá uma janela, clique em Recarregar. Assim que o programa fechar, vá em Sistema » Administração » Gerenciador de atualizações e clique em Instalar atualizações.
Agora que as atualizações já estão instaladas, o Firefox 8.0 já substituiu o 3.6, mas tem um problema (para maioria dos brasileiros isso é um problema) ele está todo em inglês. Se isso acontecer basta clicar aqui para baixar o pacote de idioma do português do Brasil (basta baixar usando o Firefox 4.0 e automaticamente pedirá para instalar). Feche e abra o Firefox para que a mudança entre em vigor.
Vá em Firefox » Preferências » Preferências » Conteúdo » Idiomas » Selecionar… e verifique se os idiomas estão nessa ordem:
Português/Brasil [pt-br] Português [pt] Inglês/Estados Unidos [en-us] Inglês [en]
Se não estiver, adicione os faltantes para que fique assim. Isso serve para que os site mostrem a página na língua que você fala.
Caso, assim como eu, você não goste de ficar fazendo tudo pelo modo gráfico, abra o terminal (Acessórios » Terminal) e digite:
$ sudo add-apt-repository ppa:mozillateam/firefox-stable $ sudo apt-get update && sudo apt-get upgrade
Dúvidas? Deixe um comentário.
Foi usado como referência:
http://www.omgubuntu.co.uk/2011/03/firefox-4-ppa-for-ubuntu-10-04-and-10-10-users/
http://www.ubuntudicas.com.br/blog/2011/03/firefox-4-versao-final-e-lancada/
C++: Medindo intervalo de tempo em milissegundos no Linux, exemplo rápido
Publicado em Programação em 2011-03-17
1 segundo / 1000 = 1 milissegundo
1 segundo / 1000000 = 1 microssegundo
#include <iostream>
#include <sys/time.h>
using namespace std;
int main()
{
struct timeval Inicio, Fim;
double Segundos, Milissegundos, Microssegundos;
/* Coleta a data de inicio do processo */
gettimeofday(&Inicio, NULL);
/*
* Seu programa faz alguma coisa,
* nesse caso ele só faz esperar 2 segundos
*/
sleep(2);
/* Coleta a data de fim do processo*/
gettimeofday(&Fim, NULL);
/* Calcula o espaço de tempo */
Segundos = Fim.tv_sec - Inicio.tv_sec;
Microssegundos = Fim.tv_usec - Inicio.tv_usec;
/* Transforma segundos e microssegundos em milissegundos */
Milissegundos = Segundos * 1000 + Microssegundos / 1000;
cout << "O programa demorou " << Milissegundos << " milissegundos" << endl;
}
A saída será mais ou menos esta:
O programa demorou 2000.07 milissegundos
Para compilar use:
$ g++ -i nome_do_executável nome_do_arquivo_fonte.cpp
Dúvidas? Deixe um comentário.
Foi usado como referência:
http://pt.wikipedia.org/wiki/Segundo
http://stackoverflow.com/questions/588307/c-obtaining-milliseconds-time-on-linux-clock-doesnt-seem-to-work-properly/588377#588377
C++: Convertendo inteiro (int) em string, exemplo rápido
Publicado em Programação em 2011-03-17
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
string NomeDoFilme = "Rambo";
int Versao = 4;
/* Converte inteiro em string */
std::stringstream Resultado;
Resultado << Versao;
/* Une as duas strings, formando uma só */
NomeDoFilme = NomeDoFilme + " " + Resultado.str();
/* Exibi o resultado */
cout << NomeDoFilme << endl;
}
A saída será:
Rambo 4
Para compilar use:
$ g++ -i nome_do_executável nome_do_arquivo_fonte.cpp
Dúvidas? Deixe um comentário.
Linux: Limpando cache da memória RAM
Publicado em Sistema em 2011-03-17
Vou usar como exemplo um servidor que eu tenho. Ele já está ligado a 52 dias e algumas horas, como mostrado abaixo, veja que ele está usando 272MB de memória RAM.
$ uptime
09:40:22 up 52 days, 16:46, 3 users, load average: 0.10, 0.04, 0.01
$ free -m
total used free shared buffers cached
Mem: 293 272 20 0 93 114
-/+ buffers/cache: 65 228
Swap: 572 20 551
Agora vamos limpar o cache:
$ sudo su # echo 3 > /proc/sys/vm/drop_caches # exit
Resumindo os comandos acima, eu entrei como root, limpei a cache e saí (só isso). Agora vamos ver o resultado:
$ free -m
total used free shared buffers cached
Mem: 293 64 228 0 0 10
-/+ buffers/cache: 53 239
Swap: 572 20 551
Depois da limpeza, o consumo de memória ficou 4 vezes menor, ou seja, 208MB a menos.
Dúvidas? Deixe um comentário.
Foi usando com referência:
http://www.vivaolinux.com.br/dica/Limpando-sua-memoria-cache-de-forma-simples/
DNS dinâmico no Linux
Publicado em Redes e Internet em 2011-03-15
Para quem tem internet com IP dinâmico (aquele que muda toda vês que você conecta à Internet), quando se está fora de casa (no seu trabalho ou até mesmo em outro país) é meio complicado conseguir acessar o computador que está em sua casa. O IP muda o tempo todo, e você não sabe mais qual é o IP atual. Qual é a solução para isso? Usar DNS dinâmico, dessa maneira sempre que você apontar para um endereço específico, ele sempre apontará para seu computador.
Como isso funciona? Simples, de tempo em tempo um programa conecta com o seu provedor de DNS dinâmico, identificando-se o passando o novo IP. A partir deste ponto o domínio é apontado para este novo IP. Para este exemplo, usaremos o No-IP como prestador de serviço de DNS dinâmico.
Primeiro cadastre se no site http://www.no-ip.com e depois vá em Hosts/Redirects » Add Host. Aparecerá uma tela solicitando algumas informações. No campo “Hostname” digite o nome do seu domínio (ficará mais ou menos assim: exemplo.zapto.org) e depois clique em “Create Host”.
Agora vamos instalar em seu computador o programa responsável em informar o novo IP para o sistema do No-IP. Ele pode ser baixado no próprio site ou através do comando abaixo:
$ wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
Descompacte o aquivo usando:
$ tar -zxvf noip-duc-linux.tar.gz
Todos os comandos abaixo deverão ser executados com o usuário root (ou usando sudo). Copie o executável para /usr/local/bin/, isso fará que o programa seja simplesmente por “noip” ao invés de precisar passar a localização do executável. Para copiar o arquivo, se seu sistema for 32bits use:
# cp -a noip-2.1.9-1/binaries/noip2-i686 /usr/local/bin/noip
Mas se for 64bits use:
# cp -a noip-2.1.9-1/binaries/noip2-x86_64 /usr/local/bin/noip
Agora vamos configurar o programa, digite:
# noip -C -c /etc/noip.conf
Sendo que o “-C” se significa criar e o “-c” aponta para o arquivo de configuração. Depois de executar esse comando aparecerá:
Auto configuration for Linux client of no-ip.com. Multiple network devices have been detected. Please select the Internet interface from this list. By typing the number associated with it. 0 eth0 1 eth1 2 ppp0
Caso você tenha mais de uma interface de rede em seu computador, será necessário informar qual delas será usada, para isso digite o número correspondente de depois tecle Enter. Será solicitado que você identifique-se com usuário e senha:
Please enter the login/email string for no-ip.com rafael@exemplo.com Please enter the password for user 'rafael@exemplo.com' **********
Se você tiver mais de um domínio cadastrado ele perguntará qual será usado, responda sim (y) ou não (n):
2 hosts are registered to this account. Do you wish to have them all updated?[N] (y/N) n Do you wish to have host [exemplo1.no-ip.org] updated?[N] (y/N) y Do you wish to have host [exemplo2.zapto.org] updated?[N] (y/N) n
Depois ele pergunta se você quer executar alguma coisa quando o IP for atualizado, eu sempre respondo não.
Do you wish to run something at successful update?[N] (y/N) n
Aparecerá a mensagem abaixo, informando que o aquivo de configuração foi criado.
New configuration file '/etc/noip.conf' created.
Para executar o programa use:
# noip -c /etc/noip.conf &
Caso você queira que o programa seja iniciado assim que o computador for ligado, edite o arquivo /etc/rc.local adiconando noip -c /etc/noip.conf & antes do exit 0. Devera ficar mais ou menos assim:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. noip -c /etc/noip.conf & exit 0
Dúvidas? Deixe um comentário.
Foi usando com referência:
http://www.hardware.com.br/dicas/servicos-dns-dinamico.html
C++: Arrays estilo PHP, exemplo rápido
Publicado em Programação em 2011-03-13
Quem está aprendendo C++, mas já programa em PHP, vai entender a utilidade rapidinho. Veja o exemplo de uso:
#include <iostream>
#include <map>
using namespace std;
int main()
{
map<string, int> nota_dos_alunos;
nota_dos_alunos["Rafael"] = 5;
nota_dos_alunos["Cosme"] = 9;
nota_dos_alunos["Fernando"] = 7;
}
Para compilar use:
$ g++ -i nome_do_executável nome_do_arquivo_fonte.cpp
Dúvidas? Deixe um comentário.
Foi usando com referência:
http://sweet.ua.pt/~a28123/stl.html