如何修复“无法访问 Dropbox 文件夹”错误?

我最近遇到了一个相当奇怪的问题,与Dropbox有关,几周前开始出现。
Dropbox会停止同步,并显示“无法访问Dropbox文件夹”的消息,除非我重新启动,否则它将拒绝同步。
我尝试过重新启动Dropbox和退出登录,但似乎无论我做什么,它都无法再次同步,除非重新启动。
这不是权限问题,因为在我突然失去访问权限时,权限并没有发生变化。
我已经检查了与Dropbox相关的任何可能在停止时仍然挂起的lsof。据我所知,除了Dropbox之外,没有其他东西在访问它的文件夹时发生这种情况。

我相信最近有一个内核更新,彻底解决了这个问题。bugs.launchpad.net/ubuntu/+source/linux/+bug/1101666 - user1614
4个回答

如果你把这些加入到`/etc/sysctl.conf`中:
fs.inotify.max_user_watches = 1048576
fs.inotify.max_user_instances = 256

这将解决问题。您可能需要运行sudo sysctl -p以使这些设置生效。

或者,如果您不想将这些设置永久保存,可以尝试以下命令...

sudo sysctl fs.inotify.max_user_instances=256
sudo sysctl fs.inotify.max_user_watches=1048576

在这种情况下,重新启动后设置将丢失。
问题是系统已经用完了inotify实例。您可以检查您的syslog(例如使用tail -f /var/log/syslog),如果您看到...

tail: inotify无法使用,回退到轮询:打开文件太多

那么您就知道这是您的问题。对我来说,这是nepomuk的问题。

有趣。我看到dovecot在抱怨:lister dovecot: imap(craig): 警告:用户1000(UID craig)的Inotify实例限制超过,已禁用。增加/proc/sys/fs/inotify/max_user_instances。我会尝试添加并查看是否能解决问题。谢谢! - user1614
1暂时接受这个答案,因为它最有道理。如果再遇到同样的问题,我会回来查看的。谢谢! - user1614
我在全新安装的Ubuntu 12.10上遇到了完全相同的问题,使用默认设置。根据这里描述的方法,增加max_user_instances解决了这个问题。 - Holger
4对于Ubuntu来说,sudo echo 256 > /proc/sys/fs/inotify/max_user_instances会出现权限被拒绝的错误。应该使用sudo sysctl fs.inotify.max_user_instances=256代替。 - törzsmókus
我可以确认这对我来说解决了问题(Ubuntu 12.04)。 - Raja Selvaraj
Ubuntu 12.10在这里。对我来说也解决了问题! - Lagerbaer
只是想确认一下,这个修复方法适用于Ubuntu 16.04。直到昨天我都没有遇到Dropbox的任何问题,甚至还试着更改了密码,但并没有起作用。我应用了这个修复方法,现在它正在同步之前未同步的所有内容。 - Hatem Jaber
你需要运行sudo sysctl -p以使更改生效。 - Jim Balter
这个修复似乎在Ubuntu 18.04上仍然有效。 - Russell Richie
我可以确认这个修复了错误。 - Lucius Hu

fs.inotify.max_user_instances=256解决了我立即遇到的“无法访问dropbox文件夹”的问题(Ubuntu 12.04)。
它还消除了一个我注意到的奇怪行为,即dropbox系统托盘图标不断指示文件活动:箭头循环不停,尽管我的dropbox中没有任何变化,而且“最近更改的文件”列表保持不变。
在我将fs.inotify.max_user_instances=256更改后的几分钟内,这种毫无意义的循环停止了。

这通常是由于sysctrl已经耗尽了inotify实例而引起的。以下两个命令通常可以解决此问题。
sudo sysctl fs.inotify.max_user_watches=1048576
sudo sysctl fs.inotify.max_user_instances=256

2欢迎来到 Ask Ubuntu!你能否详细解释一下你的回答,这样大家就能知道你在这里做什么。 - damien

在一个论坛上,有人提到这是由于inotify引起的。他们有这个解决方案/变通方法。
  • 禁用桌面搜索(在KDE中是nepomuk+tracker,在GNOME中是tracker)
  • 重新启动(注销没有帮助)

据我所知,我没有运行任何跟踪器。是否有特定的进程我应该寻找? - user1614