3 votos

scriptcopiar el contenido del portapapeles en un archivo

Quiero escribir un shell script que copie el contenido del portapapeles (sólo texto plano) cuando el contenido anterior cambie. Cuando lanzo el script cada vez que copio algo (por lo que el contenido del portapapeles cambia) el script copia los nuevos valores en un archivo.

He escrito un script que funciona correctamente:

#!/bin/bash
prev=" "
while true
do
curr=$(pbpaste)
if [ "$curr" != "$prev" ]
then
   echo -n " " >> /Users/davide/desktop/file   
echo -n $curr >> /Users/davide/desktop/file     
fi
done

No me gusta mucho esta solución. Debe haber otras formas de resolver este problema.

1) Obtener el contenido del portapapeles, almacenarlo en una variable y comparar este valor con el valor actual del portapapeles (mi solución.)

2) Detectar la tecla pulsada CMD+C . Cuando el usuario pulsa CMD+C (atajo de teclado para copiar algo en el portapapeles) casi seguro que el contenido del portapapeles cambia, pero no sé si es posible detectar la pulsación sin instalar librerías adicionales.

3) Ver el proceso.

Processes associated to copy action CMD+C

PBOARD process info

¿Se puede monitorizar el uso de cpu o mem del proceso pboard (cuando se copia algo en el portapapeles el valor de este porcentaje cambia)?

¿O (no sé si es posible) puedo ver el espacio de direcciones del proceso?

Así que mi pregunta es esto:

En tu opinión, ¿hay alguna alternativa mejor al script que he escrito, teniendo en cuenta las alternativas 2 y 3?

0 votos

Esto parece una buena prueba de concepto para que el malware busque contraseñas en el portapapeles. Supongo que esto será aplastado tarde o temprano y tendrás que obtener un derecho para husmear en los cambios del portapapeles. Veremos lo que sale de la WWDC en el frente de la privacidad - tal vez esto será posible todavía por un tiempo

0 votos

Con respecto a su opción 2, por favor leer esto para obtener algunas ideas. También, leer este post

0 votos

¿Cómo vas a "vigilar" los cambios en el portapapeles? Para ello, necesitas algo más que un script.

1voto

Douglas Puntos 10417

Un producto como éste ya existe y está disponible gratuitamente en la App Store - Corte de mosca .

De su Github página del proyecto:

Guarda en un archivo el elemento del historial del portapapeles que se muestra actualmente, cerrando el bisel. Borrar el elemento del historial del portapapeles si se ha pulsado la letra S mayúscula. pulsada. Los recortes se guardan en un archivo en el Escritorio, de forma similar a como se guardan las Las capturas de pantalla se guardan en OS X. Por ejemplo, "Desktop/Clipping 2015-07-15 at 08.35.10.txt

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X