Como ativar a exibição dos ícones no desktop do GNOME

Não se trata de um bug. O design da interface atual do GNOME 3 aboliu os ícones no desktop.
Mas veja como é maravilhoso o mundo do software livre — ninguém te obriga a nada e você tem opção para tudo.

Se você é o dono do desktop, ele tem que ter o que você quiser que ele tenha.

Neste caso, os ícones estão apenas com a sua exibição desativada.
Você pode usar o gsettings para ativá-los novamente. A mesma ferramenta pode ser usada para reverter o processo, como irei mostrar abaixo.
Para ativar os ícones, use a seguinte linha de comando:


gsettings set org.gnome.desktop.background show-desktop-icons true

gnome 3 com ícones na área de trabalho
O efeito deve ser imediato. Se isto não ocorrer, tente sair e entrar novamente no GNOME.
Para desativar o recurso, basta atribuir o valor “false” à variável show-desktop-icons:


gsettings set org.gnome.desktop.background show-desktop-icons false

Ative a exibição de atalhos e ícones na área de trabalho com o gnome-tweak-tool

O mesmo efeito pode ser alcançado com o uso da ferramenta gráfica gnome-tweak-tool, presente em muitas das distribuições Linux atuais.
Trata-se de uma ferramenta gráfica, voltada para realizar ajustes mais detalhados ou tunar a interface do GNOME.
gnome-tweak-tool ativar ícones na área de trabalho
Dentro do painel de ajustes (settings) da ferramenta, selecione a aba “Área de trabalho” e ative a opção “ícones da área de trabalho”.

Como instalar Lisp no Debian

O Debian tem aproximadamente 300 pacotes de softwares relacionados direta ou indiretamente à família de linguagens de programação Lisp.

Com especificações originalmente lançadas em 1958, o Lisp é a segunda linguagem de programação mais velha (ou madura), de alto nível e largamente usada nos dias de hoje.
A primeira colocada é Fortran, com um ano a mais.
— Wikipedia.

Claro que o Lisp mudou muito, no decorrer dos anos. Durante este tempo, deu origem a inúmeros dialetos — mas os que se consolidaram como mais importantes são o Common Lisp e o Scheme
Originalmente, a linguagem foi concebida para criar programas de notação matemática mais práticos — com o tempo, e rapidamente, se tornou a favorita para a pesquisa em inteligência artificial (IA).
O nome deriva da junção das palavras “LISt Processor” (processador de listas).
Enfim… se você está aqui, é por que já sabe de tudo isso. O que quer é instalar o suporte à linguagem de programação Lisp no Debian (ou em outra distro derivada dela).

Como obter uma relação de softwares de suporte ao Lisp no Debian

Use o apt search para pesquisar nos repositórios da sua distro pelos softwares relacionados a alguma palavra:


apt search lisp | less

Ou, para ser um pouquinho mais preciso:


apt search "common lisp" | less

Você pode obter mais informações sobre qualquer pacote com o comando apt show:


apt show common-lisp-controller


Package: common-lisp-controller
Version: 7.10
Priority: optional
Section: lisp
Maintainer: Debian Common Lisp Team 
Installed-Size: 62,5 kB

(...) 

Download-Size: 36,5 kB
APT-Sources: http://ftp.br.debian.org/debian testing/main amd64 Packages
Description: gerenciador de compilador e fontes do Common Lisp
 Este pacote ajuda a instalar os fontes e o compilador do Common Lisp.
 .
 Ele cria um cache de objetos compilados por usuário. Quando uma biblioteca
 ou uma implementação é atualizada, todos os objetos compilados no cache são
 descartados. Também fornece ferramentas para recompilar todas as
 bibliotecas e para gerar pacotes Debian a partir de pacotes asdf-install.
 .
 Também inclui clc-clbuild, um envoltório para o clbuild. Por favor, veja
 http://common-lisp.net/project/clbuild/ para mais informações.
 .
 Este pacote também contém um envoltório para invocar o emacs com um
 ambiente slime fornecido pelo clbuild.

Este mesmo pacote já traz muito do que você precisa para começar a programar em Lisp. Para instalá-lo, use o apt install:


sudo apt install common-lisp-controller 

A partir daí, já é possível rodar o SBCL, uma implementação do ANSI Common Lisp:


sbcl

