我是一个在家工作的开发人员,按小时收费。
我正在寻找一个在后台运行并记录我的屏幕的应用程序,并通过FTP将其上传(每20秒左右)到我的网络服务器。
这样,我可以为我的客户建立一个简单的网站,他们可以“看着我工作”,并确信我真的为他们工作,而不仅仅是闲逛或玩游戏。
它必须是一个环境应用程序,这意味着它应该是非常discreete并且不干涉我的工作(主要是xcode / unity东西)
我愿意支付公平的共享软件费,但不是任何基于订阅的。
我是一个在家工作的开发人员,按小时收费。
我正在寻找一个在后台运行并记录我的屏幕的应用程序,并通过FTP将其上传(每20秒左右)到我的网络服务器。
这样,我可以为我的客户建立一个简单的网站,他们可以“看着我工作”,并确信我真的为他们工作,而不仅仅是闲逛或玩游戏。
它必须是一个环境应用程序,这意味着它应该是非常discreete并且不干涉我的工作(主要是xcode / unity东西)
我愿意支付公平的共享软件费,但不是任何基于订阅的。
Answers:
您可以使用Automator构建工作流来执行此操作。Automator可以截取屏幕截图,除非您有一个与Automator兼容的FTP客户端,否则您需要使用shell脚本上传屏幕截图。请记住,上传屏幕截图可能需要超过20秒,具体取决于屏幕大小和互联网连接速度。5分钟的间隔可能更合适。
这是一个Automator工作流程,我刚刚测试成功截取并将其上传到ftp服务器。
注意:您需要设置shell脚本步骤以忽略上一步的输入,否则在尝试将图像转换为文本时将失败。
您可以将此工作流保存为.workflow文件,然后您需要将其安排在您认为合适的任何时间间隔上运行。您可以通过iCal执行此操作,但我认为iCal只允许您每天或更少地运行它。所以你需要别的东西。您可以通过编写launchd
脚本来完成它,也可以使用像lingon这样的实用程序为您创建脚本。这样您可以将其设置为在您喜欢的任何时间间隔运行。
/3/ftp_screenshots.sh
:
#!/bin/sh
tmp=${TMPDIR}`uuidgen`.png
screencapture $tmp
fn=`date '+%m-%d-%H-%M'`.png
ftp -in ftp.server.tld<<FTP
user username pa55word
binary
cd www
put $tmp $fn
bye
FTP
rm $tmp
我更喜欢SSH(ssh - 使用SCP bash脚本上传文件 - Stack Overflow),但我还是没有想出如何设置SSH密钥。
~/Library/Preferences/ftp_screenshots.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>Label</key>
<string>ftp_screenshots</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>/3/ftp_screenshots.sh</string>
</array>
<key>StartInterval</key>
<integer>1800</integer>
<key>RunAtLoad</key>
<true/>
<key>ExitTimeOut</key>
<integer>60</integer>
</dict>
</plist>
这些功能可能会有所帮助:
laload() { launchctl load ~/Library/LaunchAgents/"$1".plist; }
launload() { launchctl unload ~/Library/LaunchAgents/"$1".plist; }