Linux script converter em lote png para jpg

#!/usr/bin/env bash

# titulo: script_png2jpg.sh
# autor: claytu_dinamitti_1000%
# data:
# uso:

# Comandos:
# jpegoptim *.JPG
# jpegoptim *.jpg
# optipng *.JPG

# ——————————————- #

echo ‘Comando 1’

for png in *.png; do
optipng “$png”
done

# ——————————————- #

echo ‘Comando 2’

ls -1 *.png | xargs -n 1 bash -c ‘convert “$0” “${0%.png}.jpg”‘

# ——————————————- #

# OBS: Converter PNG em JPG (vice-versa) usando os comandos ls e xargs. O comando ls permite listar todas as suas imagens png e o xargs possibilita criar e executar um comando de conversão da entrada padrão para converter todas as imagens .png em .jpg. – Explicação sobre as opções usadas no comando acima. -1 O sinalizador diz ao ls para listar uma imagem por linha. -n Especifica o número máximo de argumentos, que é 1 para o caso. -c Instrui o bash para executar o comando fornecido. ${0% .png} .jpg Define o nome da nova imagem convertida, o sinal% ajuda a remover a extensão de arquivo antiga. – Usei o comando ls -ltr para listar todos os arquivos por data e hora modificadas.’

# ——————————————- #

echo ‘Comando 3’

for jpg in *.jpg; do
jpegoptim “$jpg”
done

# ——————————————- #

# optipng *.PNG
# optipng *.png

# ——————————————- #

echo ‘Comando 4’

jpegoptim *.jpg

optipng *.png

# ——————————————- #

echo ‘Tudo feito!’

# fim do script

Linux tomada de decisões

Linux shell script tomar decisoes: if then else elif fi case – Exemplos Práticos

Shell script nome dado a um arquivo que será interpretado por algum programa tipo Shell. Atualmente existem vários programas tipo Shell, além dos principais sh e bash, existem também, ksh, zsh, csh e tcsh. Um Shell script ou script em Shell necessita basicamente do interpretador (Shell). Algumas operações típicas executadas por linguagens de script em Shell incluem; manipulação de arquivos, execução de programas e impressão de texto. Sendo assim é muito comum ver scripts sendo utilizados para automatização de tarefas, como configurar o ambiente, executar um programa e fazer qualquer limpeza, registro, etc.
– wiki

Para declarar que o script deve ser interpretado por Bourne-Again shell (Bash) é recomendável a utilização do comando env, pelo fato que apesar de o Bash já vir instalado em muitas distribuições Linux, não sabemos se ele estará em todas elas no mesmo diretório /bin/, então use a seguinte forma:

#!/usr/bin/env bash

– wiki