A shell do sbcl permite executar os comandos Lisp.
sbcl lisp shell hello world
Para saber mais sobre outros programas já instalados no seu computador, voltados para a linguagem, use o apropos:


apropos lisp


register-common-lisp-implementation (8) - internal clc commands
clc-lisp (1)         - invoke lisp with clbuild active
clc-slime (1)        - invoke lisp with clbuild active
common-lisp-controller (3) - Common Lisp system management tool
lispmtopgm (1)       - convert a Lisp Machine bitmap file into pgm format
pgmtolispm (1)       - convert a portable graymap into Lisp Machine format
register-common-lisp-source (8) - internal clc commands
sbcl (1)             - Steel Bank Common Lisp
unregister-common-lisp-implementation (8) - internal clc commands
unregister-common-lisp-source (8) - internal clc commands

… ou volte a usar o apt search, como mostrei acima, para encontrar outras opções voltadas para a linguagem.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Como instalar o Piwigo no Linux

O Piwigo é um software para criar e gerenciar galerias e álbuns de fotos, voltado para profissionais de fotografia e pessoas comuns (eu!!!) — que apenas querem ter um espaço seu, para guardar suas imagens.

Desenvolvedores e usuários trabalham junto, para fazer do Piwigo um app (de código aberto) cada vez melhor.

Softwares de galerias de foto são a solução ideal para quem deseja publicar suas imagens — do seu jeito e ter total liberdade sobre elas.
Uma empresa pode deixar todo o seu banco de imagens disponível interna e/ou externamente através da galeria online.
O Piwigo permite editar os níveis de privacidade das fotos individualmente ou de álbuns inteiros.

Quais são os requisitos para instalar e rodar o Piwigo

O aplicativo é muito “democrático” e pode ser instalado em uma gama variada de configurações. Segue os requisitos básicos, de acordo com a documentação oficial:

  • Um servidor web Apache. Mas também pode ser Lighttpd ou Nginx.
  • Um servidor de banco de dados MySQL 5 ou MariaDB.
  • Suporte a PHP 5.2.
  • A suíte de aplicativos ImageMagick ou GD.
  • 30 Mb para instalar o app. Mas você vai precisar bem mais, para armazenar suas fotos, claro.

Instalação com um único clique

Alguns provedores de hospedagem, como o DreamHost, possuem um painel de controle a partir do qual é possível instalar com um clique (one-click installs) dezenas de aplicativos web.
piwigo one-click install
Se você possui uma conta em um provedor de hospedagem Linux, então os requisitos estão, provavelmente, todos preenchidos.

Se o seu provedor oferece o Piwigo como opção de instalação simplificada — e você não se importa de usar uma versão desatualizada, porém estável, sugiro usar este meio para instalar o software.

Como instalar a versão mais atual do Piwigo direto do site oficial

Usuários mais avançados, contudo, podem preferir uma versão mais atualizada do software, mesmo que tenham que “meter a mão na massa” para isto.
Neste caso, você vai ter que fazer o download do site oficial e instalar por conta própria — o que inclui configurar o seu banco de dados.
Este é o cenário onde fiz a minha instalação:

  • Servidor Ubuntu 14.04 LTS.
  • MySQL 5.5.
  • PHP 7.0
  • Apache web server —. Se você não tiver um servidor LAMP (Linux, Apache, PHP e MySQL) instalado, leia este post.

Este artigo, parte do pressuposto de que você já tem instalado um servidor web, com suporte a PHP e MySQL.
Vou mostrar como proceder através do uso do aplicativo netinstall — por que ele é pequeno e leve e baixa apenas o que é preciso para a nossa configuração.
Você pode encontrá-lo neste endereço.
piwigo netinstall
Para mandar o netinstall para o servidor em que você fará a instalação, use o scp ou baixe-o direto com o comando wget, na pasta em que você deseja instalar o Piwigo:


wget http://piwigo.org/download/dlcounter.php?code=netinstall -O piwigo-netinstall.php


--2017-06-06 14:55:19--  http://piwigo.org/download/dlcounter.php?code=netinstall
Resolving piwigo.org (piwigo.org)... 87.98.147.22
Connecting to piwigo.org (piwigo.org)|87.98.147.22|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15282 (15K) [application/zip]
Saving to: ‘piwigo-netinstall.php’

