CorelDRAW no Linux

Uso o CorelDRAW desde 1997 e é uma ferramenta indispensável para meu trabalho. E uso o Ubuntu há 7 anos como meu sistema operacional principal. O que me impedia de largar o Windows de uma vez por todas se resume em um única palavra: Corel.

E ai, o que eu fazia para rodar o Corel e o Linux “ao mesmo tempo”? As soluções mais comuns são o dual boot ou rodar o Windows em uma máquina virtual (não vem ao caso explicar o que é dual boot e virtualização). Mas o que é o prático? O que é que todo mundo quer realmente fazer? É simples, rodar o CorelDRAW diretamente no Linux, sem usar o Windows. Como não existe versão do Corel para Linux, a única solução é tentar instalar a versão para Windows.

Atualização: Hoje existe um vídeo ensinando o mesmo conteúdo deste artigo.

O primeiro problema que eu enfrentei ao tentar instalar o Corel no Ubuntu através do Wine é: NÃO instala. Como é que eu vou rodar o CorelDRAW se eu nem consigo instalar ele? Com a versão portável. O CorelDRAW portável é uma modificação não oficial do programa que permite rodar o Corel sem que seja necessário instalar no computador.

Antes de começar eu quero deixar claro que não é garantido que isso funcione em versões diferentes de Ubuntu (ou em outras distribuições). Esse procedimento funcionou no Wine 1.4 e 1.6 rodando no Ubuntu 14.04. Fiz um teste com o Wine 1.7 e não deu certo.

Vamos para a prática? A primeira coisa que você precisa fazer é baixar o CorelDRAW X3 portável no Pirate Bay. Considero que você já tem o Wine instalado em seu Ubuntu. Quando você tentar abrir o Corel irá aparecer um erro.

Download alternativo: CorelDRAW-X3.exe (caso o link acima não funcione)

Para resolver isso, baixe o arquivo mfc71u.dll e coloque-o na mesma pasta onde se encontra o Corel que você baixou.

Download alternativo: mfc71u.dll (caso o link acima não funcione)

Outro erro surgirá quando você tentar abrir o Corel.

Execute o comando abaixo para adicionar essa DLL faltante.

Outro erro surgirá quando você tentar abrir o Corel.

Configure o Wine para usar a biblioteca mshtml nativa (Windows).

Pronto, agora use seu CorelDRAW no Linux :)

Gostou? Quer que meu trabalho continue? Inscreva-se no meu canal no YouTube para assistir meus vídeos.

Descubra o que está consumindo espaço em seu HD

Um comando útil para usuários de Linux descobrirem o que está consumindo muito espaço em seu HD e você não sabia que poderia ser tando. Ele me ajudou a reduzir 129GB de arquivos para 78GB, ou seja, apaguei 51GB de coisas inúteis. O comando é este:

du -sch .[!.]* * |sort -h

Ele lista todos os arquivos ocultos. Veja o exemplo de como estava meu /home

$ cd ~
$ du -sch .[!.]* * |sort -h
*** Ocultei os as pastas e arquivos com menos de 1 MB ***
1,2M .java
1,4M .Skype
1,8M .fontconfig
2,6M .nbi
4,5M .fbmessenger
13M .netbeans
20M .mozilla
22M .electrum
28M Documentos
30M .thumbnails
39M Área de trabalho
95M .config
162M .shotwell
213M .VirtualBox
242M .netbeans-7.4
379M .PlayOnLinux
1009M .wine
1,5G .cache
1,7G Música
5,7G .steam
8,0G Downloads
13G Vídeos
14G Projetos
15G .bitcoin
15G .local
22G .VirtualBox VMs
34G Imagens
129G total

Veja como ficou depois de uma organizada rápida.