Os comentários nas linguagens Bourne Shell (sh) e Bourne-Again Shell (bash) serão utilizados hashtag (#), Exemplo de comentários:

#Comentário
#- Segundo comentário
# // [ Terceiro comentário ] //

– wiki

Variáveis – Como qualquer outra linguagem de programação conhecida, um script em Shell também possui suporte a variáveis. Em uma breve explicação uma variável é um nome/objeto simbólico ao qual podemos atribuir valores, ler ou manipular o conteúdo.

– wiki

Os scripts em Shell possuem as seguintes variáveis pré-definidas:

$? – Armazena o status de saída do último programa executado;
$# – Armazena a quantidade de parâmetros de linha de comandos;
$$ – Armazena o valor PID (Process Identifier) do script em shell que estiver em execução;
$@ – Armazena o valor de todos os parâmetros passados, similar a variável argv presente nas linguagens de programação C e C++;
$! – Armazena o PID do último processo em segundo plano. Isso é útil para acompanhar o processo à medida que o trabalho é realizado;
$0, …, $9 – Armazena os valores de todos os parâmetros de linha de comando separadamente.

– wiki

Variáveis globais ou variáveis de ambiente globais, são variáveis criadas/definidas com o comando export e podem ser utilizadas por multiplos scripts em Shell. Um exemplo é a variável de ambiente LANG (Pré-definida em diversas distribuições Linux), Podendo ser acessada por diversos arquivos de script em Shell.

Outras variáveis pré definidas são:

PATH: define diretórios de procura por programas executados no shell;
USER: informa o nome do usuário do shell;
HOME: informa o caminho do diretório home do usuário;
LANG: Idioma/Linguagem, especificada como locale;
PWD: diretório atual;
TERM: Tipo de terminal atual em uso.
UID: UID do usuário atual.
RANDOM: Gera um número aleatório

– wiki

A duas formas de criar uma variável global, exportar uma variável pré definida ou definir quando for exportar:

VARIAVEL1=Teste
export VARIAVEL1
# Define e exporta com export
export VARIAVEL2=Teste

Array – Bourne Shell (sh) não é compatível com variáveis tipo array, mas Bourne-Again Shell (Bash) sim, exemplo simples de implementação:

#!/usr/bin/env bash
meu_array=(1 2 3 4 5 6 7 8 9)
meu_Array=(“abc” “def” “ghi”)

Chamar variáveis – Para chamar variáveis utiliza-se o sinal de cifrão $var. O cifrão ($) também é bastante utilizado em script sh, para executar programas externos exemplo: var=$(expr 2 + 2) irá armazenar a saída do programa expr. E o cifrão mais chave ${var} é comum ser utilizado das seguintes maneiras:

Para acessar posições em um array ${var[1]}. (obs.: não funciona para sh, apenas para Bash)

E também para substituir o valor de uma variável se a mesma não possuir um valor: ${var:-nome} – ${var:=nome} – ${var:-$(programa)} dessas maneiras irão substituir pelo que for passado depois de :- ou :=, exemplo em código:

read -p “Digite um nome: “myname
echo “${myname:=$(whoami)}”
O código acima irá pedir para o usuário digitar um nome, caso digite irá utilizar echo para imprimir o nome digitado na saída padrão, caso contrário irá substituir pela saída do comando whoami, ao invés de substituir pela saída de um comando, você pode substituir por outro valor exemplo: ${myname:=Bourne Shell}.

– wiki

Tomada de Decisões – Em toda linguagem de programação existe alguma estrutura para tomada de decisões. Essa estrutura em geral é feita através do comando “if”. O comando “if” analisa de uma expressão é verdadeira e então executa um bloco de código, caso a expressão seja falsa pode ser executado, ou não, um outro bloco. Em geral as linguagens de programação oferecem maneiras de verificar se um valor é igual, menor ou maior que outro. As formas mais comuns abaixo.

Para remover uma variável, utiliza-se o comando unset + nome da variável, você pode também remover múltiplas variáveis basta separá-las por espaços.

unset VAR
unset VAR1 VAR2 VAR3 VAR4

Declaração if para scripts em bash ou sh:

if [ $1 = $2 ]; then
echo “Parametro 1=$1 é igual a 2=$2.”
fi
Existe também outra forma:

[ $1 = $2 ] && { echo “Parametro 1 ($1) é igual a 2 ($2).”; exit 0; }

Declaração if else para scripts em bash ou sh, há diversas formas diferentes, tenha cuidado para não esquecer os espaços entre os colchetes eles são muito importantes:

A declaração if else mais comum e mais utilizada é a seguinte:

if [ $1 = $2 ]; then
echo “Parametro 1 ($1) é igual a 2 ($2).”
else
echo “Parametro 1 ($1) não é igual a 2 ($2).”
fi
Mas, existe uma abreviação que também é muito utilizada que é menor e muito boa para teste de linha única:

[ $1 = $2 ] && { echo “Parametro 1 ($1) é igual a 2 ($2).”; exit 0; } || { echo “Parametro 1 ($1) é diferente de 2 ($2).”; exit 0; }

Declaração else if para scripts em bash ou sh são diferentes de algumas linguagens de programação, exemplo:

if [ $3 ]; then
echo “$3”
elif [ $2 ]; then
echo “$2”
else
echo “$1”
fi

Case – Scripts em Bash ou sh, permitem case, a sintaxe é a seguinte:

case “$var” in
valor)
;;
esac

Scripts em Bash possui compatibilidade com Expressões Regulares, algo que scripts em Bourne Shell (sh) não reconhecem:

#!/usr/bin/env bash
[[ $1 =~ ^sh|SH$ ]] && { echo “$1 – Bourne Shell”; }

– wiki

EXEMPLOS PRÁTICOS PRATICADOS

Me acompanhe neste caminho simples.

Existem diversos operadores para cada Shell script, mas aqui serão passadas informações especificamente sobre Bourne shell por ser mais comum e muitos outros shell são similares.