piwigo-netinstall.php                 100%[========================================================================>]  14,92K  83,4KB/s    in 0,2s    

2017-06-06 14:55:23 (83,4 KB/s) - ‘piwigo-netinstall.php’ saved [15282/15282]

Daqui pra frente, o processo segue via web. Acesse a página em que você instalou o netinstall: http://meusite.com.br/galeria/.
Para conseguir concluir o processo, você precisa ter em mãos (ou de memória) as seguintes informações:

  1. O hostname do servidor MySQL ou MariaDB.
  2. O nome do banco de dados.
  3. Um nome de usuário do banco de dados.
  4. A senha deste usuário.
  5. Um prefix predefinido para a tabela de dados do Piwigo, o que irá facilitar a organização do aplicativo dentro do banco de dados.

Se você não tem estas informações, peça ao administrador da rede ou do servidor para te ajudar.
Abra um navegador e acesse o endereço para o qual você copiou o arquivo piwigo-netinstall.php.
Na primeira tela da instalação, é possível indicar o idioma da instalação (1), uma outra pasta ou diretório para instalar o app e, por fim, começar o processo (3).
piwigo install
Na tela que segue, já será necessário fornecer aquelas informações, de que falamos há pouco.
Preencha com toda a atenção.
piwigo install
Abaixo destas informações preencha os campos para a criação da conta do webmaster/administrador da galeria de fotos.
Prossiga.
piwigo install
Na outra tela, o sistema informa se tudo deu certo.
Se houver alguma mensagem de erro, volte à tela anterior e verifique cuidadosamente, meticulosamente, cada informação dada.
Se tudo correu bem, o programa de instalação irá baixar os arquivos de que precisa, criar as pastas e organizar o banco de dados para finalizar a sua galeria.
O Piwigo oferece um tour, logo após sua primeira tela de apresentação.
Vale a pena seguir, para começar a entender o funcionamento da galeria.
piwigo install tour

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Como clonar um disco no Linux

Clonar um dispositivo de armazenamento pode garantir que você leve, de um local a outro, uma cópia exata de um drive importante para você.
Se o objetivo é criar uma cópia de segurança (ou backup), pode ser interessante acrescentar o uso de compactação, para obter uma melhor optimização do espaço disponível.
Neste post, vou mostrar como realizar o procedimento, de maneira ágil, com o uso do comando dd, no Linux.
drives SSD
Se você clicar na tag dd, vai ver uma série de outros posts, relatando vários outros usos possíveis para o comando — o que comprova o fato de que é uma daquelas ferramentas exemplo de flexibilidade do universo UNIX/Linux.
Para realizar um teste, você pode usar 2 flash drives (ou pendrives), com a mesma capacidade — simultaneamente conectados, cada qual a uma entrada USB.

O comando dd irá apagar todo o conteúdo do drive ou arquivo de destino. Considere-se avisado.

O comando dd tem basicamente 2 parâmetros importantes, aqui:

  • if — input file ou nome do arquivo original.
  • of — output file ou nome do arquivo de destino.

Sabendo, disto é fácil fornecer o drive original e o drive de destino (ou “futuro” clone) na linha de comando.
Se você tem um drive em /dev/sdc e deseja clonar o seu conteúdo em /dev/sdd, o comando vai ficar assim:


dd if=/dev/sdc of=/dev/sdd bs=64K conv=noerror,sync

Segue a explicação para os outros 2 parâmetros usados:

  • bs=64K — estabelece o tamanho de cada bloco e dados em 64 Kb. Você pode usar outros valores, mais altos e sempre múltiplos de 8, que podem dar mais agilidade ao procedimento — sem alterar a qualidade do resultado final.
  • conv=noerror,sync — o parâmetro noerror não permite que o dd pare, em função de erros de leitura — ou seja, mesmo que o drive original contenha erros, ele será clonado. O parâmetro sync adiciona ao drive de destino blocos com zeros, correspondentes ao espaço que continha erros no dispositivo original. Desta forma, ele mantém o offset de dados em plena sincronia.

drive SSD sobre teclado

Como clonar uma partição

Vocẽ pode clonar uma única partição do sistema em outro drive, indicando exatamente a localização da origem e do destino:


dd if=/dev/sdd1 of=/dev/sdd2 bs=64K conv=noerror,sync

Como enviar um clone via SSH

