【问题处理】银河麒麟操作系统实例分享,理光打印机lpr协议打印问题处理

1.问题环境

系统版本:Kylin-Desktop-V10-SP1-General-Release-xxx-20221120-x86_64

内核版本:linux 5.4.18-44kt-generic

系统版本:麒麟v10 sp1

处理器:kx6640ma

2.问题描述

问题详细描述:用户通过lpr协议去连接文印打印机的,打印传输时间需要5分钟,在做文印打印机得连接测试,发现使用lpr协议去连接文印机进行打印的时候,打印任务发送到打印机需要278秒时间(无论打印文件大小)

从抓包日志上看到,连接lpr515端口就是用了278秒后才能成功,中间发生过多次重试连接。连接3次后才能成功,理光厂家就判断麒麟电脑的LPR协议对windows server协议不兼容导致的。

处理方法一:uri配置的时候加入?reserve=no

例如添加打印机的时候,使用lpd://10.41.124.131?reserve=no

根据分析lpd可能是根据url来判断是否使用预留端口进行打印。

处理方法二:尝试使用网络命名空间的部署脚本

添加网络命名空间,将cups的守护进程放入到ns1的网络命名空间中执行,而后在系统网络命名空间中使用iptables实现源地址和端口转换。

1、创建部署脚本deploy.sh

#!/bin/bash

# 部署网络命名空间
cat <<EOF > /usr/local/bin/netns.sh
#!/bin/bash
ip netns add ns1
ip link add veth0 type veth peer name veth1
ip link set veth1 netns ns1
ip addr add 10.0.0.1/24 dev veth0
ip link set veth0 up
ip netns exec ns1 ip addr add 10.0.0.2/24 dev veth1
ip netns exec ns1 ip link set veth1 up
ip netns exec ns1 ip route add default via 10.0.0.1 dev veth1
ip netns exec ns1 sysctl -w net.ipv4.tcp_syn_retries=1
iptables -t nat -A POSTROUTING -s 10.0.0.2 -j MASQUERADE --random
sysctl -w net.ipv4.ip_forward=1
EOF

chmod a+x /usr/local/bin/netns.sh

# 部署开机服务
cat <<EOF > /etc/systemd/system/netns.service
[Unit]
Description=Create and configure network namespaces
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=bash /usr/local/bin/netns.sh

[Install]
WantedBy=multi-user.target
EOF

systemctl enable netns.service
systemctl start netns.service

# 修改cups服务
systemctl stop cups
cp /lib/systemd/system/cups.service /lib/systemd/system/cups.service.bak
sed -i 's#ExecStart=/usr/sbin/cupsd -l#ExecStart=/usr/bin/ip netns exec ns1 /usr/sbin/cupsd -l#g' /lib/systemd/system/cups.service

systemctl daemon-reload
systemctl start cups

2、登录root用户,su - root

3、进行部署,bash ./deploy.sh

3.问题处理

1、建议使用方法一,修改uri,在uri结尾添加?reserve=no

2、也可以使用方法二的部署脚本,直接部署,不会影响其它进程。

4.参考资料

http://web.mit.edu/ops/services/print/Attic/src/doc/LPRng-HOWTO-18.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/791463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何申请Telegram机器人 | 推送通知

一、前言 利用Telegram机器人推送通知&#xff0c;需要在环境变量填入正确的TG_BOT_TOKEN以及TG_USER_ID&#xff0c;以下教程简明阐述如何获取Token以及UserID 二、获取步骤 1、首先在Telegram上搜索BotFather机器人。需要注意的是&#xff0c;搜索结果中选择ID为BotFather…

基于SSM+Jsp+Mysql的图书仓储管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

浅谈TCP(2):流量控制与拥塞控制

上文浅谈TCP&#xff08;1&#xff09;&#xff1a;状态机与重传机制介绍了TCP的状态机与重传机制。本文介绍流量控制&#xff08;Flow Control&#xff0c;简称流控&#xff09;与拥塞控制&#xff08;Congestion Control&#xff09;。TCP依此保障网络的QOS&#xff08;Quali…

Native Instruments Kontakt 7 for Mac v7.9.0 专业音频采样

Native Instruments Kontakt 7是一款强大的软件采样器&#xff0c;它允许用户从各种来源采样音频并进行编辑和处理。它包含大量预设采样库&#xff0c;包括乐器、合成器、鼓组和声音效果等。此外&#xff0c;Kontakt 7还允许用户创建自己的采样库&#xff0c;以便根据自己的需要…

python ---- %r %s格式输出的区别

在python中&#xff0c; % s和 % r是我们常用的格式符&#xff0c;它们的用法基本一致&#xff0c;但作用却不尽相同&#xff0c;下面简要说明一下两者的区别&#xff1a; 1. % s是将对象 / 变量传递到str()方法中&#xff0c;并将其转化为面向用户的可阅读的格式。 2. % r是将…

》shader程序纹理《--带状渐变

》shader程序纹理《--带状渐变 2022-09-29 10:27 带状渐变&#xff0c;ripple粒子材质 评论(0)

redis群集有三种模式

目录 redis群集有三种模式 redis群集有三种模式 分别是主从同步/复制、哨兵模式、Cluster ●主从复制&#xff1a;主从复制是高可用Redis的基础&#xff0c;哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份&#xff0c;以及对于读操作的负载均…