PARA TRATAR NÚMEROS:

== : Igual à
!= : Diferente de
< : Menor que
> : Maior que
<= : Menor ou igual à
>= : Maior ou igual à

EM SHELL SCRIPT OS MESMOS TESTES SÃO OBTIDOS COM:

-eq : (equal) Igual à
-ne : (not equal) Diferente de
-lt : (less than) Menor que
-gt : (greater than) Maior que
-le : (less or egual) Menor ou igual à
-ge : (greater or equal) Maior ou igual à

O USO DO “IF” EM SHELL SCRIPT:

#!/usr/bin/env bash

# titulo: jamais.sh

if [ 4 -eq 6 ] # se 4 for igual a 6
then # então
echo “Esse echo jamais acontecerá” # comando 1
fi # fechamento obrigatório do if

# fim do script

É necessário manter espaços entre os colchetes e os números, ou variáveis. O bloco após a palavra “then” será executado se a expressão dentro do “if” for verdadeira. O bloco “if” termina com a palavra “fi” que é “if” ao contrário. Essa é uma maneira simples de identificar o final de um “if” quando o encontramos.

PARA FAZER COMPARAÇÕES COM TEXTOS USE:

= : Igual à (isso mesmo apenas um sinal de igual)
!= : Diferente de
-n : String existe e não é vazia (apenas um operador)
**-z** : String existe e é vazia (apenas um operador)

Esemplo, o “if” verifica se a variável $nome existe e está vazia, isso significa que o usuário não digitou o nome dele. A instrução “read” faz com que o shell leia alguma informação via teclado e retorne essa informação para a variável informada. Foi usada a palavra “else” que significa “senão”. Esse bloco é executado quando o “if” retorna um valor falso:

#!/usr/bin/env bash

# titulo: seu_nome.sh

# —————- #

echo “Digite seu nome: ” # comando echo
read NOME # comando read armazena o que digitou em NOME

# —————- #

if [ -z $NOME ] # se é apenas um operador
then # então
echo “Você não digitou seu nome!” # comando 1
else # se não
echo “Olá, $NOME” # comando 2
fi # fechamento obrigatório do if

# —————- #

# fim do script

O shell oferece mais opções para o “if” do que as linguagens de programação o fazem! Veja outras opções bem interessantes:

**-s ** : Arquivo existe, não vazio (apenas um operador)
**-f ** : Arquivo existe, não é um diretório (apenas um operador)
**-d ** : Diretório existe (apenas um operador)
**-w ** : Arquivo, com permissão de escrita (apenas um operador)
-r : Arquivo, com permissão de leitura (apenas um operador)
**-x ** : Arquivo, com parmissão de execução -x (apenas um operador)

Por exemplo, crio um diretório TESTES e nele um arquivo de texto vazio chamado meu_log_test.txt, dou permissão de execução e executo o script log_test.sh abaixo:

#!/usr/bin/env bash

# titulo: log_test.sh

ARQUIVO=”/home/user/TESTES/meu_log_test.txt”

if [ -f “$ARQUIVO” ] # se o aquivo meu_log_test.txt existir
then # então
echo “Continuando log…” >> “$ARQUIVO” # comando 1
else # se não
echo “Criando log…” > “$ARQUIVO” # comando 2
fi # fechamento obrigatório do if é fi

# fim do script

Executo e confiro o texto meu_log_test.txt. Resultado:

TESTES:$ ./log_test.sh
TESTES:$ cat meu_log_test.txt
Continuando log…
TESTES:$

Então fica assim, se o arquivo existir continue registrando, execute determinado comando, escreva “Continuando log…”. Se não existir crie o arquivo e escreva nele “Criando log…”.

Apague o arquivo meu_log_test.txt execute o script e veja o script funcionando.

Agora este script super simples, se executado com outros comandos pode fazer coisas bem úteis. O script que toma decisões é forte e útil.

IFs Aninhados – Chamamos de “ifs aninhados” as construções onde há um “if” dentro do bloco “then” ou “else” de outro “if”:

#!/usr/bin/env bash

# titulo: ifs_aninhados_test.sh

# ————– #

# primeiro read

echo “Digite seu nome: ”
read NOME

# ————– #

# segundo read

echo “Digite sua idade: ”
read IDADE

# ————– #

# ifs aninhados

