我正在使用带有 Nemo 文件管理器的 Ubuntu 15.04。
如何启用右键单击选项,将文件压缩为 zip 存档并将其附加到 Thunderbird 中的新电子邮件?
答案1
创建一个脚本(.nemo_action)来执行此操作,这里您可以找到正确语法的示例。
完成脚本后,将其添加到nemo-actions
以便可以右键单击。您必须将其添加到
$HOME/.local/share/nemo/actions/
脚本必须有.nemo_action
扩展名
现在您必须制作用于压缩和邮寄的脚本:
在脚本中添加需要:
例如使用 zip 进行压缩:
zip -r attach.zip attachFiles
现在将其附加到 thunderbird 中的新邮件中:
thunderbird -compose "attachment='/path-to- attach.zip'"
nemo_action
因此这个脚本将被
一些有用的链接:
答案2
为此,您需要两个脚本:Nemo 操作脚本和实际执行工作的脚本:(嗯,实际上一个就足够了,但这会使维护非常烦人)
右键单击的操作脚本必须进入一个非常特定的目录:
~/.local/share/nemo/actions/compress-and-mail.nemo_action:
由于它不会扩展~
或$HOME
,因此您必须提供完整路径。
[Nemo Action]
Name=Compress and E-Mail
Comment=zip-compress files and send them with Thunderbird
Icon-Name=thunderbird
Exec=/home/saravanabawa/.local/nemo_mail_compress.sh %F
Selection=notnone
Extensions=any
EscapeSpaces=true
另一个脚本是 bash 脚本,用于压缩所选文件、将临时存档附加到新邮件并在 Thunderbird 关闭时立即删除它。该文件必须位于您在Exec=
上一个脚本中指定的位置:
#!/usr/bin/env bash
ATT=$(mktemp /tmp/attachment.XXXXX.zip) #Generate temp file
rm $ATT #Remove temp file
zip -rj $ATT $@ #Compress files
thunderbird -compose "attachment='file://${ATT}'" #Attach zip to message
rm $ATT #Delete archive when done
是的,我先创建一个临时文件,然后再将其删除。这样就生成了一个文件名,但zip
不会抱怨该文件不是 zip 存档。
我创建的脚本允许您附加多个文件和目录。由于某些限制,可以压缩整个路径(存档将采用整个路径作为名称,最终包含从到/
所有压缩文件的目录树)或省略所有目录,即所有文件都将位于根级别。不同目录中的重复文件名将导致程序无法正常工作(我从不使用 zip,我不知道它会如何反应)。如果您希望采用第一种行为,请j
从 zip 命令中删除开关,否则请将其保留在那里。
附言:如果收件人收到带有附件的电子邮件,他们可能会产生怀疑attachment.JgHdI.zip
(名称由 mktemp 生成)。因此,您可能需要在 Thunderbird 中重命名存档。
另一个选项是查询存档名称,例如使用 Zenity。改编后的脚本可能如下所示:
#!/usr/bin/env bash
ATT="/tmp/$(zenity ---entry --title='Enter file name' --text='Please name the attachment archive').zip"
zip -rj $ATT $@
thunderbird -compose "attachment='file://${ATT}'"
rm $ATT
答案3
对于 Ubuntu 16.10 中适用于 Nemo 3.20 的 Thunderbird,我采用了以下解决方案:http://www.badpenguin.org/nemo-action-send-to-email
- 去
/usr/share/nemo/actions
- 以 root 身份打开(在 Nemo 中)
- 复制示例脚本
- 重命名为:
thunderbird.nemo_action
打开它并插入以下内容:
[Nemo Action] Name=Attach to Email Comment=Attach to Email Exec=thunderbird -compose to=,"attachment='%U'" Icon-Name=thunderbird Selection=notnone Extensions=nodirs; Separator=, EscapeSpaces=false
关闭尼莫:
nemo -q
- 在 Nemo 中右键单击文件,您将在菜单中找到“附加到电子邮件”!