如果我打开了 Dolphin 并在终端或 Windows 上工作,文件可能会被移动或添加。我该如何确保它实时更新目录的状态?
目前我甚至无法使用返回来更新,并且必须不断重新打开海豚,非常烦人
答案1
刷新 Dolphin 的方法是按F5。不过,这需要手动操作。
为了实现持续刷新,一种自动解决方案是创建一个在启动时运行的 bash 脚本。F5如果 Dolphin 处于打开状态,此 bash 脚本应每五秒按一次。创建一个名为的文件,dolphin-update
内容/usr/local/bin
如下:
#!/bin/bash
while true; do
PID=$(pgrep "dolphin")
if [ "$?" -ne "0" ]; then
xdotool key 'F5'
fi
sleep 5
done
您可能需要先以 root 身份创建它,然后将所有者更改为您的用户:
sudo chown username:username /usr/local/bin/dolphin-update
确保它具有可执行权限:
chmod +x /usr/local/bin/dolphin-update
现在我们需要在启动时运行它。为此,请运行sudo crontab -e
并将以下行添加到文件末尾:
@reboot /usr/local/bin/dolphin-update
该脚本将在启动时运行。
您现在应该拥有一只不断刷新的海豚!
此脚本有一些注意事项。
- 如果您打开 Dolphin,转到另一个F5触发某些操作的应用程序(例如 Chromium 刷新页面),该脚本仍会运行并且会持续造成烦恼。解决方案:不使用时请关闭 Dolphin。
- 由于
cron
使用了作业,如果您的计算机崩溃,则脚本将不会在启动时运行。然而,这不是cron
脚本的问题。
脚本中逐行的含义如下:
#!/bin/bash
- 使用 bash 运行while true; do
- 连续运行PID=$(pgrep "dolphin")
- 查找实例的进程 IDdolphin
。这纯粹是为了检查是否有正在运行的 Dolphin 实例。if [ "$?" -ne "0" ]; then
- 检查是否有 Dolphin 实例正在运行。如果有,那么...xdotool key 'F5'
- 按F5fi
- 结束if
阻塞sleep 5
- 等待 5 秒钟,然后重复该过程done
- 结束 while 块
答案2
这似乎是一个漏洞在 Kubuntu 18.04 中仍然活跃,其中 Dolphin 不会总是自动刷新并立即显示另一个程序所做的更改,在这种情况下需要手动刷新。F5目前看来,对于这个目的来说,它运行良好。
答案3
我同意这是 Dolphin 的问题。我没有使用它,但测试了我在 KDE VM 上编写的一些 bash 脚本,发现虽然 Dolphin 在主文件夹中时会进行实时更新,但在 /dev/shm 上时不会进行实时更新。我在这里找到了你的问题并投了赞成票,因为这个问题仍然需要回答。
我在脚本中采用的是:xdotool key 'F5'
这对我的脚本有用,但不是实时的。我的脚本生成了一堆文件,你看不到它发生的过程,但一旦完成,它就会“按下”‘F5’,文件就可见了。
答案4
楼主的原始问题已经快 5 年了。有一个2009 年发布的主漏洞有 15 个重复的错误指向它。在 OP 的问题发布后,Debian 中出现了错误修复(评论 #58)。
2018 年有报道称该漏洞仍然存在新的错误报告有点误导,因为提交报告的用户(Jeremy9856)发表了十几条评论尝试不同的解决方案:
inotify
更新了允许的内核监视数量- 禁用
tlp
使驱动器进入睡眠状态 - 做
mkdir
/rmdir
多次来触发问题 - 另一位用户(评论#10)测试了一行代码,并表示问题不存在
while true ; do mkdir abc ; sleep 1 ; rmdir abc ; sleep 1 ; done
- 当路径中有重音符号时(例如
/home/jeremy/Téléchargements/Séries
)
最后一条评论来自杰里米9586状态:
好吧,我删除了 /home (桌面、下载等...) 中指向 /media/Data 的文件夹的符号链接,并使用 kde 设置(在应用程序中)来更改这些文件夹的位置,大约一周后我就没有遇到这个问题了!
那么它与符号链接有关吗?
概括
楼主遇到的错误最早在 2009 年被报告,并于 2013 年得到解决。
新悬赏指出的漏洞似乎与刷新文件列表无关,需要按F5。该漏洞是由符号链接之间。/home
/media/home