找回密码
 立即注册

QQ登录

只需一步,快速开始

LukeLiu
超级版主   /  发表于:2020-3-30 18:54  /   查看:3811  /  回复:0
本帖最后由 LukeLiu 于 2020-4-17 10:12 编辑

当电脑系统的print spooler 服务没有开启,会无法正常打开V6.0.0.0版本的活字格设计器。这个问题的发现来自于一位格友的求助,他刚刚安装的活字格设计器V6.0.0.0公测版,无法正常打开,异常的效果:

打开异常.gif

加载窗口昙花一现后,这位格友没迎来设计器主窗口。当这位格友就这样来回看了几遍后,发现窗口这么快消失并不是因为自己的电脑配置太好的缘故,当机立断,发帖求助。

后续的沟通呢,通过格友提供的日志与我们开发小哥哥的协助,终于找到了该异常的原因,并反馈给了这位格友处理方法,最终协助他解决了这个问题。
当然,想到也许会有其他的格友遇到此类同样的问题,我们马不停蹄的整理出来这个帖子,把这个问题的解决方法的细节展现给大家。

我们是如何找出问题原因的

我想,仅仅通过开篇的动图就立下判断出问题的原因,实际上是很困难的。此时探寻问题的路子,唯寄托于日志。
给这位格友表达了现状:咱们一起看看活字格设计器产生的日志,说不定能发现端倪,获取活字格设计器日志的操作方式说明:如何获取设计器的日志?

等来了格友发来的日志文件,我以Error为关键字,在日志全文里查找,果不其然,发现猛虎:
image.png358107299.png

忽然间,三个问题如弹幕从左脑溜到右脑:
  • RPC是什么呢?
  • 活字格设计器打不开,和RPC服务有什么关系?
  • 如何处理这个异常?

我先去补充相关背景,当然由百度出发,找到:
RPC (Remote Procedure Call)即远程过程调用,是分布式系统常见的一种通信方法,已经有 40 多年历史。当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手段之一。
来自:--知乎

好像没明白,怕自己陷入一个大坑,感觉自己对于问题的排查方向走偏了,遂求助了我们的开发小哥哥,让人家明白了我们的问题后,开发小哥哥反馈给我们:
6.0.0.0的活字格设计器启动时会检查打印机服务,这个服务属于RPC服务范畴,因此,他认为有可能是打印机的后台处理服务(print spooler 服务)没开启导致的问题。

得,我们有了一个比较明确的猜测,需要我们测试验证它。

我们是如何解决这个问题的

我和开发小哥哥一起做测试验证:
1. print spooler 服务关闭后,6.0.0.0活字格设计器无法打开。

关闭打印服务.gif

2. 开启print spooler服务后,6.0.0.0活字格设计器正常打开。

打开打印服务.gif

因此,得出结论,该造成该设计器无法打开的原因是“print spooler 服务没开启导致”。

对于如何开启print spooler 服务,如果上面的动图还是没让你明白,你可以看看这篇帖子的详细讲述:如何开启Print spooler服务

这位格友了解到解决方法后,这个问题确实迎刃而解了,但我们还没来感受问题已解决的愉悦,新的问题接踵而至——另外一位格友提了一个安全问题:“我们公司基于安全考虑,服务器禁止开启打印机服务”。

问题的形势陡然变得两难:有解决方法,但不满足人家的需求。

幸好开发小哥哥这时还没下班回家,赶忙又问了他这个问题。他说:“不必担心,服务器端没开启这个打印服务是不影响服务器端程序正常运行的,因为,活字格服务器端根本不会调用打印服务。”

被这样一点播,想通了,是啊,我们打印的流程本身就是在访问者的电脑上,服务器哪需要调用打印机呀。

所以结论:对于print spooler 服务,运行活字格设计器的电脑必须要开启,运行活字格服务器的电脑不需要开启。

虚惊一场,谨慎的担心是必要的,但这问题不存在。

总结

当我们出现活字格设计器或服务器运行异常的情况,若在论坛上没有搜索到解决方法,这时我们通过查看日志获取细节信息,也许会对我们排查问题提供很有用的帮助。

这个问题由于当系统的print spooler服务没有开启,从而影响了v6.0.0.0的设计器启动策略。之所以这里标明版本号,是因为,这将有可能是唯一出现这个问题的版本,之后的正式版,不会出现这个问题,6.0正式版的策略将会调整,或许会是这样:即使打印服务没开启,活字格设计器也会正常打开,当在设计器里操作打印相关的选项时,会检测打印服务是否开启。而后续关于这个策略的更新,我们会及时的同布的。














0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部