if [ -z $NOME ]
then
echo “Você não digitou seu nome.”
else
echo “Seu nome é $NOME”
if [ $IDADE -gt 10 ] # se sua idade for mais que 10
then # então
echo “Você tem mais que 10 anos.”
else # se não
echo “Você tem 10 anos ou menos.”
fi # fechamento obrigatório do if
fi # fechamento obrigatório do else?

# ————– #

# fim do script

Resultado:

~:$ ifs_aninhados_test.sh
Digite seu nome:
Pipopi
Digite sua idade:
55
Seu nome é Pipopi
Você tem mais que 10 anos.
~:$

Entendendo o funcionamento deste script permite criar vários semelhantes a ele que podem ser usados de acordo com sua necessidade no teu dia a dia para executar tarefas rotineiras (ou não). Não importa se você tem 18, 20, 30 anos ou mais; saiba que este exemplo é recomanedado para todas as idades. Cada idade usará de uma maneira diferente? Provavelmente sim.

If MULTINÍVEL – PODE FAZER COMPARAÇÕES EM SEQUÊNCIA, COM O USO DO elif

#!/usr/bin/env bash

# titulo: if_elif_test.sh

# ————– #

echo “Digite um número”
read NUMERO

# ————– #

if [ $NUMERO -gt 0 ];
then
echo “Número positivo”

# ————– #

elif [ $NUMERO -lt 0 ]
then
echo “Número negativo”

# ————– #

elif [ $NUMERO -eq 0 ]
then
echo “Número é zero”

# ————– #

else
echo “O valor fornecido não é um número!”
fi

# fim do script

Resultado:

~:$ if_elif_test.sh
Digite um número
12
Número positivo
~:$

O SHELL OFERECE OPÇÕES COMO “case” PARA CONTROLE DE FLUXO. O comando “case” é usado para executar um bloco de código de acordo com o valor de uma variável. O comando “case” é interessante pois pode definir diversas opções diferentes sem usar uma estrutura com diversos comandos “if”, “elif” e “else”. O exibe uma mensagem e então pede uma informação do usuário. O usuário vai digitar alguma letra e então o comando “case” entra em ação. Ele verifica qual valor foi digitado pelo usuário e executa os blocos de código relativos a cada opção. Primeira opção é a padrão, por isso ela é executada mesmo que o usuário não digite um valor.Cada bloco do case é iniciado por um valor que a variável analisada pode ter, ou vários valores, separados por um pipe. Os blocos são finalizados por uma sequência de dois caracteres ‘ponto-e-vírgula’ (;;).

#!/usr/bin/env bash

# titulo: echo_read_case_esac_test.sh

echo -n “O que deseja fazer? (L)listar/(C)opiar texto/(S)air do script? [A] ”
read resposta

case “$resposta” in
l|L|””)
echo “Listando…”
sleep 3
ls -ltA
;;
c|C)
echo “Copiando arquivos .txt para Documentos”
sleep 3
cp -r *.txt ~/Documentos/
;;
s|S)
echo “Saindo…”
;;
*)
echo “Opção inválida”
;;
esac

Resultado exemplo:

~:$ echo_read_case_esac_test.sh
O que deseja fazer? (L)listar/(C)opiar texto/(S)air do script? [A] W
Opção inválida

Linux checagens com If then else

Exemplos de checagens com If then else, uma das verificações mais importantes em shellscript. Começando com:

-e Arquivo, diretório, link, ou arquivo especial existe.

#!/usr/bin/env bash

if [ -e “/bin/bash” ]; then
echo “O arquivo ou diretório existe”
else
echo “O arquivo ou diretório não existe”
fi

1) -f Arquivo existe

if [ -f “/bin/bash” ]; then
echo “O arquivo existe”
else
echo “O arquivo não existe”
fi

2) ! -e Arquivo, diretório, link, ou arquivo especial NÃO existe

if [ ! -e “/bin/bash” ]; then
echo “O arquivo ou diretório não existe”
else
echo “O arquivo ou diretório existe”
fi

3) ! -f Arquivo não existe

if [ ! -f “/bin/bash” ]; then
echo “O arquivo não existe”
else
echo “O arquivo existe”
fi

4) != Diferente

if [ “0” != “1” ]; then
echo “A desigualdade é verdadeira”
else
echo “A desigualdade não é verdadeira”
fi

5) -d Diretório existe

