如何在Bash脚本中配置qpdfview显示选项并跨机器迁移文件专属视图设置?
背景与已解决的部分
你提到在会议中用qpdfview展示不同文档,需要定制显示参数(比如连续模式、双页带封面、缩放比例),最初尝试在Bash脚本中直接指定启动参数:
# 启动第一个文档,指定页码和视图设置 qpdfview --continuous --2page-w-cover --zoom=167% document-one.pdf#54 & disown # 或者从TeX源定位 # qpdfview --continuous --2page-w-cover --zoom=167% document-one.pdf#src:foobar.tex:42:0 & disown printf ' \n \n Some nice message \n \n ' read -p "Press enter to continue" # 启动第二个文档 qpdfview --continuous --2page --zoom=35% document-two.pdf#73 & disown # qpdfview --continuous --2page --zoom=35% document-two.pdf#src:foobar.tex:31:0 & disown
但发现qpdfview的手册里并没有明确支持直接在命令行指定这些视图持久化选项,后来通过开启per-file设置解决了本地的视图保存问题:修改~/.config/qpdfview/qpdfview.config,设置restorePerFileSettings=true,这样qpdfview会自动记住每个文档的视图配置,不用每次手动指定参数。
跨机器迁移文件专属视图设置的解决方案
针对“不同演示机器如何快速同步这些设置”的问题,这里有几个实用的方案:
1. 打包并迁移整个qpdfview配置目录
qpdfview的所有配置(包括per-file视图设置)都存储在~/.config/qpdfview/目录下,你可以直接打包这个目录,带到目标机器上解压覆盖即可:
- 在本地机器打包:
tar -czf qpdfview-presentation-settings.tar.gz ~/.config/qpdfview/ - 将打包好的文件传输到目标机器(比如用U盘、云盘共享),然后解压到用户目录:
tar -xzf qpdfview-presentation-settings.tar.gz -C ~/
这样目标机器的qpdfview就会自动加载你本地保存的所有per-file视图设置,无需额外配置。
2. 使用便携模式指定自定义配置文件
如果不想覆盖目标机器原有的qpdfview配置,可以尝试用自定义配置文件启动qpdfview:
- 先把本地的
~/.config/qpdfview/qpdfview.config复制到演示用的U盘或文档目录中 - 在目标机器上启动qpdfview时,指定这个自定义配置文件(你可以手动测试一下是否支持
--config参数):qpdfview --config=/path/to/your/custom-qpdfview.config document-one.pdf#54
这种方式不会修改目标机器的系统配置,用完即走,非常适合临时演示场景。
3. 脚本化批量导入指定文件的视图设置
如果你只需要同步特定演示文档的视图设置,而不是全部配置,可以:
- 在本地打开
~/.config/qpdfview/qpdfview.config,找到对应文档的配置段(通常会包含文件名和视图参数) - 把这些配置段复制出来,保存为一个单独的文件,比如
presentation-settings.conf - 在目标机器上,将这些内容追加到
~/.config/qpdfview/qpdfview.config末尾:cat /path/to/presentation-settings.conf >> ~/.config/qpdfview/qpdfview.config
这种方式更轻量化,不会影响目标机器上其他文档的qpdfview设置。
额外建议
如果以上方法都不适用,也可以提前联系qpdfview的开发者,建议在后续版本中增加命令行直接指定持久化视图参数的功能,或者完善便携模式的支持——不过目前来看,打包配置目录是最直接可靠的临时解决方案。
备注:内容来源于stack exchange,提问作者YQ002lc2

