Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Tópicos - swatquest

Páginas: [1] 2 3
1
Atualizado
tempo de sleep aumentado

Ocasionava  uso de cpu elevado ao clicar mostrar applicativos no dock

Oi pessoal,
 O que trago agora é um procedimento para adicionar uma lixeira no dock do Gnome 3.
 A extensão desktop-icons não está funcionado nos kernels mais recentes.
 https://extensions.gnome.org/extension/1465/desktop-icons/
  Se você usava a lixeira na desktop ou não gosta da lixeira na área de trabalho segue a solução.

 Primeiro segue os dois endereços que utilizei para criar este script
 http://ubuntuhandbook.org/index.php/2018/08/add-trash-icon-dock-launcher-ubuntu-18-04/
 https://askubuntu.com/questions/1067164/remove-trash-icon-from-desktop-and-add-to-ubuntu-dock-in-ubuntu-18-04

 Você pode utilizar dois pacotes para detectar se a lixeira está cheia e/ou para esvaziar a lixeira
 Os pacotes glib2 ou trash-cli
  Por exemplo:
 Para ver se a lixeira tem conteúdo:
 gio list trash://
 ou
 trash-list

Pelos teste feitos o comando gio é mais leve.

 Tentei fazer funcionar dentro da pasta home mais ao criar o arquivo desktop em ~/.config/autostart o gnome-tweaks não detecta.
 Coloque o script na pasta /usr/local/bin
 Nome do script: Lixeira.sh
Copie e cole conteúdo:
Código: [Selecionar]
#!/bin/bash

icon=$HOME/.local/share/applications/Lixeira.desktop

while getopts "red" opt; do
case $opt in
    r)
if [ ! -z "$(gio list trash:///)" ]; then
echo -e '[Desktop Entry]\nType=Application\nName=Lixeira\nComment=Lixeira\nIcon=user-trash-full\nExec=nautilus trash:///\nCategories=Utility;\nActions=trash;\n\n[Desktop Action trash]\nName=Esvaziar Lixeira\nExec='Lixeira.sh -e'\n' > $icon
elif [ -z "$(gio list trash:///)" ]; then
echo -e '[Desktop Entry]\nType=Application\nName=Lixeira\nComment=Lixeira\nIcon=user-trash\nExec=nautilus trash:///\nCategories=Utility;\nActions=trash;\n\n[Desktop Action trash]\nName=Esvaziar Lixeira\nExec='Lixeira.sh -e'\n' > $icon
fi
;;
    e)
    gio trash --empty && echo -e '[Desktop Entry]\nType=Application\nName=Lixeira\nComment=Lixeira\nIcon=user-trash\nExec=nautilus trash:///\nCategories=Utility;\nActions=trash;\n\n[Desktop Action trash]\nName=Esvaziar Lixeira\nExec='Lixeira.sh -e'\n' > $icon
;;
    d)
while sleep 5; do (Lixeira.sh -r &) ; done
;;
  esac
done

Dê a pemissão de executar:
Código: [Selecionar]
sudo chmod  +x  /usr/local/bin/Lixeira.sh
execute o comando
Código: [Selecionar]
trash.sh -eVerifique se foi criado um arquivo em ~/.local/share/applications com o  nome Lixeira.desktop

Clique em mostrar aplicativos no dock e procure por lixeira
Adicione a lixeira no dock

Para finalizar, vá na pasta ~/.config/autostart
Crie um arquivo desktop com o nome gerenciar-lixeira.desktop
e Adicione o conteúdo
Código: [Selecionar]
[Desktop Entry]
Type=Application
Name=Gerenciador de Lixeira
Comment=gerenciar se a lixeira está cheia ou vazia
Icon=user-trash-full
Exec=Lixeira.sh -d
X-GNOME-Autostart-Delay=15

Encerre a sessão e entre novamente.
Pronto a lixeira deverá já está funcionado.

2
Dicas e Truques / Otimizar pdf
« Online: 01 de Agosto de 2019, 23:38 »
Esta dica é para quando você precisa diminuir o tamanho do pdf

É necessário a instalação do pacote ghostscript