if [ -d “/boot” ]
then
echo “O diretório existe”
else
echo “O diretório NÃO existe”
fi

6) ! -d Diretório NÃO existe

if [ ! -d “/boot” ]
then
echo “O diretório NÃO existe”
else
echo “O diretório existe”
fi

7) = Igual

if [ “1” = “1” ]; then
echo “A igualdade é verdadeira”
else
echo “A igualdade não é verdadeira”
fi

8) -ge Número maior ou igual

if [ “1” -ge “2” ]; then
echo “É maior ou igual”
else
echo “Não é maior ou igual”
fi

9) -gt Número maior que

if [ “2” -gt “1” ]; then
echo “É maior que”
else
echo “Não é maior que”
fi

10) -ot Arquivo ou diretório é mais antigo

if [ “arquivo1” -ot “arquivo2” ]
then
echo “O arquivo é mais antigo.”
else
echo “O arquivo NÃO é mais antigo.”
fi

11) -nt Arquivo ou diretório é mais recente

if [ “arquivo2” -nt “arquivo1” ]
then
echo “O arquivo é mais recente.”
else
echo “O arquivo NÃO é mais recente.”
fi

12) -le Número menor ou igual

if [ “1” -le “2” ]; then
echo “É menor ou igual”
else
echo “Não é menor ou igual”
fi

13) -lt Número menor que

if [ “1” -lt “2” ]; then
echo “É menor que”
else
echo “Não é menor que”
fi

14) ! -G Confere se o arquivo ou diretório NÃO pertence a um grupo que o usuário que está executando o script faz parte

if [ ! -G “$HOME” ]
then
echo “O arquivo ou diretório NÃO pertence a um grupo que o usuário $USER também pertence.”
else
echo “O arquivo ou diretório pertence a um grupo que o usuário $USER também pertence.”
fi

15) ! -O Arquivo ou diretório NÃO pertence ao usuário que está executando o script

if [ ! -O “$HOME” ]
then
echo “O arquivo ou diretório NÃO pertence ao usuário $USER.”
else
echo “O arquivo ou diretório pertence ao usuário $USER.”
fi

16) -w Arquivo ou diretório possui permissão de escrita

if [ -w “/etc” ]
then
echo “O arquivo ou diretório possui permissão de gravação para o usuário $USER.”
else
echo “O arquivo ou diretório NÃO possui permissão de gravação para o usuário $USER.”
fi

17) -x O arquivo possui permissão de execução

if [ -x “/bin/bash” ]
then
echo “O arquivo possui permissão de execução.”
else
echo “O arquivo NÃO possui permissão de execução.”
fi

18) -r O arquivo ou diretório possui permissão de leitura

if [ -r “/etc” ]
then
echo “O arquivo ou diretório possui permissão de leitura para o usuário $USER.”
else
echo “O arquivo ou diretório NÃO possui permissão de leitura para o usuário $USER.”
fi

19) Confere se o usuário tem permissões de root (administrador)

if test $(id -u) != 0
then
echo “Usuário sem permissão de root, cancelando o processo.”
exit
fi

20) -G O arquivo ou diretório pertence a um grupo que o usuário que está executando o script faz parte

if [ -G “$HOME” ]
then
echo “O arquivo ou diretório pertence a um grupo que o usuário $USER também pertence.”
else
echo “O arquivo ou diretório NÃO pertence a um grupo que o usuário $USER também pertence.”
fi

21) -O Arquivo ou diretório pertence ao usuário que está executando o script

if [ -O “$HOME” ]
then
echo “O arquivo ou diretório pertence ao usuário $USER.”
else
echo “O arquivo ou diretório NÃO pertence ao usuário $USER.”
fi

22) ! -w O arquivo ou diretório NÃO possui permissão de escrita

if [ ! -w “/etc” ]
then
echo “O arquivo ou diretório NÃO possui permissão de gravação para o usuário $USER.”
else
echo “O arquivo ou diretório possui permissão de gravação para o usuário $USER.”
fi

23) ! -x O arquivo NÃO possui permissão de execução

if [ ! -x “/bin/bash” ]
then
echo “O arquivo NÃO possui permissão de execução.”
else
echo “O arquivo possui permissão de execução.”
fi

24) ! -r O arquivo ou diretório NÃO possui permissão de leitura

