有什么办法evince 3.10在启动时自动加载最后打开的文档?
答案1
您可以通过编写脚本来在系统关闭时保存 Evince 的状态并在系统启动时重新加载来实现这一点。不过,我不确定在关闭 Evince 时如何做到这一点。我一直在研究基于类似问题中的其他建议的类似解决方案,到目前为止看起来像这样(但功能并不完整:
保存状态
#!/usr/bin/awk -f
# Note: this won't work yet, just saved version from command line
# Need to adjust to work as stand alone script
# State can be restored with `$ { xargs -d "\n" -a ~/.openpdfs evince; } &`,
# but this is probably not the best option
BEGIN {
cmd = "lsof";
while ((cmd | getline) > 0)
if ($1=="evince" \
&& /\/home\/.+\.[^. ]+$/ \
&& !/\.(ttf|cache|log|i686-pc-linux-gnu)$/ \
&& sub(/^[^\/]+/, ""))
print > "'$HOME'/.openpdfs";
close(cmd);
}
恢复状态
/usr/bin/xargs -d "\n" -a ~/.openpdfs /usr/bin/evince;
答案2
对于 ubuntu 用户,基于其他答案,我编写了一个简单的应用程序来加载最后打开的文档:Github 仓库。它使用lsof
命令定期检查 evince 进程打开的 pdf,并在最后一个 evince 窗口关闭或运行第二个程序(如切换按钮以加载和关闭 evince 会话)之前 15 到 30 秒保存会话(打开的 pdf)。