沐风老师3DMAX建筑砖生成器插件安装使用方法教程

3DMAX建筑砖生成器插件安装使用方法教程 3DMAX建筑砖生成器插件&#xff0c;一键生成建筑砖&#xff08;砖墙&#xff09;。旨在通过快速创建建筑砖来帮助建筑设计师简化向场景添加细节的过程。 【适用版本】 3DMax2013 - 2024 &#xff08;不仅限于此范围&#xff09; 【安装…

62、服务攻防——框架安全CVE复现SpringStrutsLaravelThinkphp

文章目录 常见语言开发框架&#xff08;主流&#xff09;&#xff1a; PHP&#xff1a;ThinkPHP、Laravel、YIIJAVA&#xff1a;Spring、SpringbootPython&#xff1a;FlaskJavaScript&#xff1a;Vue.js、Node.js 框架判断()&#xff1a; 通过插件Wappalyzer&#xff08;可能…

Maven 项目之快速选择环境配置文件

Maven项目中&#xff0c;多环境之间如何进行配置文件的切换。在我们开发的过程中&#xff0c;经常会出现开发环境、测试环境、生产环境等之间的切换&#xff0c;如果我们每次都去替换配置文件&#xff0c;就会跟繁琐&#xff0c;这个时候就可以创建多个环境&#xff0c;同时在对…

我的2024java实习投递历程

每天投递一个简历吧&#xff0c;我tm投投投投投投投 3/21 周四 招商银行 招银网络科技 杭州 java实习生 4月2号笔试 笔试经验&#xff1a;45分钟 30道选择题 题目回忆版&#xff1a; 1.8进制 1-777 多少个数各位乘积为0 2.有关系R&#xff08;ABCDE&#xff09;&…

DBU-Net:用于乳腺超声图像中肿瘤分割的双分支U形网络

DBU-Net&#xff1a;用于乳腺超声图像中肿瘤分割的双分支U形网络 摘要引言材料和方法概述所提出的方法 DBU-Net Dual branch U-Net for tumor segmentation in breast ultrasound images 摘要 乳腺超声医学图像通常具有低成像质量沿着不清楚的目标边界。这些问题使得医生在诊断…

从汇编看函数调用

文章目录 函数调用流程栈相关寄存器及的作用简介寄存器功能指令功能 栈函数的括号{}正括号反括号 参数传递传值&#xff0c;变量不可改传指针&#xff0c;变量可改C 传引用 函数调用实例 函数调用流程 目标&#xff1a;函数调用前后栈保持不变 保存main函数的寄存器上下文移…

Regression算法

文章目录 用线性回归找到最佳拟合直线标准回归函数局部加权线性回归函数 用线性回归找到最佳拟合直线 from google.colab import drive drive.mount("/content/drive")Mounted at /content/drivefrom numpy import *def loadDataSet(fileName):numFeat len(open(fi…

并发线程基础第八篇

目录 线程池 自定义线程池 步骤1&#xff1a;自定义拒绝策略接口 步骤2&#xff1a;自定义任务队列 步骤3&#xff1a;自定义线程池 步 骤 4&#xff1a;测 试 ThreadPoolExecutor 线程池状态 构造方法 工作方式 newFixedThreadPool newCachedThreadPool newSingleTh…

前端学习<四>JavaScript基础——02-JavaScript入门:hello world

开始写第一行 JavaScript&#xff1a;hello world JS 代码的书写位置在哪里呢&#xff1f;这个问题&#xff0c;也可以理解成&#xff1a;引入 JS 代码&#xff0c;有哪几种方式&#xff1f;有三种方式&#xff1a;&#xff08;和 CSS 的引入方式类似&#xff09; 行内式&…

我与C++的爱恋:内联函数,auto

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;我与C的爱恋 ​ 一、内联函数 1.内联函数的概念 内联函数目的是减少函数调用的开销&#xff0c;通过将每个调用点将函数展开来实现。这种方法仅适用于那些函数体小、调用频繁的函数。 …

redis事务(redis features)

redis支持事务&#xff0c;也就是可以在一次请求中执行多个命令。redis中的事务主要是通过MULTI和EXEC这两个命令来实现的。 MULTI命令用来开启一个事务&#xff0c;事务开启之后&#xff0c;所有的命令就都会被放入到一个队列中&#xff0c;最后通过一个EXEC命令来执行事务中…

基于java+SpringBoot+Vue的网上订餐系统设计与实现

基于javaSpringBootVue的网上订餐系统设计与实现 开发语言: Java 数据库: MySQL技术: Spring Boot JSP工具: IDEA/Eclipse、Navicat、Maven 系统展示 前台展示 菜品浏览与选择&#xff1a;用户可以浏览不同的菜品分类&#xff0c;并选择心仪的菜品。 订单创建与管理&…

任意文件下载漏洞

1.文件下载漏洞存在的位置 文件经过php处理可能存在文件下载漏洞&#xff0c;配合目录遍历漏洞使用 2.目录遍历漏洞检验方法 测试是否存在目录遍历漏洞&#xff1a;在网站网址中间添加随意写一个文件名../&#xff08;返回上一级&#xff09;进行测试&#xff0c;没有报错就…