if [ ! -r “/etc” ]
then
echo “O arquivo ou diretório NÃO possui permissão de leitura para o usuário $USER.”
else
echo “O arquivo ou diretório possui permissão de leitura para o usuário $USER.”
fi

25) -z a variável é nula

if [ -z “$variavelX” ]
then
echo “A variável está vazia.”
else
echo “A variável NÃO está vazia.”
fi

26) A variável não é nula

if [ “$variavelX” ]
then
echo “A variável existe.”
else
echo “A variável não existe”
fi

Anotações Linux

VirtualBox no Debian 9 “Stretch”

.

Eu por minha conta e risco executo minhas anotações.

.

Adiciono virtualbox.list em /etc/apt/sources.list.d

 

deb http://download.virtualbox.org/virtualbox/debian stretch contrib

.
Posso tentar o comando abaixo:

sudo sh -c ‘echo “deb http://download.virtualbox.org/virtualbox/debian stretch contrib” >> /etc/apt/sources.list.d/virtualbox.org-virtualbox.list’

.

Adiciono chave pública Oracle VirtualBox:

.

curl -O https://www.virtualbox.org/download/oracle_vbox_2016.asc

.

Executo o comando:

.

sudo apt-key add oracle_vbox_2016.asc

.

Instalo virtualbox-5.1

.

sudo apt-get update

.

sudo apt-get install virtualbox-5.1

.

Acho instruções completas em:

https://www.virtualbox.org/wiki/Linux_Downloads

.

OU…

 

2017

.

Instalando a versão mais recente do VirtualBox no Debian e Linux Mint

.

sudo sh -c ‘echo “deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib” >> /etc/apt/sources.list.d/virtualbox.list’

.

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add –

.

wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add –

.

sudo apt-get update

.

sudo apt remove virtualbox virtualbox-5.0 virtualbox-4.*

.

sudo apt-get install virtualbox-5.1

.

Se eu precisar desinstalar, uso o comando abaixo:

 

sudo apt-get remove virtualbox-5.1

 

.

 

2017-Linux-PDF-Foxit-Reader

.

Vou instalar o leitor de PDF Foxit Reader no meu Linux

.

É uma opção leve ao Adobe Reader.

.

Sistema 64 bits.

.
Baixar com wget:
.

wget http://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/linux/2.x/2.4/en_us/FoxitReader2.4.1.0609_Server_x64_enu_Setup.run.tar.gz -O foxitreader.tar.gz

.
Descompactar tar.gz com -vzxf
.

tar -vzxf foxitreader.tar.gz

.

Instalar.

Linux – Instalando o leitor PDF Foxit Reader

.

1. Abra o gerenciador de arquivo de sua distribuição e dê um clique duplo (ou único, depende de como seu ambiente gráfico trabalha) no arquivo baixado.
.

Na primeira tela do instalador, informe o local onde o programa deverá ser instalado ou deixe como está (recomendado). Em seguida, clique no botão “Next”;

.

2. Na próxima tela, marque a opção “I accept the licence.” e depois, clique no botão “Next”;

.

3. Aguarde enquanto o programa é instalado;

.

4. Na última tela, apenas clique no botão “Finish”.

.

Quando eu quiser iniciar o programa, digito foxit em um terminal, seguido da tecla TAB.

.

Quando eu quiser atualizar o programa, basta executá-lo e clicar no menu “Help” e depois na opção “About”. Na tela que será exibida, clique no botão “Check for Update…”.

.

 

LXLE Eclectica 16.04.2 64bit – Guia-Pós-Instalação

1Aa-LXDE-ECLETICA_CAPTURA

 

2017|ABRIL

 

LXLE-ECLETICA-LINUX-CONFIGURANDO-APRENDENDO-INSTALANDO-APLICATIVOS
Homepage do LXLE-LINUX:
http://start.lxle.net

 

Minhas anotações… Espero que sejam úteis a você como são para mim. 🙂

 
Atualizo e faço upgrade

 
sudo apt-get update ; sudo apt-get upgrade

 
Verifico se o Firewall Gufw está habilitado.

 

 

sudo ufw status verbose
sudo ufw enable

 

 

Quero saber a versão da distribuição então digito:
lsb_release -a

 

 

Saida do Terminal:
:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: LXLE Eclectica 16.04.2 64bit
Release: 16.04
Codename: xenial

 
cat /etc/issue