$ du -sch .[!.]* * |sort -h
*** Ocultei os as pastas e arquivos com menos de 1 MB ***
1,2M .java
1,4M .Skype
1,8M .fontconfig
2,6M .nbi
4,5M .fbmessenger
13M .netbeans
20M .mozilla
22M .electrum
28M Documentos
30M .thumbnails
33M .local
39M Área de trabalho
95M .config
162M .shotwell
213M .VirtualBox
832M Projetos
1,5G .cache
1,7G Música
1,8G .steam
3,8G Imagens
6,8G Downloads
19G .VirtualBox VMs
42G Vídeos
78G total

Fonte: Ask Ubuntu

Como deixar seu LibreOffice mais bonito (Ubuntu 14.04)

Para instalar os novos ícones execute o seguinte comando no terminal:

sudo apt-get install libreoffice-style-sifr

Depois vá em “Ferramentas » Opções » Exibir” e em “Tamanho e estilo dos ícones” mude de “Automático (Humano)” para “Sifr”.

Ubuntu 14.04

LibreOffice 4.2 no Ubuntu 14.04, resultado após instalar os ícones novos.

Fonte: Web Upd8 (inglês)

Linux: Capturando imagem da tela do computador pelo terminal

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

É 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.

C++: Medindo intervalo de tempo em milissegundos no Linux, exemplo rápido

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

Linux: Limpando cache da memória RAM

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

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

O que falta para o Linux “dominar o mundo”?

O que falta para o Linux “dominar o mundo” são detalhes bobos, a maioria das pessoas não veem o fato do sistema ser diferente (bem diferente, só para constar) como um problema para usa-lo. O Ubuntu não é mais difícil que o Windows, eu mesmo o considero o Ubuntu mais fácil em vários aspectos (principalmente o fato de não pegar vírus e não precisar de anti-vírus).

A maioria dos casos, o usuário não acha o Ubuntu difícil, mas questiona se o programa X ou Y existe para Linux. Os programas que mais me perguntam são o PhotoShop, Windows Live Messenger (MSN), Microsoft Office (Word, Excel, etc.), CorelDRAW e jogos famosos, como GTA, NFS, etc. (não sei muitos nomes de títulos famosos).

Você já ouviu falar do Wine? Ele é o programa com versão para Linux e que tem como objetivo rodar programas de Windows. Como você já deve ter desconfiado, ele não é perfeito, nem todos os programas rodam bem. Mas se o Wine rodasse todos os programas de Windows mais pessoas usariam o Linux? Pela minha experiência, a resposta é SIM.

O outro lado da moeda é, dependendo do seu uso, você consegue sim fazer a maioria ou todas suas atividades sem depender do Windows ou dos programas para Windows. Para todos os programas famosos com versão para Windows, exite uma versão para Linux ou uma alternativa. E em caso da alternativa não ser viável para você, considere instala através do Wine. E se o programa não rodar bem através do Wine? Você ainda pode considerar manter o Windows e o Linux instalados no mesmo computador (escolhendo ao ligar qual sistema será usado), pois isso não causa nenhuma perda de desempenho do computador.

Ficou curioso sobre o mundo Linux? acesse www.ubuntu-br.org/comece

Linux, modo gráfico ou terminal

Existem coisas que é mais fácil no terminal. Cada caso é um caso, nunca deixaremos de usar o terminal, principalmente quando falamos e servidores, em que sempre é bom ter um script para automação de tarefas rotineiras e/ou complexas.

Já o Linux no desktop está seguindo um caminho em que já existem muitas pessoas que não usam o terminal na maioria dos casos. Isso é bom, pois nem todas pessoas tem interesse ou capacidade de usar o terminal, o que aumenta a quantidade de possíveis usuários para a plataforma.

Para servidores é, sem dúvida, o terminal. Para desktop de usuário comum é o modo gráfico. Para desktop de usuários avançados é o que for mais rápido e prático para o que ele estiver fazendo, e normalmente o terminal ganha.

Não tenha medo do desconhecido, a única maneira de você descobrir quais atividades são mais rápidas, praticas e fáceis de serem feitas no terminal ou modo gráfico é testando.