Script Nautilus admin modificado 18/06No 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 pacotesOs 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.htmlOs 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 JPGPrecisa 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 PDFPrecisa do pacote unoconv #!/bin/bash
#
# Converter arquivo para PDF
#
unoconv -f pdf "$@"
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 clamavPrecisa 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 rootnome do script: Nautilus admiin como script#!/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 Scriptsnome do script: Converter arquivo para UTF-8 Precisa do pacote glibc #!/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 #!/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)#!/bin/bash
# Conserto ao copiar caminho usando xclip para Gnome
#
echo -n "$PWD/$@"| xclip -i -selection "clipboard"
nome do script: Escanear com antivirusPrecisa 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 PDFPrecisa do pacote imagemagick#!/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 PDFPrecisa dos pacotes zenity e ghostscript#!/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 mp3Precisa 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 "$@"; 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 áudioBaixar:
http://g-scripts.sourceforge.net/nautilus-scripts/Multimedia/Audio/audio-convert