Utilize o comando abaixo
Código: [Selecionar]
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook  -dNOPAUSE -dQUIET -dBATCH -sOutputFile=resultado.pdf antigo.pdf
Para escolher a qualidade da otimização, mude o dPDFSETTINGS
Código: [Selecionar]
-dPDFSETTINGS=/screen (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook (low quality, 150 dpi images)
-dPDFSETTINGS=/printer (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default (almost identical to /screen)


Uma outra opção é pelo comando ps2pdf
Código: [Selecionar]
ps2pdf Antigo.pdf Novo.pdf
O ps2pdf usa também o dPDFSETTINGS

para funcionar
Código: [Selecionar]
ps2pdf -dPDFSETTINGS=/ebook  Antigo.pdf Novo.pdf
caso queira usar o alias

Código: [Selecionar]
alias otimizarpdf='ps2pdf -dPDFSETTINGS=/ebook'
Por fim, você pode usar um script para o seu gerenciador de arquivos.Usa o pacote zenity
Código: [Selecionar]
#!/bin/bash

arq=(`echo $@`)
ITEM_SELECIONADO=`zenity --list --width=550 --height=300 \
  --title="Escolha a resolução do PDF para otimização para ${#arq[@]} arquivo(s)" \
  --column="Número" --column="Qualidade" --column="Descriçao" \
    screen Baixa "Imagem 72 dpi" \
    default Baixa/Razoável "Um pouco melhor que a baixa"\
    ebook Razoável "Imagem 150 dpi" \
    printer Boa "Imagem 300 dpi"\
    prepress Ótima "Preservação de cores, imagem 300 dpi"`
 
  if [ ! -z "$ITEM_SELECIONADO" ]; then
   for i in "${arq[@]}"; do
      ps2pdf -dPDFSETTINGS=/"$ITEM_SELECIONADO" `echo "$i"` `echo "$i-otimizado"`
   done

3
Dicas e Truques / Resetar senha root - 2 métodos
« Online: 01 de Agosto de 2019, 23:29 »
O primeiro método é o mais simples.

Se você tem permissão root via sudo
Código: [Selecionar]
sudo passwd root
O segundo método é via linha do kernel do grub
Reinicie o computador e quando iniciar o grub escolha uma imagem e tecle a tecla e (para editar)

Na linha do kernel, exemplo:
Código: [Selecionar]
linux /vmlinuz-linux-zen root=UUID=e450be32-.... Anexe a seguinte opção
Código: [Selecionar]
init=/bin/bash Pressione o F10
Ira entrar na tela root
A partição no momento só será de leitura.
Temos que mudar para escrita, para isso execute o comando
Código: [Selecionar]
mount -n -o remount,rw / Feito isso entre com comando de troca de senha
Código: [Selecionar]
passwdE reinicie o sistema
Código: [Selecionar]
reboot -f

4
Dicas e Truques / Usar o BFQ a partir do kernel 4.12
« Online: 28 de Julho de 2019, 23:44 »
Por padrão o escalonador de processos  bfq não vem habilitado.

Para habilitar, siga o procedimento abaixo:

Crie o arquivo
Código: [Selecionar]
/etc/udev/rules.d/60-scheduler.rulesE adicione
Código: [Selecionar]
#definindo sda até sdz
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="bfq"

Caso tenha um SSD ou NVMe
Na particão do ssd pode deixar como  noop ou mq-deadline

Por exemplo
Código: [Selecionar]
# definindo agendador para NVMe
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"
# definindo agendador para  SSD e eMMC
ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
# definindo agendador para discos rotativos
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
[color=#00BF40]


Nos novos kernel não há necessidade de modificar a linha do kernel
não sei exatamente a partir de qual versão já foi implementado, mas do 4.19 em diante não precisa modificar

E na linha kernel do grub adicione
Código: [Selecionar]
scsi_mod.use_blk_mq=1Vai no arquivo e o edite
Código: [Selecionar]
/etc/default/grub

Em
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

Adicone o scsi_mod.use_blk_mq=1
Código: [Selecionar]
GRUB_CMDLINE_LINUX_DEFAULT="quiet scsi_mod.use_blk_mq=1"depois execute
Código: [Selecionar]
grub-mkconfig -o /boot/grub/grub.cfgDepois para conferir use os comandos abaixo.

 cat /sys/block/sda/queue/scheduler
 cat /sys/block/sdb/queue/scheduler
 cat /sys/block/sdc/queue/scheduler
 etc...

5
Dicas e Truques / Conserto Virtualbox 6 com temas escuros
« Online: 28 de Julho de 2019, 23:40 »
O Virtualbox a partir da versão 6 com temas escuros fica difícil de se ver ou ler.

Para consertar este bug.

Copie o arquivos virtualbox.desktop para a pasta ~/.local/share/applications
Código: [Selecionar]
cp -r /usr/share/applications/virtualbox.desktop ~/.local/share/applications/virtualbox.desktop
edite o arquivo com seu editor preferido

nano ~/.local/share/applications/virtualbox.desktop

procure por
Código: [Selecionar]
Exec=VirtualBox %U
e modifique para
Código: [Selecionar]
Exec=VirtualBox -style Fusion %U
Agora o Virtualbox usará o fusion em vez de gtk2

Para ver a lista de estilos pode usar o qt5ct

6
Dicas e Truques / Tamanho SWAP (recomendação Red Hat)
« Online: 13 de Julho de 2019, 23:57 »
Muitas pessoas tem dúvidas para qual tamanho deixar a swap.

Segue do manual com recomendação de uso de swap do Red Hat

info: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-swapspace

Quantidade de RAM no sistemaEspaço de SWAP recomendado    Espaço de SWAP recomendado se usar a hibernação
⩽ 2 GB 2 vezes a quantidade da RAM3 vezes a quantidade da RAM
> 2 GB – 8 GB Igual à quantidade da RAM2 vezes a quantidade da RAM
> 8 GB – 64 GB Pelo menos 4 GB1,5 vezes a quantidade da RAM
> 64 GB Pelo menos 4 GBHibernação não recomendada

7
Aplicativos / O thumbnails de PDF com WPS (gnome3)[Solução]
« Online: 11 de Julho de 2019, 18:09 »
Oi pessoal,

nautilus gnome3

O thumbnails do PDF não é gerado, o resto funciona.

O que posso fazer?

Causa:
 instalação do wps 11.1.0.8722

Solução:
wps 11.1.0.8722
para consertar os thumbnail, apague o arquivo /usr/share/mime/packages/wps-office-pdf.xml e execute update-mime-database /usr/share/mime.

obs: testado e funcionando

8
Oi pessoal.

Instalei o nautilus-admin

ao acessar a pasta /etc com ele. não tenho permissão de deletar,renomear e copiar, mas consigo criar.

basicamente é o erro reportado no link abaixo pelo vageliskatsiotis

https://github.com/brunonova/nautilus-admin/issues/35#issuecomment-357054750


admin:///etc
ou
nautilus admin:///etc

usando admin:// ocorre o mesmo problema
 tenho permissão de criar,mas não consigo deletar,renomear e editar

9
Script Nautilus admin modificado 18/06
No momento estou utilizando o manjaro, e depois de muito tempo decidi instalar o Gnome. Ainda estou vendo como funciona o Gnome. Por ser uma distro diferente não sei se terá diferença nos nomes dos pacotes
Os scripts devem servir para outros gerenciadores de arquivos. Alguns deverão ser modificados para funcionar.

Segue os scripts que fiz até o momento para utilizar no Naultilus 3.32.

Observação Ações com pkexec será necessário criar uma política na pasta /usr/share/polkit-1/actions .  Mais informação https://ubuntuforum-br.org/index.php/topic,123818.0.html

Os nomes dos scripts aparecem no menu contexto do nautilus. Então você pode mudar para qual  quiser.

nome do script: Abrir terminal como root
Código: [Selecionar]
#!/bin/bash
#
# Abrir terminal como root
#

if [ -e -n $1 ]; then
obj="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
else
base="`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`"
obj="$base/${1##*/}"
fi
if  [ -d "$obj" ]; then
pkexec dbus-launch gnome-terminal --working-directory="$obj"
fi

exit 0

nome do script: Comparar arquivos (max. 3)
Precisa do programa meld
Código: [Selecionar]
#!/bin/bash
#
# Comparar arquivos com o programa meld max.3

meld `echo "$NAUTILUS_SCRIPT_SELECTED_URIS"`

nome do script: Converter para JPG
Precisa do programa imagemagick
Código: [Selecionar]
#!/bin/bash
#
# Converter imagem para JPG
#

echo -e "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | sed 's/\....$//'| xargs -i convert "{}.*" "{}.jpg"

nome do script: Converter para PDF
Precisa do pacote unoconv
Código: [Selecionar]
#!/bin/bash
#
# Converter arquivo para PDF
#

unoconv -f pdf  "$@"

nome do script: Editar como root
Código: [Selecionar]
#!/bin/bash
#
# Editar o arquivo como root
#

gedit "admin://`echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`"

nome do script: Escanear com clamav
Precisa do programa clamav e clamtk
Código: [Selecionar]
#!/bin/bash
#
# Verificar com clamtk
#

# Salvar e alterar IFS
ANTIGOIFS=$IFS
IFS=$'\n'

arq=(`basename -a "$*"`)

# Restaurar IFS
IFS=$ANTIGOIFS

for j in "${arq[@]}"; do clamtk "$j"; done

nome do script: Extrair áudio de vídeo...
Precisa do pacote ffmpeg
Código: [Selecionar]
#!/bin/bash
#
# Extrair áudio de um vídeo
#

# Salvar e alterar IFS
ANTIGOIFS=$IFS
IFS=$'\n'

arq=(`basename -a "$*"`)

# Restaurar IFS
IFS=$ANTIGOIFS

for i in "${arq[@]}"; do
nome=$(echo -n "$i"| sed 's/\....$//');
ffmpeg -i "$i" -vn -ar 44100 -ac 2 -ab 192 -f mp3 "$nome".mp3 | zenity --progress --pulsate --title="Extraindo" --auto-close --text="Extraindo áudio do vídeo $i";
done

nome do script: Gerar checksum...
Código: [Selecionar]
#!/bin/bash
#
# Verificar checksum do arquivo
#

# Salvar e alterar IFS
ANTIGOIFS=$IFS
IFS=$'\n'

arq=(`basename -a "$*"`)

# Restaurar IFS
IFS=$ANTIGOIFS

if [ -f "$1" ]; then
hash=("md5sum" "sha1sum" "sha256sum");for i in "${hash[@]}" ; do echo "#####################[ "$i" ]##################### "| tr '[a-z]' '[A-Z]'; for j in "${arq[@]}"; do "$i" "$j"; done; done | zenity --width=1100 --height=500 --text-info --title=" Checksum..."
else
zenity --warning --width=300 --text="O item selecionado não é um arquivo."
fi

nome do script: Informação da mídia...
Precisa do programa mediainfo-gui
Código: [Selecionar]
#!/bin/bash
#
# Verificar informações da mídia
#

# Salvar e alterar IFS
ANTIGOIFS=$IFS
IFS=$'\n'

arq=(`basename -a "$*"`)

# Restaurar IFS
IFS=$ANTIGOIFS

for j in "${arq[@]}"; do mediainfo-gui  "$j"; done

exit 0

nome do script: Nautilus como root
Código: [Selecionar]
#!/bin/bash
#
# Acessar pasta com Nautilus como root
#

if [ -e -n $1 ]; then
obj="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
else
base="`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`"
obj="$base/${1##*/}"
fi
if  [ -d "$obj" ]; then
pkexec nautilus "$obj"
fi

exit 0

nome do script: Remover como root
Código: [Selecionar]
#!/bin/bash
#
# Excluir arquivos como root
#

# Salvar e alterar IFS
ANTIGOIFS=$IFS
IFS=$'\n'
arq=(`basename -a "$*"`)
# Restaurar IFS
IFS=$ANTIGOIFS
dir="`pwd`/"

zenity --question --width=600 --text="Você quer apagar permanentemente $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS?" &&  for j in "${arq[@]}"; do pkexec rm -rf "$dir""$j"; done

exit 0;


Sugestão: Para editar arquivo e acessar pasta com root
nome do script: Nautilus admiin como script
Código: [Selecionar]
#!/bin/bash
#
# Acessar pasta e editar arquivo com Nautilus como root
#

# Determinar o caminho
arq=`basename -a "$@"`
dir=`dirname "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"`

[ "$dir" == "." ] && dir=`dirname "$@"`;

## Determinar o tipo ao executar como ROOT
if [ -f "$dir/$arq" ]; then
pkexec gedit "$dir/$arq"
elif [ -d "$dir/$arq" ]; then
pkexec nautilus "$dir/$arq"
fi

exit 0





 == Editado em 15 Jun 2019, 00:02 ==

Novos Scripts

nome do script: Converter arquivo para UTF-8
Precisa do pacote glibc
Código: [Selecionar]
#!/bin/bash
# Converter arquivo para UTF-8
#

for filename in "$@"; do
    CHARSET="$(file -bi "$filename"|awk -F "=" '{print $2}')"
    if [ "$CHARSET" != utf-8 ]; then
        iconv -f "$CHARSET" -t utf8 "$filename" -c -o "$filename.utf8"
    fi
done
nome do script: Converter grupo de imagens para PDF
Precisa do pacote imagemagick
Código: [Selecionar]
#!/bin/bash
# Converter grupo imagens para PDF
#

convert "$@" grupo_de_imagens.pdf
nome do script: Copiar caminho
O Gnome está copiando o caminho completo. Com nomes de aplicativos e etc... para Área de transferência, o xclip conserta isso.
Precisa do pacote xclip(Pode precisar reiniciar para funcionar direito)
Código: [Selecionar]
#!/bin/bash
# Conserto ao copiar caminho usando xclip para Gnome
#

echo -n "$PWD/$@"| xclip -i -selection "clipboard"
nome do script: Escanear com antivirus
Precisa do clamav - outro exemplo sem usar clamtk
Código: [Selecionar]
#!/bin/bash
# Escanear com clamav e enviar infectados para $HOME/.VIRUS
#

clamscan -r --bell -i  --move=$HOME/.VIRUS `echo -e $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS` | zenity --width=600 --height=500 --text-info --title=" Escaneaundo com clamav..."
nome do script: Extrair imagens JPG do PDF
Precisa do pacote imagemagick
Código: [Selecionar]
#!/bin/bash

nomearq=$(echo -n "$@"| sed 's/\....$//');
mkdir -p "$nomearq"
convert -density 300 "$@" "$nomearq"/images.jpg | zenity --progress --pulsate --title="Extraindo" --auto-close --text="Extraindo images do arquivo $@ para pasta:\n $PWD/$nomearq/"
nome do script: Otimizar PDF
Precisa dos pacotes zenity e ghostscript
Código: [Selecionar]
#!/bin/bash

arq=(`echo $@`)
ITEM_SELECIONADO=`zenity --list --width=550 --height=300 \
  --title="Escolha a resolução do PDF para otimização para ${#arq[@]} arquivo(s)" \
  --column="Número" --column="Qualidade" --column="Descriçao" \
    screen Baixa "Imagem 72 dpi" \
    default Baixa/Razoável "Um pouco melhor que a baixa"\
    ebook Razoável "Imagem 150 dpi" \
    printer Boa "Imagem 300 dpi"\
    prepress Ótima "Preservação de cores, imagem 300 dpi"`
 
  if [ ! -z "$ITEM_SELECIONADO" ]; then 
   for i in "${arq[@]}"; do
      ps2pdf -dPDFSETTINGS=/"$ITEM_SELECIONADO" `echo "$i"` `echo "$i-otimizado"`
   done
  fi
nome do script: Reparar nome do arquivo mp3
Precisa do pacote python-mutagen-(conserta nomes US-ASCII)
Código: [Selecionar]
#!/bin/bash
# Converter nome do arquivo para UTF-8
# salva como [artista] - [track] - [título].mp3
#

for arq in "$@"; do
    CHARSET="$(file -bi "$arq"|awk -F "=" '{print $2}')"
    ext=${arq##*.}
    if [ "$CHARSET" != utf-8 ]; then
       lista=`mid3iconv -e US-ASCII -d "$arq"| grep -E 'TPE1|TIT2|TRCK'| awk -F"=" '{print $2}' | sed ':a;N;$!ba;s/\n/=/g'| awk -F "=" '{print $2 " - "$3" - " $1}'`
       if [ ! -z "$lista" ];then
       mv "$arq" "$lista"."$ext"
       fi
    fi
done




 == Editado em 15 Jun 2019, 00:09 ==

 Recomendado script: Conversor de áudio
Baixar: http://g-scripts.sourceforge.net/nautilus-scripts/Multimedia/Audio/audio-convert

10
Dicas e Truques / (Dica) Criando uma execucão com pkexec
« Online: 15 de Junho de 2019, 00:32 »
Antes de mais nada temos que saber o caminho do executável do comando que você quer que o pkexec execute.
Para isso usamos o comando which
Exemplo com editor de texto pluma
Código: [Selecionar]
~ $ which pluma
/usr/bin/pluma
Agora vamos criar uma regra no polkit
No seguinte caminho
/usr/share/polkit-1/actions

Criamos o arquivo com o nome pkexec-pluma.policy
Com o seguinte conteúdo.
Código: [Selecionar]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">

<policyconfig>

  <action id="org.freedesktop.policykit.pkexec.run-pluma">
    <description>Executar pluma</description>
    <message>Autenticação requerida para executar pluma</message>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/pluma</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
  </action>

</policyconfig>

Caso faça para outro comando só troque o nome pluma e o caminho do executável.
Depois é só executar o pkpexec
Código: [Selecionar]
pkexec pluma teste.txt

11
Oi pessoal,
 A partir do firefox57 várias extensões deixaram de funcionar. Um delas foi a FEBE ( https://addons.mozilla.org/pt-BR/firefox/addon/febe/ ), que fazia o backup de favoritos,extensões, tema e etc...

O que o script faz:
  -  comprimi o o perfil  completo (7zip)

-  necessário instalar o p7zip-full
Código: [Selecionar]
sudo apt install p7zip-full
Organiza em pastas:
  -  salva os arquivos de instalação das extensões com seus nomes
  -  salva o favoritos e seus backups antigos (bookmarks.html)
  -  salva o arquivo completo prefs.js
  -  exporta do prefs.js as configuracões de temas ( usados) e páginas fixadas e sua quantidade (about:newtab )
  -  salva o arquivo completo favicons.sqlite
  -  cria um arquivo lista_extensões com as ids e nomes das extensões
  -  salva o  mecanismos de pesquisa
  -  salva a personalização da barra de ferramentas
  -  salva as senhas
  -  salva pastas de dados das extensões

 
Para o script funcionar você deve habilitar um opçào no firefox e executar o procedimento:
 digite about:config na barra de endereços e localize a configuração abaixo
 
Código: [Selecionar]
browser.bookmarks.autoExportHTML
 Mude de false para true

 Feche o firefox. Abra-o novamente e feche.
 Pronto.

 Esta opção faz o backup automático do favoritos toda vez que você fechar o firefox.

 Feito isso salve o arquivo em uma pasta  ~/backup/firefox e dê a opção de executar para ele.
 
 chmod +x firefox_backup.sh

 firefox_backup.sh
Código: [Selecionar]
#!/bin/bash
# Backup firefox 57 ou superior
# swatquest
# versão 1.07

# Verificando se o firefox está aberto
firefox=`whereis firefox | awk -F" " '{ print $3 }'`
firefox_exec=$(systemd-cgls /user.slice | grep -Fi "$firefox" | grep -vc "grep"
)
if [[ "$firefox_exec" != 0 ]]; then
printf "%s\n" "O firefox está aberto. É recomendado executar este script com firefox fechado."
   while read -p "Você quer fechar o firefox? [N/s]" RESPFIREFOX ; do
     if [[ $RESPFIREFOX = "" ]]; then
       RESPRANK="N"; exit 0;
     elif [[ $RESPFIREFOX = [Nn] ]]; then
       exit 0;
     elif [[ $RESPFIREFOX = [Ss] ]]; then
       killall firefox;
       sleep 3
       break
     fi
    done
fi
# Criar diretório e acessar
nome_dir=`date +'%F %H.%M.%S'`
mkdir -p "$nome_dir"
cd "$nome_dir"

# Copiar caminho do arquivo do perfil do firefox
perfil=`cat ~/.mozilla/firefox/profiles.ini | grep -i path| awk -F= '{print $2}'`

# Comprimir todo o perfil
printf "%s\n" "Comprimindo perfil completo"
mkdir -p "Perfil_completo"
7z a -t7z -m0=lzma2 -mx=9 -bsp2 -bso0 "Perfil_completo/$perfil.7z" ~/.mozilla/firefox/"$perfil"/

# Backup favoritos
printf "%s\n" "Backup favoritos"
mkdir -p "bookmark_automático"
cp ~/.mozilla/firefox/"$perfil"/bookmarks.html "bookmark_automático"
printf "%s\n" "Backup para pasta de favoritos antigos"
cp -r ~/.mozilla/firefox/"$perfil"/bookmarkbackups "bookmark_automático/bookmarkbackups"

# Backup favicons
printf "%s\n" "Backup favicons"
cp ~/.mozilla/firefox/"$perfil"/favicons.sqlite "favicons.sqlite"

# Backup dos mecanismos de pesquisa
searchpluginsfiles=`ls /usr/lib/firefox/distribution/searchplugins/common/| wc -l`
printf "%s\n" "Backup mecanismos_pesquisa"
if [[ "$searchpluginsfiles" != 0 ]]; then
 mkdir -p "mecanismos_pesquisa/usr/lib/firefox/distribution/searchplugins/common"
 cp /usr/lib/firefox/distribution/searchplugins/common/*  "mecanismos_pesquisa/usr/lib/firefox/distribution/searchplugins/common"
else
 mkdir -p "mecanismos_pesquisa"
fi
cp ~/.mozilla/firefox/"$perfil"/search.json.mozlz4  "mecanismos_pesquisa/"

# Personalização da barra de ferramentas
printf "%s\n" "Backup personalização da barra de ferramentas"
mkdir -p "Barra de ferramentas"
cp ~/.mozilla/firefox/"$perfil"/xulstore.json "Barra de ferramentas"/

# Backup de senhas
printf "%s\n" "Backup senhas"
mkdir -p "Senhas"
[[ -e ~/.mozilla/firefox/"$perfil"/logins.json ]] &&
 cp ~/.mozilla/firefox/"$perfil"/logins.json "Senhas"/
[[ -e ~/.mozilla/firefox/"$perfil"/key3.db ]] &&
cp ~/.mozilla/firefox/"$perfil"/key3.db "Senhas"/

# Backup arquivo de preferência do usuário prefs.js
mkdir -p "Preferência do usuário/Extraídos"
printf "%s\n" "Backup do arquivo de preferência do usuário"
cp ~/.mozilla/firefox/"$perfil"/prefs.js "Preferência do usuário"/

# Extraindo configurações do prefs.js
printf "%s\n" "Extraindo configurações de temas se existir no prefs.js"
grep -i "lightweightThemes.usedThemes" "Preferência do usuário"/prefs.js > "Preferência do usuário"/Extraídos/Temas
printf "%s\n" "Extraindo configurações de sites fixados se existir da página newtab no prefs.js"
grep -Ei 'browser.newtabpage.activity-stream.topSitesCount|browser.newtabpage.pinned' "Preferência do usuário"/prefs.js > "Preferência do usuário"/Extraídos/newtabpage_fixados

# Copiar arquivos de extensões xpi
dir=`pwd`
home_user=`grep $(whoami) /etc/passwd | awk -F : '{print $6}'`

if [[ -e  "$home_user/.mozilla/firefox/"$perfil"/extensions/" ]]; then
 cp ~/.mozilla/firefox/"$perfil"/extensions/*.xpi "$dir"
fi

# Copiar arquivo extensions.json do firefox
cp ~/.mozilla/firefox/"$perfil"/extensions.json "$dir"

# Pega a lista de arquivos de extensões
printf "%s\n" "Backup dos arquivos de instalacão das extensões"
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
lista_ext=($(sed 's/:/\n/g' extensions.json | grep -Ei -A1 '"id"|"name"'| grep -vE '"id"|"name"'| awk -F, '{print $1}' | sed 's/\"//g'| grep -v "\--"))
conta=0
mkdir -p extensões
while [  $conta -lt "${#lista_ext[@]}" ]; do
 if [[ -e "${lista_ext[$conta]}.xpi" ]]; then
  nome_antigo="${lista_ext[$conta]}.xpi"
  nome_novo="${lista_ext[$conta+1]}.xpi"
   if  [[ $nome_novo == *"/"* ]]; then
     mv "$nome_antigo" extensões
   else
     mv "$nome_antigo" "$nome_novo"
     mv "$nome_novo" extensões
   fi
  printf "%s\n%s\n\n" "id:$nome_antigo" "nome:$nome_novo">> lista_extensões
 fi
   let conta=conta+1
done

# Pela lista de pasta das extensões instaladas
pastas() {
cd "$home_user/.mozilla/firefox/$perfil/browser-extension-data"
conta=0
while [  $conta -lt "${#lista_ext[@]}" ]; do
 if [[ -d "${lista_ext[$conta]}" ]]; then
  pasta_rem="${lista_ext[$conta]}"
   printf "%s\n" "$pasta_rem"
 fi
   let conta=conta+1
done
}
IFS=$SAVEIFS

# Copia as pastas de dados de extensões instaladas
lista_dir=($(pastas))
mkdir "extensões/browser-extension-data"
browser_extension_data="$home_user/.mozilla/firefox/$perfil/browser-extension-data"
printf "%s\n" "Backup das pastas de dados de extensões instaladas"
for i in "${lista_dir[@]}"; do
 cp -r "$browser_extension_data/$i" "extensões/browser-extension-data"
done

# Apagar arquivos criados temporários
rm extensions.json

# Mensagem de contagem do backup
total_ext=`[[ -e lista_extensões ]] && grep -c "id:" lista_extensões || printf 0`
[[ -e lista_extensões ]] &&  sed -i "1s/^/[[ Foi feito o backup de $total_ext extensões ]]\n\n/" lista_extensões
printf "%s\n" "Fim do backup: salvo na pasta $dir"
exit 0

Testado no Ubuntu e Arch.
Tem uma pergunta ao tentar executá-lo com firefox aberto

Código: [Selecionar]
Você quer fechar o firefox? [N/s]O padrão é N ( Não)
 

12
Dicas e Truques / Otimizando navegadores ( firefox , opera e etc...)
« Online: 24 de Janeiro de 2017, 23:55 »
Oi pessoal,
   Tem várias formas de otimizar navegadores.

  Por exemplo firefox
  extensões: Tweak Network, Configuration Mania

  No Linux existe duas ferramentas para otimizar vários navegadores
  profile-cleaner - https://github.com/graysky2/profile-cleaner
   Deixa o navegador mais rápido limpando o banco de dados
   Otimiza histórios e favoritos grandes

Modo de instalação
Usuários Ubuntu
sudo add-apt-repository ppa:graysky/utils
sudo apt-get update
sudo apt-get install profile-cleaner

profile-cleaner
Código: [Selecionar]
/usr/bin/profile-cleaner {browser abbreviation}

   c) chromium (stable, beta, and dev)
   f) firefox (stable and beta)
  gc) google-chrome (stable, beta, and dev)
   o) opera (stable, next, and developer)

  ck) conkeror
   h) heftig's aurora
   i) icecat
  id) icedove
  ix) inox
   m) midori
   n) newsbeuter
  pm) palemoon
   q) qupZilla
   s) seamonkey
   t) thunderbird
  to) torbrowser

   p) paths

   profile-sync-daemon - https://github.com/graysky2/profile-sync-daemon
    Uma ótima opção para otimizar.
       Reduz o desgate das unidades físicas
       Melhora a velocidade de abertura dos programas e sites.

Modo de instalação
Usuários Ubuntu
sudo add-apt-repository ppa:graysky/utils
sudo apt-get update
sudo apt-get install profile-sync-daemon

Aquivo de configuração criado
 ~/.config/psd/psd.conf

Tutorial: https://wiki.archlinux.org/index.php/Profile-sync-daemon:

profile-sync-daemon
Código: [Selecionar]
# List browsers separated by spaces to include in the sync. Useful if you do not
# wish to have all possible browser profiles sync'ed
#
# Possible values:
#  chromium
#  chromium-dev
#  conkeror.mozdev.org
#  epiphany
#  firefox
#  firefox-trunk
#  google-chrome
#  google-chrome-beta
#  google-chrome-unstable
#  heftig-aurora
#  icecat
#  inox
#  luakit
#  midori
#  opera
#  opera-beta
#  opera-developer
#  opera-legacy
#  otter-browser
#  qupzilla
#  palemoon
#  rekonq
#  seamonkey
#  vivaldi
#  vivaldi-snapshot
#

13
Dicas e Truques / MPV - Uma ótima opção de reprodutor de vídeo
« Online: 19 de Janeiro de 2017, 23:34 »
Atualizado 01/02/2017
Mpv é um ótimo reprodutor de vídeo, leve, funcional e com um visual simples.
Para quem possue placa de vídeo intel pode ser uma das melhores soluções para reprodução de vídeo.

Existem outros como vlc, smplayer, XBMC, miro, gnome video, bomi, Banshee, mplayer. Contudo todos são mais pesados  comparados com o mpv.
Smplayer funciona com mpv, mas tem um bug com as legendas que não deixa do tamanho que você define.
O mplayer é ótimo, mas não tem as opçòes de funcionabilidades com o mouse do mpv. E o mpv tem suporte vappi e o mplayer não.


Para mais informmações de configuração: https://mpv.io/manual/master/
Exemplos de configurações:
local: ~ /.config/mpv
input.conf: https://github.com/Argon-/mpv-config/blob/master/input.conf
mpv.conf: https://github.com/Argon-/mpv-config/blob/master/mpv.conf
Controles interativos: https://mpv.io/manual/master/#interactive-control

Visual do MPV


O input.conf é configuração pessoal do atalhos de teclado
O mpv.conf seria um pré-configuração para reprodução do player

Exemplo de configuração do input.conf com comentários
Código: [Selecionar]
# Atalhos de teclados para MPV

# Rotacionar tela
Alt+RIGHT add video-rotate 90 # Rotacionar tela para direita
Alt+LEFT add video-rotate -90 # Rotacionar tela para esquerda

# Posição da tela
Ctrl+LEFT add video-pan-x -0.05  # Mover tela para esquerda
Ctrl+RIGHT add video-pan-x 0.05 # Mover tela para direita
Ctrl+DOWN add video-pan-y 0.05 # Mover tela para baixo
Ctrl+UP add video-pan-y -0.05 # Mover tela para cima

# Zoom da Tela
Alt+- add video-zoom -0.25 # Diminuir zoom
Alt++ add video-zoom 0.25  # Aumentar zoom

# Legenda
Alt+r add sub-scale -0.1 # Diminuir legenda
Alt+t add sub-scale 0.1 # Aumentar legenda

# Volume
- add ao-volume -2 # Diminuir volume
+ add ao-volume 2 # Aumentar volume

 
Exemplo de configuração do mpv.conf com comentários
Código: [Selecionar]
# Pré-configurações para MPV

# Geral
#no-border # Sem a janela de barra de título
#pause # Sem reproduzir automaticamente
force-seekable=yes # Permitir sempre a procura, ex. Reproduzir  a partir de pipe ou stream http
force-window=yes  # Sempre abra uma janela de vídeo mesmo sem vídeo
keep-open=yes # Não sair quando o final da lista de reprodução for atingido
save-position-on-quit=yes # Sempre salve a posição de reprodução atual na saída
screenshot-format=png # Formato de captura de tela
screenshot-png-compression=8 # Compressão do formato png <0-9>
screenshot-template='~/Desktop/%F (%P) %n' # O modelo dop nome de arquivops salvo


# Video
hwdec=vaapi #  Decodificação de vídeo em hardware
vo=vaapi # Drivers de saída de vídeo
profile=opengl-hq # Saída de vídeo de alta qualidade
profile-desc="High quality rendering" # Descrição deste perfil
# Isso vem com um filtro de depuração GLSL por padrão, o que pode levar a um mau desempenho para alguns usuários, e pode
# reduzir a qualidade visual do conteúdo granulado. Você pode desativá-lo facilmente.
# deband=no


# Audio
ao=pulse # Drivers de saída de áudio
#audio-normalize-downmix=no # O áudio surround estiver downmixed para estéreo ( o som pode ficar baixo )
#normalize=<yes|no|auto> # Normalizar ao remixar layouts de canais. Padrão auto ( usa o valor definido por --audio-normalize-downmix)

# Codecs
hwdec-codecs=all # codes de decoficação

# Legenda
#no-sub-ass # Desativar sub-ass. Por padrão é habilitada
sub-font='DejaVu Sans' # fonte usado, padrão sans-serif, ou pode usar Droid Sans
sub-color='#F0C927' # Cor da fonte
sub-font-size=60 # Padrão 55 : tamanho da legenda
sub-bold=yes # Padrão no : legenda em negrito
#sub-italic=no # Padrão no: legenda em itálico
#sub-border-size=3.2 # Padrão 3 : tamanho da borda
#sub-margin-x=25 # Padrão 25 : margem do esquerda e direita da tela para as legendas em pixels
#sub-margin-y=22 # Padrão 22 : margem do topo e inferior da tela para as legendas em pixels
#sub-align-x=<left|center|right> # Padrão center
#sub-align-y=<top|center|bottom> # Padrão bottom
#sub-scale-by-window=<yes|no> # Padrão yes : se modificar o tamanho da janela modifica tamanho da legenda
#sub-scale-with-window=<yes|no> # Padrão yes :mesmo que o de cima, mais este se aproxima com o tamanho da janela e o outro desabilita a escala
#sub-scale=<0-100> # Padrão 1 : modifica o tamanho da legenda
#sub-codepage=cp1252 # Codificaçào da legenda setada manualmente
#sub-codepage=enca:ru # Usa o pacote encaque  é um detector de carateres e ru (russian - KOI8-R CP1251 ISO-8859-5 IBM866 maccyr)
sub-codepage=uchardet # Usa o pacote uchardet que é um outro detector de carateres

14
Não recomendo para quem quer aprender comandos
Oi pessoal.
 Criei este tópico para facilitar e melhorar o uso do sistema no dia a dia.
  Lógico que para dar certo será necessário da ajuda de todos. Se você sabe algum comando e quer compartilhar com a gente, por favor, sinta-se à vontade para adicionar neste tópico.
  Aqui será como uma coletânia de comandos com alias ou funções para facilitar o uso do sistema Linux.

  Serve tanto para iniciantes como para experientes.

  Copiar para o arquivo ~/.bashrc

  Aqui já vou colocar e explicar alguns comandos, e depois adiciono mais o que eu for lembrando.
  Este tópico também foi inciado em  https://forum.archlinux-br.org/viewtopic.php?id=4650
 
   Obs: Caso esqueça algum nome de alias é só executar  o comando alias

Para ver nomes de alias e funções
Código: [Selecionar]
# Ver alias e function do bashrc
alias verbashrc='alias; echo -e "\n    [          Funções          ]\n"; grep -v alias ~/.bashrc | grep -i "[a-zA-Z]()" |  sort | cut -d"(" -f1 '

Caso queira que mostre a funçao completa
Código: [Selecionar]
alias verbashrc='alias; grep -v alias ~/.bashrc | grep -i -A 30 "()"' 
Atualiza e edita o bashrc na sessão iniciada sem precisar reiniciar o terminal.
Código: [Selecionar]
# Atualiza na sessão aberta as configurações no arquivo .bashrc
alias upbashrc="source ~/.bashrc"
# Abre o arquivo rc e depois atualiza na sessão
alias bashrc='$EDITOR ~/.bashrc ; source ~/.bashrc'


 Alias e funções

 Alguns comandos é aconselhável colocar uma interatividade, por exemplo, o comando rm, pois você pode apagar o arquivo errado.

Código: [Selecionar]
# Interativo
alias rm='rm -i'
alias ln='ln -i'

Comandos como mover e cp é legal ter um explicativo e interativo.

Código: [Selecionar]
# Comando que é interativo e explica o que está sendo feito
alias mv='mv -vi'
alias cp='cp -vi'

Você digita o inicio e depois com a teclas de subir e descer do teclado ele irá procurar no histórico as conclusões.
~/.bashrc
Código: [Selecionar]
bind '"\e[A": history-search-backward'
 bind '"\e[B": history-search-forward'

ou afete todos os progranmas radline:
~/.inputrc

Código: [Selecionar]
"\e[A": history-search-backward
"\e[B": history-search-forward


Para o comando df emitir tamanhos na potência de 1000 (p.ex.: 1.1G) ( mais próximo dos gerenciadores de arquivos)
Código: [Selecionar]
## comando df ##
alias df='df -H'

Para o histórico
Código: [Selecionar]
# Procura por comando no registro history
alias hs='history | grep $1'

Manuais
Código: [Selecionar]
# Explicação de manuais
explain () {
if [ "$#" -eq 0 ]; then
while read  -p "Command: " cmd; do
curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
done
echo "Bye!"
elif [ "$#" -eq 1 ]; then
curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
else
echo "Usage"
echo "explain                  interactive mode."
echo "explain 'cmd -o | ...'   one quoted command to explain it."
fi
}


Ordenar a pasta e arquivos ou até as subpastas por tamanho.
Normalmente  pelo gerenciador de arquivos ele só ordena os arquivos e não as pastas.
Código: [Selecionar]
# Ordenar por tamanho
tamanho() {
if [ -z $1 ]; then
  du --si -d 1 -a | sort -hr | tail -n +2
elif [ $1 -eq $1 2> /dev/null ]; then
  du --si -d $1 -a | sort -hr | tail -n +2
else
 echo "Use número, por exemplo, tamanho 2"
fi
}

Uso:
tamanho
tamanho 2
tamanho 10

O número seria referente as subpastas.

Remover espaço em branco no início do nome
Código: [Selecionar]
# Remover espaço em branco no início do nome
rembranco(){
 for b in "$@"; do
  nome=$(echo "$b"|sed "s/^ //")
   if [ "$b" != "$nome" ]; then
      mv -v "$b" "$nome"
   fi
 done
}

Uso:
rembranco *
rembranco arquivo


Alguns alias interessantes
Código: [Selecionar]
# Listar arquivos de hoje
alias lshoje='ls -al --time-style=+%D | grep `date +%D`'

# Mostrar permissão
alias permissão='stat -c "(%F)- %n %a %A" "$@"'

# Mostrar portas abertas/ativas tcp e udp
alias portas='netstat -tulanp'

# Passar opções para free ##
alias meminfo='free -m -l -t -h'

# Top processos comendo memória
alias psmem='ps auxf | sort -nr -k 4'
alias psmem10='ps auxf | sort -nr -k 4 | head -10'

# Top processos comendo cpu
alias pscpu='ps auxf | sort -nr -k 3'
alias pscpu10='ps auxf | sort -nr -k 3 | head -10'

# Obter informações da CPU do servidor
alias cpuinfo='lscpu'

# Temperatura da cpu
alias cputemp='sensors | grep Core'

# Mostrar as montagens por coluna
alias cmount="mount | column -t"


Pegar o pid do processo
Código: [Selecionar]
# Pegar o pid do processo
pid (){
  ps aux | grep -i "$1" | grep -v grep | awk '{print $2}'
}

Uso:
pid firefox

Lista somente usuário e não de serviços
Código: [Selecionar]
# lista usuários
alias usuários="awk -F : '$3 >= 1000 { print $1}' /etc/passwd "  # apenas usuários do sistema e não de serviços sem o root
alias usuários="awk -F : '$3 < 1 || $3 >= 1000 { print $1}' /etc/passwd " # apenas usuários do sistema e não de serviços com o usuário root

Lista todos  os usuários
Código: [Selecionar]
# lista usuários e grupos
alias usuários='cut -d \: -f1 /etc/passwd'

Ou use a função para lista usuários (samba,serviços e criados)
Código: [Selecionar]
# Lista usuários
usuarios(){
[[ "$1" == "r" && "$#" -lt 2 ]] && awk -F : '$3 < 1 || $3 >= 1000 { print $1}' /etc/passwd;
[[ "$1" == "c" && "$#" -lt 2 ]] && awk -F : '$3 >= 1000 { print $1}' /etc/passwd;
[[ "$1" == "s" && "$#" -lt 2 ]] && awk -F : '$3 > 0 && $3 < 1000 { print $1}' /etc/passwd;
[[ "$1" == "S" && "$#" -lt 2 ]] && sudo pdbedit -L  | cut -d \: -f1;
if [[ "$#" -eq 0 ]]; then
  cut -d \: -f1 /etc/passwd;
elif [[ "$#" -gt 1 || "$1" != "c" && "$1" != "r" && "$1" != "s" && "$1" != "S" ]]; then
cat << USOAJUDA
$@ não é uma opção válida.

ajuda: usuario [opções]
  r     : Mostra com o usuário root
  c     : Mostra usuários criados sem o serviços
  s : Mostra usuários de serviços
  S : Mostra usuários do samba

Exemplo:
usuarios r
usuarios
USOAJUDA
fi
}

Lista todos os grupos
Código: [Selecionar]
alias grupos='cut -d: -f1 /etc/group'
 Informações de usuários
Código: [Selecionar]
# Informações de usuários
infouser(){
vuser=`grep -c "^$1:" /etc/passwd`
tuser=`grep "^$1:" /etc/passwd| cut -d':' -f3`
if [[ $vuser -gt 0 ]]; then
 if [[ $# == 1 ]]  ; then
  usu=$1
  echo -e "\e[1m Usuário: \e[0m $usu"
  echo -e "\e[1m Diretório:\e[0m" `grep  $usu /etc/passwd | cut -d: -f6`
  echo -e "\e[1m Shell:\e[0m " `grep  $usu /etc/passwd | cut -d: -f7`
  echo -ne "\e[1m Tipo:\e[0m "
     if [[ $tuser -ge 1000 ]]; then
        echo "usuário comun"
     elif [[ $tuser -eq 0 ]]; then
        echo  "super usuário"
     else
        echo "usuário de serviço"
     fi
  echo -e "\e[1m \n Lista os grupos que o $usu pertence \e[0m"
  groups $usu
  echo -e "\e[1m \n Lista os privilégios do usuário $usu \e[0m"
  sudo -lU $usu
  echo -e "\e[1m \n Sistem em atividade \e[0m"
  echo -e "Tempo de atividade do sistema:" `uptime -p | sed 's/^up //g'`
  echo -e "$usu iniciou em:" `last -n1 $usu | awk '{print $3" "$4" "$5" "$6}' | head -n1`
  echo -e "$usu está no:" `last -n1 $usu | awk '{print $2}' | head -n1`
 fi
else
 [[ $# -gt 0 ]] && echo "O usuário $@ não existe" || echo "O usuário não foi informado";
 echo "USO: infouser [usuário]"
fi


Sobre obter o ip público
Código: [Selecionar]
# Pegue seu atual ip público e host
alias ipublic='curl icanhazip.com && curl icanhazptr.com'

mais informações aqui
https://major.io/icanhazip-com-faq/

Colorir páginas de manuais
Código: [Selecionar]
# Colorir páginas de manuais
export LESS_TERMCAP_mb=$(printf '\e[01;31m') # Entrar no modo intermitente - vermelho
export LESS_TERMCAP_md=$(printf '\e[01;35m') # Entrar no modo de duplo brilho - negrito, magenta
export LESS_TERMCAP_me=$(printf '\e[0m') # Desativar todos os modos de aparência (mb, md, so, us)
export LESS_TERMCAP_se=$(printf '\e[0m') # Deixar o modo standout
export LESS_TERMCAP_so=$(printf '\e[01;33m') # Entrar no modo standout - amarelo
export LESS_TERMCAP_ue=$(printf '\e[0m') # Deixar o modo sublinhado
export LESS_TERMCAP_us=$(printf '\e[04;36m') # Entrar no modo sublinhado - ciano

Cria e entra no diretório
Código: [Selecionar]
# Cria e entra no diretório
mkcd() {
 mkdir -p "$1"; cd "$1";
}

 Entra e lista diretório
Código: [Selecionar]
# Entra e lista diretório
cdls() {
 cd "$1"; ls;
}

Citação de: niquelnausea
deletar diretórios vazios
Código: [Selecionar]
deletarpastasvazias() {
        read -p "Delete all empty folders recursively [y/N]: " OPT
        [[ $OPT == y ]] && find . -type d -empty -exec rm -fr {} \; &> /dev/null
}


listar diretórios apos o comando cd
Código: [Selecionar]
function cd() { builtin cd -- "$@" && { [ "$PS1" = "" ] || ls -hrt --color; }; }


10 comando mais usados
Código: [Selecionar]
maisusados() { history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}' | sort -rn | head; }


subir diretório (se não especificar quantos, sobe um nível)
Código: [Selecionar]
subir() {
      local d=""
      limit=$1
      for ((i=1 ; i <= limit ; i++)); do
        d=$d/..
      done
      d=$(echo $d | sed 's/^\///')
      if [[ -z "$d" ]]; then
        d=..
      fi
      cd $d
    }

Função parecida com a qual o niquelnausea enviou, mas com algumas opções a mais.
Comando do histórico mais usado com numeração e porcentagem
Código: [Selecionar]
maisusados(){
  history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl |  head -n10
}

Para o comando ping
Código: [Selecionar]
# Parar depois de enviar a contagem de pacotes ECHO_REQUEST
alias ping='ping -c 5'
# Não esparar o intervalo de 1 segundo, vá rápido
alias fastping='ping -c 100 -s.2'

Iptables - Firewall
Código: [Selecionar]
# Mostrar todas as regras iptables
alias iptlist='sudo /sbin/iptables -L -n -v --line-numbers'
alias iptlistin='sudo /sbin/iptables -L INPUT -n -v --line-numbers'
alias iptlistout='sudo /sbin/iptables -L OUTPUT -n -v --line-numbers'
alias iptlistfw='sudo /sbin/iptables -L FORWARD -n -v --line-numbers'
alias firewall=iptlist

15
Distribuições Derivadas do Ubuntu / nvidia driver + demora no boot
« Online: 23 de Abril de 2014, 22:43 »
Oi pessoal

Após instalar o driver nvidia o boot demora quase 1 minuto
Com o driver xserver-xorg-video-nouveau, o boot demora em torno de 6 segundos.

Não apresenta erro na tela do boot.

Tem como resolver isso?

Páginas: [1] 2 3