~$ cat /etc/issue
Ubuntu 16.04.2 LTS \n \l

 

 

Me informo sobre o Kernel e arquitetura da máquina (sempre pra eu não esquecer):
uname -a

 

~$ uname -a
Linux rfE4K 4.4.0-73-generic #94-Ubuntu SMP Thu Apr 6 13:38:37 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 

uname -r

~$ uname -r
4.4.0-73-generic

 

arch

~$ arch
x86_64

 

 

Verifico informações da minha CPU:
cat /porc/cpuinfo

 

 

Verifico informações da minha memória:
cat /proc/meminfo

 
O LXLE vem configurado para bloquear a tela a cada 15 minutos para desativar executo os comandos abaixo:

 
sudo su

 

 

Aperto enter, digito minha senha copio e colo o texto abaixo no terminal:

 

 

gksudo pluma /etc/default/tlp

 

 

Abrirá um documento de texto. É necessário procurar por Runtime Power Management texto parecido com o abaixo:

 
# Runtime Power Management for AHCI controllers and disks:
# on=disable, auto=enable
# EXPERIMENTAL ** WARNING: auto will most likely cause system lockups/data loss
#AHCI_RUNTIME_PM_ON_AC=on
#AHCI_RUNTIME_PM_ON_BAT=on

# Seconds of inactivity before disk is suspended
AHCI_RUNTIME_PM_TIMEOUT=15

 
Eu altero este texto para o texto abaixo:

 
# Runtime Power Management for AHCI controllers and disks:
# on=disable, auto=enable
# EXPERIMENTAL ** WARNING: auto will most likely cause system lockups/data loss
AHCI_RUNTIME_PM_ON_AC=off
#AHCI_RUNTIME_PM_ON_BAT=on

