Você não está autenticado.

Anúncio

Arch Linux Brasil está precisando de sua colaboração para realizar o pagamento do domínio e do host, para colaborar, realizar doações via paypal.

Para mais informações: contato at archlinux-br.org.

#1 15/06/2019 01:27:17

swatquest
Moderador
Registrado: 05/10/2010
Mensagens: 1.951

Scripts para o Nautlilus (alterado script 18/06)

Script Nautilus admin modificado 18/06
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://forum.archlinux-br.org/viewtopic.php?id=9901

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

#!/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

#!/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

#!/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

#!/bin/bash
#
# Converter arquivo para PDF
#

unoconv -f pdf  "[email protected]"

nome do script: Editar como root

#!/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

#!/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

#!/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...

#!/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

#!/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

#!/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

#!/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

#!/bin/bash
#
# Acessar como root
#
# Determine the path
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
# Determinar o tipo ao executar como ROOT
if [ -f "$obj" ]; then
pkexec gedit "$obj"
elif [ -d "$obj" ]; then
pkexec nautilus "$obj"
fi

exit 0





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

Novos Scripts

nome do script: Converter arquivo para UTF-8
Precisa do pacote glibc

#!/bin/bash
# Converter arquivo para UTF-8
#

for filename in "[email protected]"; 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

 #!/bin/bash
# Converter grupo imagens para PDF
#

convert "[email protected]" 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)

#!/bin/bash
# Conserto ao copiar caminho usando xclip para Gnome
#

echo -n "$PWD/[email protected]"| xclip -i -selection "clipboard"

nome do script: Escanear com antivirus
Precisa do clamav - outro exemplo sem usar clamtk

#!/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

#!/bin/bash

nomearq=$(echo -n "[email protected]"| sed 's/\....$//');
mkdir -p "$nomearq"
convert -density 300 "[email protected]" "$nomearq"/images.jpg | zenity --progress --pulsate --title="Extraindo" --auto-close --text="Extraindo images do arquivo [email protected] para pasta:\n $PWD/$nomearq/"

nome do script: Otimizar PDF
Precisa dos pacotes zenity e ghostscript

#!/bin/bash

arq=(`echo [email protected]`) 
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)

#!/bin/bash
# Converter nome do arquivo para UTF-8
# salva como [artista] - [track] - [título].mp3
#

for arq in "[email protected]"; 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/nautil … io-convert

Última edição por swatquest (18/06/2019 22:40:33)

Offline

Rodapé do site