Resulta que nautilus no trae en el menú las opciones mover a, copiar a , al dar click con el botón derecho del mouse..
manos a la obra y enchulemos nuestro Ubuntu
1) Instalamos nautilus-actions-config
apt-get install nautilus-actions-config
2) Abrimos el programa un editor de Texto , en mi caso gedit que trae el entorno Gnome
3) Copiamos estos dos Script , cada uno en un archivo nuevo , y lo guardamos en /usr/bin
yo los llame nautilus_copyto y nautilus_maoveto
nautilus_Copyto
#! /bin/sh
# nautilus_copy_to
################################################## ########################
# Shellscript: Add CopyTo function to Nautilus
# Version : 1.01-2
# Author : Tony Whelan
# Modificado - optimizado : Dugar Agamez (2008-07-14)
# Traducido : Español (Dugar Agamez - Colombia)
# Date : 2007-04-24
# Category : File Utilities
################################################## ########################
# Description
# Provide (via Nautilus Actions Configuration) a right-click menu option
# to Copy selected files to another location via a file dialog
# For simplicity, this version only allows copying files, not folders
################################################## ########################
# This version improves the extraction of filename from pathname
# and adds quotes around $i for correct processing of filenames containing spaces
# Note that this script will not copy files from remote machines (SMB)
# The Nautilus Actions Confuguration tool should only allow local files to present this script
################################################# #########################
#Actualizacion (2008-07-14)
#correccion en la sintesis
#mensaje de Archivos copiados
#mejoramiento de la pregunta de sobreescribir archivo
#barra de proceso del copiado, con porcentages y nombre del archivo en tiempo real
#
#
# Define variables
PN="Nautilus CopyTo" # program name
VER='1.01-2'
errmsg1="Se necesitan uno o mas archivos como parametro de entrada"
errmsg2="Este Scrip esta diseñado para ser llamado por Nautilus"
errmsg3="El archivo no se puede copiar en el destino"
copied=0 # Count of files copied
per=0 # porcentage de la copia
skipped=0 # Count of files skipped
dest="" # destination pathname
errcount=0 # count of any errors returned by copy operation
curfile="" # name of file currently being processed (without path)
s_size="" # file size of source file
s_date="" # date/time stamp of source file
t_size="" # file size of target file
t_date="" # date/time stamp of target file
###############################
# Define subroutines
# Display usage message and exit script when user presses OK
Usage () {
zenity --error --title "$PN $VER" --text "$errmsg1 $errmsg2"
exit 1 # return code of 1 signifies script failed to complete action
}
# Display supplied message text (one parameter) and return on press of OK button
msg () {
zenity --info --title "$PN $VER" --text "$1"
}
# Display message showing target filename, and size/datestamps, and prompt to over-write
okwrite (){
# On return, the $? variable is 0 if you press Ok and 1 if you press Cancel.
response=`zenity --question --title "$PN $VER - Archivo Existente" --text "¿Desea sobrescribir el archivo $1?
\nArchivo Existente:\n $2 bytes, Modificado $3\nSobrescribir con:\n $4 bytes, Modificado $5"`
}
###############################
# If no parameters supplied, display usage message and exit
[ $# -lt 1 ] && Usage
# Display the CopyTo dialog box for user to select destination
# Note the single quotes in first code line below are backwards single quotes!
# These redirect standard output to the environment variable 'dest'
dest=`zenity --file-selection --directory --title "Seleccione el directorio destino"`
# if variable returned is not a valid folder name, user made no selection so abort
[ ! -d "$dest" ] && exit 1
# Process the parameters
(for i in $*
do
# Get the filename without the path
# use double quotes around $i to handle filenames with spaces
curfile=`basename "$i"`
# Does the file exist at the destination?
if [ -f "$dest/$curfile" ] # if exist
then
# get current source file's size and date/time details
s_date=`find "$i" -printf "%Ta %Td %Tb %TY %TH:%TM:%TS"`
s_size=`find "$i" -printf "%s"`
# get destination file size and date/time details
t_date=`find "$dest/$curfile" -printf "%Ta %Td %Tb %TY %TH:%TM:%TS"`
t_size=`find "$dest/$curfile" -printf "%s"`
# prompt user whether to overwrite target with source
okwrite "$curfile" "$t_size" "$t_date" "$s_size" "$s_date"
if test `expr $?` -gt 0
then
skipped=`expr $skipped + 1`
continue
fi
fi
# copy the file preserving the source file's attributes where possible
echo "#"$curfile
if cp -pr "$i" "$dest/$curfile"
then
copied=`expr $copied + 1`
per=`expr $copied \* 100 \/ $#`
echo $per
else
msg "Lo siento, no se puede copiar $curfile a ${dest}. No tenienes los permisos necesarios"
fi
sleep 0.1 # si decea puede omitir esta linea solo permite visualizar mejor el efecto grafico
done)|zenity --progress --percentage=0 --auto-close --title "Copiando..." --text "Archivo"
exit 0
Nautilus_Moveto
#! /bin/sh
# nautilus_move_to
################################################## ########################
# Shellscript: Add MoveTo function to Nautilus
# Version : 1.01-2
# Author : Tony Whelan
# Modificado - optimizado : Dugar Agamez (2008-07-14)
# Traducido : Español (Dugar Agamez - Colombia)
# Date : 2007-04-24
# Category : File Utilities
################################################## ########################
# Description
# Provide (via Nautilus Actions Configuration) a right-click menu option
# to Move selected files to another location via a file dialog
# For simplicity, this version only allows moving files, not folders
################################################## ########################
# This version improves the extraction of filename from pathname
# and adds quotes around $i for correct processing of filenames containing spaces
# Note that this script will not copy files from remote machines (SMB)
# The Nautilus Actions Confuguration tool should only allow local files to present this script
################################################### #######################
#Actualizacion (2008-07-14)
#correccion en la sintesis
#mensaje de Archivos Movidos
#mejoramiento de la pregunta de sobreescribir archivo
#barra de proceso del copiado, con porcentages y nombre del archivo en tiempo real
#
#
# Define variables
PN="Nautilus CopyTo" # program name
VER='1.01-2'
errmsg1="Se necesitan uno o mas archivos como parametro de entrada"
errmsg2="Este Scrip esta diseñado para ser llamado por Nautilus"
errmsg3="El archivo no se puede mover al destino"
copied=0 # Count of files copied
per=0 # porcentage de la copia
skipped=0 # Count of files skipped
dest="" # destination pathname
errcount=0 # count of any errors returned by copy operation
curfile="" # name of file currently being processed (without path)
s_size="" # file size of source file
s_date="" # date/time stamp of source file
t_size="" # file size of target file
t_date="" # date/time stamp of target file
###############################
# Define subroutines
# Display usage message and exit script when user presses OK
Usage () {
zenity --error --title "$PN $VER" --text "$errmsg1 $errmsg2"
exit 1 # return code of 1 signifies script failed to complete action
}
# Display supplied message text (one parameter) and return on press of OK button
msg () {
zenity --info --title "$PN $VER" --text "$1"
}
# Display message showing target filename, and size/datestamps, and prompt to over-write
okwrite (){
# On return, the $? variable is 0 if you press Ok and 1 if you press Cancel.
response=`zenity --question --title "$PN $VER - Archivo Existente" --text "¿Desea sobrescribir el archivo $1?
\nArchivo Existente:\n $2 bytes, Modificado $3\nSobrescribir con:\n $4 bytes, Modificado $5"`
}
###############################
# If no parameters supplied, display usage message and exit
[ $# -lt 1 ] && Usage
# Display the CopyTo dialog box for user to select destination
# Note the single quotes in first code line below are backwards single quotes!
# These redirect standard output to the environment variable 'dest'
dest=`zenity --file-selection --directory --title "Seleccione el directorio destino"`
# if variable returned is not a valid folder name, user made no selection so abort
[ ! -d "$dest" ] && exit 1
# Process the parameters
(for i in $*
do
# Get the filename without the path
# use double quotes around $i to handle filenames with spaces
curfile=`basename "$i"`
# Does the file exist at the destination?
if [ -f "$dest/$curfile" ] # if exist
then
# get current source file's size and date/time details
s_date=`find "$i" -printf "%Ta %Td %Tb %TY %TH:%TM:%TS"`
s_size=`find "$i" -printf "%s"`
# get destination file size and date/time details
t_date=`find "$dest/$curfile" -printf "%Ta %Td %Tb %TY %TH:%TM:%TS"`
t_size=`find "$dest/$curfile" -printf "%s"`
# prompt user whether to overwrite target with source
okwrite "$curfile" "$t_size" "$t_date" "$s_size" "$s_date"
if test `expr $?` -gt 0
then
skipped=`expr $skipped + 1`
continue
fi
fi
# copy the file preserving the source file's attributes where possible
echo "#"$curfile
if mv "$i" "$dest/$curfile"
then
copied=`expr $copied + 1`
per=`expr $copied \* 100 \/ $#`
echo $per
else
msg "Lo siento, no se puede mover $curfile a ${dest}. No tenienes los permisos necesarios"
fi
sleep 0.1 # si decea puede omitir esta linea solo permite visualizar mejor el efecto grafico
done)|zenity --progress --percentage=0 --auto-close --title "Moviendo..." --text "Archivo"
exit 0
descarga de los script (aqui)
Script original es de Tony Whelan , traducido y mejorado por mi.
/usr/bin/nautilus_copyto
/usr/bin/nautilus_moveto
4) Abrimos Configuraciones de acciones de nautilus
el programa el se encuentra en Sistema/Preferencia/ se llama Configuración de acciones de Nautilus
5) Damos en y configuramos de la siguiente manera para nautilus_copyto,
en icono puedes escoger el que mas te guste o valla con tu tema actual, el el cuadro consejo puedes colocar cualquier mensaje es es que aparece en la bara de estado
damos click en
queda con los dos menu añadido, para que nautilus y los script funcionen correctamente deberemos reiniciar a nautilus , en la consola de comandos ejecutamos
Esto nos cierra y abre nuevamente nuestro nautilus
Puedes copiar y mover arvhivos y/o carpetas, tambin grupos de estos,
Listo ya tenemos nuestros script funcionando....
Actualización :
para que puedas copiar archivos/carpetas que contengan los nombres con espacios, ejemplo : la playa.jpg , hay que cambiar los separadores de argumentos que por defecto es el espacio, por otro.
agregar en cada uno de los archivos
#! /bin/sh
IFS='ç' # puedes agregar cualquier carácter que no uses , puede ser coma , ó \ ó ^ etc
# nautilus_copy_to
.
.
No hay comentarios.:
Publicar un comentario