如何防止创建文件“ recently-used.xbel”?


11

我想永久阻止Ubuntu 12.10创建“最近使用”的文件列表。此列表似乎存储在文件中:

/home/user/.local/share/recently-used.xbel

我曾尝试删除此文件,但是每次启动新的登录会话时,它都会一直被重新创建。我需要知道如何防止重新创建此文件。


我也希望看到这个解决方案。
反转

有人可以在bugzilla.gnome.org上提交错误吗?
int_ua 2014年

Answers:


12

若要禁用基于GTK 3的应用程序的列表,请按照下列步骤操作:

rm ~/.local/share/recently-used.xbel

如果没有“〜/ .config / gtk-3.0 / settings.ini”,则

mkdir -p ~/.config/gtk-3.0
    echo -e "[Settings]\ngtk-recent-files-max-age=0\ngtk-recent-files-limit=0" > ~/.config/gtk-3.0/settings.ini

如果有“〜/ .config / gtk-3.0 / settings.ini”,则

echo -e "\ngtk-recent-files-max-age=0\ngtk-recent-files-limit=0" >> ~/.config/gtk-3.0/settings.ini

(请注意,“ >>”与“>”的区别;“ >>”将追加到文件中,而单个“>”将完全覆盖该文件,而无需备份,如果该文件已经存在)

在任何一种情况下:

rm ~/.local/share/recently-used.xbel

要为基于GTK 2的应用程序禁用列表,请执行以下步骤:

echo gtk-recent-files-max-age=0 >> ~/.gtkrc-2.0

这些步骤比更改文件权限更好,因为它们可以防止在启动依赖于文件的基于GTK的应用程序时显示错误消息。

可以在这里找到详细信息-https: //alexcabal.com/disabling-gnomes-recently-used-file-list-the-better-way/


这将是很好,如果你有实际的代码gtk2,并gtk3在你的答案。人们可以根据需要查看链接的背景。如果链接无法访问将很有帮助

@ vasa1好主意很快就会这样做。
Kingmilo

1
好的,我进行了更改,从最近使用的.xbel中删除了所有书签,然后再次登录。我创建了一些文件。到目前为止看起来不错。尽管看起来有些程序可能具有自己的内部 “最近使用”列表。LibreOffice Calc似乎是其中之一。

1
最后一点:) 仍然有人可以找出已访问的内容。例如,请参见以下代码:find ~/{Documents,Desktop,Downloads,Music} -ctime -1 -type f -exec bash -c 'select f;do [[ -n $f ]]&&xdg-open "$f"||exit;done' _ '{}' +。它基于schragge此线程中的建议,并不依赖recently-used.xbel。底线:如果其他人可以访问PC,则“常规”措施是不够的。

1
注意:这些设置不会阻止其他磁盘写操作:(meld:3588): Gtk-WARNING **: Attempting to store changes into '/home/user/.local/share/recently-used.xbel', but failed: Failed to rename file '/home/user/.local/share/recently-used.xbel.ZT44NX' to '/home/user/.local/share/recently-used.xbel': g_rename() failed
int_ua 2014年

1

我发现摆弄最近使用的.xbe l文件没有任何效果(至少在Ubuntu 17.04+上有效)。您可以将其删除,清除,/ dev / null,将其设置为不可变,以任何方式进行拍摄都无法使用。例如,Nautilus在侧面板上硬连线了一个“最近使用过的”部分-它不能以任何方式删除,并且在被擦除的.xbel文件中仍然有效。

在GNOME / Ubuntu上执行此操作(对我有用):

  1. 打开终端并启动gnome
$ gnome-control-center
  1. 导航到“隐私组”,然后单击“隐私” 在此处输入图片说明

  2. 单击“使用和历史记录”,然后在随后的对话框中将“最近使用”开关设置为OFF

就在您执行此操作时,您可以看到Nautilus中的“最近使用过的”列表为空。(这也会擦除.xbel文件-签出。)完成。


1

和以前一样,无论您做什么,它总是存在的。但是您可以使其不可变,以便停止记录并保持空白。命令:sudo chattr + i〜/ .local / share / recently-used.xbel,直到您更改+ i(不可变),系统以及您也将无法对其进行任何操作。这是重新启动重新登录的反向命令:sudo chattr -i〜/ .local / share / recently-used.xbel(仅当您出于某种原因希望最近使用的功能再次启用时)。我已经成功地通过将文件夹移至/ dev / shm并关闭了计算机来清除注销。文件夹返回,为空。


0

到目前为止,即使将其插入根目录或使其不可变,该文件仍会重新创建。即使将最大年龄设置设置为0,它仍然会记住目录。

我已实施一种解决方法,该方法每5分钟清除一次此文件。这是一个非常令人讨厌的解决方法:创建一个cron条目以经常清除文件:

crontab -e

# clear gtk recently used list every 5 minutes
*/5 *   *   *   *   echo "" > .local/share/recently-used.xbel

某些应用程序仍默认为最近使用的列表,但这满足了您的问题,以永久阻止Ubuntu 12.10创建“最近使用”的文件列表。


-1

假设只是要防止写入的文件,则可以尝试更改其权限,以便无法访问该文件。

首先,删除文件。然后,创建一个新的空白的。然后,自定义其权限。

cd ~/.local/share
rm recently-used.xbel
touch recently-used.xbel
chmod 000 recently-used.xbel

如果需要,您甚至可以更改其所有权,以使没有程序可以作为用户运行并更改其权限并写入:

sudo chown root:root recently-used.xbel

某些程序可能会发出错误(带有或不带有最终定制)。


知道哪个程序写入该文件吗?

我在Lubuntu中看到此文件(xml),该文件没有Zeitgeist,AFAIK。

我得到的只是提示返回。是的,我的是纯粹的Lubuntu安装。

1
@ vasa1基于GTK的应用程序将写入该文件。
Kingmilo 2013年

如果将此文件chmod设置为root,GTK程序确实会向stderr发出错误,这显然是因为用户作为所有者重新创建了该文件。多么神秘!该解决方案似乎不起作用。
反转
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.