# Seconds of inactivity before disk is suspended
AHCI_RUNTIME_PM_TIMEOUT=240

 

 
Agora espero talvez que a tela fique bloqueada somente a cada 4 horas.

 
Eu instalo o Firejail via gdebi a última versão recente no Sourceforge:
https://sourceforge.net/projects/firejail/files/firejail/

 
Depois eu uso este comando abaixo para colocar em firejail todos os programas que tiverem contato com a internet que der pra fazer isto:

 
mkdir -p ~/.local/share/applications; for profile in $(basename -s .profile /etc/firejail/*.profile); do if [[ -f /usr/share/applications/$profile.desktop ]]; then sed -r ‘s/^(Exec=)/\1firejail /’ /usr/share/applications/$profile.desktop > ~/.local/share/applications/$profile.desktop; echo $profile configured to run in firejail; fi; done

 
Instalo o Conky Manager da mesma forma que o Firejail.

 

 
Instalo o Telegram via repositório do Ubuntu:
sudo apt update && sudo add-apt-repository ppa:atareao/telegram -y && sudo apt update && sudo apt install telegram -y && sudo apt update

 
INSTALO Shellcheck – Verifica erros escritos na shell
sudo apt install shellcheck && sudo apt update

 

 
INSTALO o speedtest-cli
sudo apt install speedtest-cli ; sudo apt update

Para verificar a velocidade da internet usando o Speedtest-cli no Linux, abro um terminal e execute o seguinte comando:

speedtest-cli

 

 

INSTALO PWGEN, XKCDPASS, DICEWARE, MAKEPASSWD, REVELATION, KEEPASSX.

 

 

Para aprender a usar digite no terminal:
man pwygen

 

man xkcdpass

 

E ASSIM POR DIANTE…

 

 

Para instalar:
sudo apt install aptitude && sudo apt update && sudo aptitude install pwgen xkcdpass diceware makepasswd revelation -y && sudo apt update

 
Para usar o keepassx tem que criar a database, depois criar o grupo, depois fazer uma entrada. Ao fazer a entrada, tem um botão pequeno que gera uma senha o keepassx

 

 

INSTALO

 

Navegadores de Internet que usam o Terminal do Linux para navegar. Navegadores de Internet que navegam em modo gráfico.

 

 

$ sudo apt update && sudo apt install w3m w3m-img lynx elinks gopher youtube-dl wget dillo links midori firefox && sudo apt update

 

 

Aprenda a navegar usando w3m visite (copie e cole no terminal):

 

w3m http://www.howtogeek.com/103574/how-to-browse-from-the-linux-terminal-with-w3m/

 

 

Comandos básicos w3m

 

 

shift+h

w3m google.com

shift+b

shift+u

 

 

Para ver imagens no terminal use o terminal Xterm ou Gnome Terminal ou KDE’s console

 

 

INSTALO

 

MOC – Fácil e Leve Reprodutor de Musica
formatos de arquivos suportados pelo programa:
MP3, Ogg Vorbis, FLAC, AAC, Musepack, Speex, MOD e WavPack

 
sudo apt update && sudo apt install moc moc-ffmpeg-plugin && sudo apt update

 

 

INSTALO

 

Esvaziar a Lixeira usando o terminal

 

Instalar trash-cli

 

sudo apt update && sudo apt install trash-cli && sudo apt update
comando para limpar a lixeira
sudo trash-empty

 
comando para mandar um arquivo para a lixeira, tem que estar com o terminal aberto na pasta onde está o arquivo. Digamos que você tem um arquivo na Área de Trabalho chamado flek

 

trash-put flek

 
A lixeira fica cheia e esvazia a lixeira com o já citado acima

 

sudo trash-empty

 

 
Instalo Moka icon-theme, arc-icontheme e numix-icon-theme
sudo apt update && sudo add-apt-repository ppa:moka/daily -y && sudo apt update && sudo apt install moka-icon-theme -y && sudo apt install -f && sudo apt-get check && sudo apt update

 
sudo apt update && sudo add-apt-repository ppa:noobslab/themes -y && sudo add-apt-repository ppa:noobslab/icons -y && sudo apt update && sudo apt install arc-theme arc-icons -y ; sudo apt update

 
sudo apt update && sudo apt-add-repository ppa:numix/ppa -y && sudo apt update && sudo apt install numix-icon-theme numix-icon-theme-circle -y && sudo apt update && sudo apt update && sudo apt-add-repository ppa:numix/ppa -y && sudo apt update && sudo apt install numix-icon-theme-square -y && sudo apt update

 

 
Programas básicos para segurança, música, videos, entretenimento, desenho, cálculo, downloads, imagens, leitura e games. A parte de escritório já vem pré-instalada assim como muita coisa útil, para já sair usando a internet a mil.

 
Os programas abaixo, podem ser instalados via gerenciador de aplicativos.

 

 

sudo apt update ; sudo apt install smplayer firejail handbrake kazam audacity bleachbit uget calibre fbreader comix mcomix aria2 filezilla gimp gparted gedit inkscape mtpaint pinta gpick musique liferea youtube-dl retext geany scratch armagetronad -y && sudo apt install cowsay fortune cowsay toilet sl cmatrix figlet tor && sudo apt update && sudo apt install fortune-mod gparted keepassx veracrypt lutris supertux frogatto sweethome3d -y && sudo apt update

 

 

 

INSTALO
Selene-Media-Encoder

 

 

Objetivo fornecer uma interface gráfica simples para converter arquivos para os formatos populares, juntamente com opções de linha de comando poderosas para codificação autônoma/automatizada. Selene está em constante desenvolvimento e tem o suporte a SOX Audio Processing, uma opção para verificar se há encoders desaparecidos.

 
$ sudo apt update && sudo apt-add-repository ppa:teejee2008/ppa -y && sudo apt update && sudo apt install selene -y && sudo apt install -f && sudo apt update

 

 

Instalo o Jogo ohmygiraffe, gnome-games, supertux, frozen-bubble, pingus, gbrainy, gweled, pychess, dreamchess, gnome-mahjongg, keepassx, clementine, gthumb, devede, terminator, htop, mtpaint, pinta, winff, pyremaner, galgulator

 
sudo apt update && sudo snap install ohmygiraffe && sudo apt update ; sudo aptitude install gnome-games supertux thunderbird frozen-bubble pingus gbrainy gweled pychess dreamchess gnome-mahjongg keepassx clementine gthumb devede terminator htop mtpaint pinta winff pyremaner smplayer galgulator && sudo aptitude update && sudo aptitude upgrade

 
Faço reboot do sistema:

 

 

sudo shutdown -r now

 

 

 

Para mim, já tá bom. Fico por aqui. Espero que estas anotações sejam úteis a você como são para mim.

 

 
Até Breve.

.

 

Captura de Tela Dois Monitores de Tamanho Diferente usando Conky-Manager:

 

 

AAa-lxle-captura2