Neste caso, vale a pena acrescentar um método de compactação ao arquivo clone, antes de enviá-lo pela rede:


dd if=/dev/sdc0 conv=sync,noerror bs=128K | gzip -c | ssh username@servidor.com.br dd of=arquivoclone.gz

Como obter feedback do progresso do dd

Para obter um retorno visual do andamento do processo, use a opção ‘status’, da seguinte forma:


dd if=/dev/sdd1 of=/dev/sdd2 bs=64K conv=noerror,sync status=progress

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Como fazer cópias entre 2 hosts com o scp

Se você acessa pelo menos um servidor remoto via SSH, provavelmente terá utilidade para um comando de cópia, que permite trocar arquivos entre um host e outro — também através de uma conexão segura.
É isto que o comando scp faz: copia arquivos entre hosts, dentro de uma rede — com o uso do ssh, para transferência segura dos dados.
Durante o processo, o scp irá pedir a mesma senha que vocẽ usa para se autenticar via ssh — uma vez que ambos fazem parte do mesmo conjunto de ferramentas.

O comando scp, tal como o cp, irá sobrescrever arquivos no destino.
Portanto certifique-se de estar digitando a coisa certa e mantenha seus backups em dia.

Para este post, vou usar exemplos simples, em cima dos quais, você poderá construir procedimentos mais complexos, posteriormente.
Recentemente, configurei o .bashrc de uma máquina remota, para apresentar um prompt da linha comando personalizado — o que me ajuda a saber exatamente aonde estou realizando algum procedimento.
Como eu gostaria que a máquina local também tivesse um prompt customizado, pensei em usar o scp para copiar o arquivo .bashrc de lá para cá.
Tendo o nome do host remoto (tatooine, no meu caso) e sua respectiva senha, proceda assim:


scp justincase@tatooine:.bashrc ./

The authenticity of host 'tatooine (192.168.5.4)' can't be established.
RSA key fingerprint is 20:96:8d:4e:1c:d6:d5:40:e3:83:0a:f9:30:04:50:30.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'tatooine,192.168.5.4' (RSA) to the list of known hosts.
justincase@tatooine's password: 
.bashrc                                                                                           100%    0     0.0KB/s   00:00    

Na primeira conexão, as ferramentas ssh pedem confirmação (yes/no) — após o quê, a adicionam à lista de hosts conhecidos.
Você pode usar a opção ‘-r’ para copiar um diretório recursivamente, também:


scp -r justincase@tatooine:temporario/ temp/

justincase@tatooine's password:
error.log                    100% 5627     5.5KB/s   00:00     
error.log.0                  100% 6534     6.4KB/s   00:00     
error.log.2017-05-31.gz      100% 2086     2.0KB/s   00:00     
error.log.2017-06-01.gz      100% 1553     1.5KB/s   00:01     
error.log.2017-06-02.gz      100%  744     0.7KB/s   00:00     
error.log.2017-06-03         100% 7960     7.8KB/s   00:00     
error.log.2017-06-04         100% 6534     6.4KB/s   00:00     

Para copiar (ou subir) um arquivo local para um endereço remoto, use o seguinte exemplo:


scp -l 14 -C Downloads/piwigo-netinstall.php justincase@tatooine:~/

justincase@tatooine's password:
piwigo-netinstall.php                                                                      100%   15KB  14.9KB/s   00:00

No exemplo, acima, adicionei estas 2 opções:

  • -l 14 — que limita a banda em 14 Kbps. O que pode ajudar a não sobrecarregar a sua rede. Neste caso, como o arquivo tem 15 Kb, não houve diferença perceptível.
  • -C — aplica compressão ao(s) arquivo(s), em trânsito. Novamente, o comando é irrelevante para este caso (mas serve como exemplo), em virtude do tamanho ínfimo do arquivo copiado.

E se eu quiser copiar o mesmo arquivo entre dois hosts remotos — tatooine e coruscant?
A maneira mais simples de realizar este trabalho é copiando o arquivo objeto da transferência temporariamente para a máquina local — fazendo-a funcionar como intermediária da transação.
Veja como:


scp -3 jcase@tatooine:~/logs.txt jcase@coruscant:~/logs.txt


jcase@tatooine's password: jcase@coruscant's password:

Para realizar a cópia, o scp vai precisar que você forneça as senhas de cada um dos hosts.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.