为啥 xpra html5 客户端不显示客户端的本地打印机而常规 xpra 桌面客户端会显示?

Posted

技术标签:

【中文标题】为啥 xpra html5 客户端不显示客户端的本地打印机而常规 xpra 桌面客户端会显示?【英文标题】:Why xpra html5 client dont show client's local printer and regular xpra desktop client does?为什么 xpra html5 客户端不显示客户端的本地打印机而常规 xpra 桌面客户端会显示? 【发布时间】:2017-06-21 11:20:35 【问题描述】:

我在 lubuntu16.04 上使用 xpra,我使用以下命令启动 xpra:

xpra start :5007 --start-child=leafpad --html=on --bind-tcp=0.0.0.0:44444 -d printing --encoding=jpeg 

启动 xpra 后,当我使用 urlbar 中的192.168.x.x:44444 ip 从 chrome 连接时,leafpad 应用程序显示在 chrome 选项卡上,但是当我在同一选项卡上按 ctrl + p 时,它显示 lubuntu16.04 机器的默认打印机列表但不显示我机器的打印机。

此外,当我尝试使用带有192.168.x.x:44444 ip 的 Windows 机器上的简单 xpra 桌面客户端进行连接时,leafpad 会在我的 Windows 桌面上打开新窗口,并且在按下 ctrl + p 时,它会按预期显示我的本地 Windows 机器打印机。

所以我的问题是为什么在 webbrowser(html5 客户端)中它不能显示本地机器打印机以及为什么 xpra 桌面客户端显示它,这两个 html5 客户端和 xpra 桌面客户端有什么区别?

谁能解释我是否想在 html5 客户端中列出本地打印机而不是它的必要步骤?

【问题讨论】:

【参考方案1】:

根据Will html5 client be able to list client's local printers in browser and print on it:

浏览器不允许 javascript 代码查询硬件。 (澄清一下:从 HTML5 客户端打印应该已经可以工作,并且打印对话框应该允许您选择打印机 - 但这一切都发生在浏览器的 UI 客户端)

【讨论】:

以上是关于为啥 xpra html5 客户端不显示客户端的本地打印机而常规 xpra 桌面客户端会显示?的主要内容,如果未能解决你的问题,请参考以下文章

为啥NodeJs获取客户端的IP都是这样的

服务端HTML5,JS怎么读写手机客户端的本地文件?

html5的websocket和php的socket分别完成客户端与服务器端的通信过程。

将实时 http 流式传输到 HTML5 视频客户端的最佳方法 [关闭]

WebSocket 实战

在 HTML5 video 标签中显示本地视频流