如何在gedit中加密/解密文件?
在之前版本的Ubuntu中(例如:maverick,natty),我曾经做过:
sudo apt-get install gedit-plugins seahorse
在首选项中启用插件后,能够在Gedit中加密/解密文件。
但是,因为,Oneiric我没有找到实现这一目标的方法。
现在我正在运行Precise(LTS版本!),我对无法做这些事情感到有点失望。
我不得不与ryran的例子进行斗争,直到我得到我需要的东西:使用我的GPG密钥加密给几个人。 这是加密的代码:
#!/bin/sh gpg -a -e -r test@test.com -r test2@test.com --no-tty -
并解密:
#!/bin/sh gpg -d --no-tty - 2> /dev/null
并在两种情况下将输入设置为“当前文档”并输出到“替换当前文档”。
尝试使用PGP插件的Geany 。 Geany是一个基于gtk +的轻量级编辑器,具有出色的支持。
sudo apt-get install geany geany-plugin-pg
一些autopromotion /反馈请求: http ://pietrobattiston.it/gedit-crypto
(注意我开发这个也是因为我无法使用上面的“外部工具”方法而不包括我的密钥的密码 – 我不想这样做)。
另一个使用代理并支持输入电子邮件进行非对称加密的方法:
#!/bin/bash mail=$(zenity --entry --text="Enter E-Mail") gpg -a -e --no-tty -r "$mail" --use-agent -
并解密:
#!/bin/bash gpg --no-tty --use-agent -
Pipe的链接 (在注释中)给出了破坏。
您需要在“管理外部工具”下添加条目才能执行此操作。 您甚至可以添加键盘快捷键。 链接没有提到(据我所见),你需要安装gnupg-agent
才能输入密码。
这是一个例子。 创建一个新操作并将其称为对称加密 :
gpg --use-agent --symmetric 2>/dev/null
根据自己的喜好调整其他选项(您可以这样做,以便自动选择和替换整个窗口中的所有文本,您可以在底部窗格中弹出输出等。
注意:如果您安装gnupg2
而不是gnupg-agent,然后使用gpg2
而不是gpg
启动命令行,您可以利用gpg2的冷却器[集成]代理。
只是扩展@Ignacio解决方案(有效),我发现如果加密两次(或解密)会让人感到烦恼,它会破坏事情…所以我正在运行它,特别注意文档上的加密状态:
加密
#!/bin/bash stdin=$(cat) if [ ! "${stdin:0:27}" == "-----BEGIN PGP MESSAGE-----" ]; then echo "$stdin" | gpg -a -e -r email@email.com --no-tty - else echo "$stdin" fi
解码
#!/bin/bash stdin=$(cat) if [ "${stdin:0:27}" == "-----BEGIN PGP MESSAGE-----" ]; then echo "$stdin" | gpg -d --no-tty - 2> /dev/null else echo "$stdin" fi
假设设置:
- 保存 – 没什么
- 输入 – 当前文档
- 输出 – 替换当前文档
- 适用性 – 所有文件/所有语言
然后你放置一个快捷方式,如Ctrl + Shift + D(解密)和Ctrl + Shift + E(加密),你很高兴。