我怎样才能让以下命令也为 root 用户更改?
gsettings set org.gnome.gedit.preferences.editor create-backup-copy false
此命令应禁用 gedit 备份文件。它似乎对当前用户“vagrant”有效(如下面的屏幕截图所示),但对 root 无效。
值得一提的是,该命令需要以当前用户“vagrant”的身份运行,因为它是脚本的一部分。
Ubuntu 12.04
Kernel 3.2.0-58-generic-pae
GNOME 3.2.1
Running Linux in a Vagrant VM on Windows 8 using Virtual Box
答案1
如果您希望根用户gedit
不创建备份,则只需在根用户中禁用即可gsettings
(编辑根用户gsettings
时应小心谨慎,并且只能在有限的地方进行)。
sudo -i
然后
gsettings set org.gnome.gedit.preferences.editor create-backup-copy false
请注意,从 13.10 开始,我可能会坚持使用gksudo gedit
或仅使用 cli 编辑器,例如nano
。
答案2
sudo -i
这有效!
如果你确信当前用户具有 sudo 的相应权限,则以下命令将从当前用户更改 root 用户的 gedit 首选项
sudo -i gsettings set org.gnome.gedit.preferences.editor create-backup-copy false
但是,您不必完全禁用备份文件,而是可以将它们重新定位到另一个文件夹。Rmano 提供了以下脚本:
mkdir ~/TILDEBACKUPS
#!/bin/bash
find $HOME/* -name TILDEBACKUPS -prune -or -name "*~" -print -exec mv {} $HOME/TILDEBACKUPS/ \;
此外,正如 Rinzwind 所指出的,随着模式名称的变化,脚本 gsettings 可能需要大量维护。
最后,这里有一个更大的错误,导致我提出这个问题。感谢 Radu Rădeanu,使用“sudo gedit filename”打开文件会导致在为什么用户永远不应该使用普通 sudo 来启动图形应用程序
在 gedit 中打开文件名的更好方法是:
gksudo gedit filename
感谢大家的帮助
答案3
顺便说一句,清理所有备份文件的方法并不是那么复杂......您可以使用此脚本来完成:
#!/bin/bash
find $HOME/* -name TildeBackups -prune -or -name "*~" -print -exec mv {} $HOME/TildeBackups/ \;
...只需运行它,它就会将主文件夹下的所有 *~ 文件移动到TildeBackup
主文件夹中(您需要预先创建)。
当您发现需要备份时已经太晚了......
答案4
要禁用它,请运行以下命令:
sudo gsettings set org.gnome.gedit.preferences.editor create-backup-copy false
现在要清理你的主目录中的这些文件(以 ~ 结尾的文件),请运行这个简单的命令:
find ~ -name "*~" -delete