不要购买打印服务器,而是在 Linux 上构建一个。方法如下不要购买打印服务器,而是在 Linux 上构建一个。方法如下不要购买打印服务器,而是在 Linux 上构建一个。方法如下不要购买打印服务器,而是在 Linux 上构建一个。方法如下
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

不要购买打印服务器,而是在 Linux 上构建一个。方法如下

发表 admin at 2025年2月28日
类别
  • 未分类
标签
コアサーバーV2プランご契約でドメイン更新費用が永久無料

要点

  • 将装有 Linux 的旧 PC 重新用作打印服务器,以实现与平台无关的、经济高效的设置。
  • CUPS 允许您的旧 PC 硬件充当各种平台的 Linux 打印服务器。
  • 配置 CUPS 和 Samba 进行网络打印,然后轻松将设备连接到共享打印机。

由于复杂的设置或软件兼容性问题,共享打印机可能会很棘手。但是,对于旧计算机,您可以将其重新用作 Linux 打印服务器,将网络打印机共享简化为经济高效的解决方案。

我在 2015 年定制了一台旧电脑,将其用作 Windows 桌面,以提高工作效率和进行轻度游戏。自 2020 年以来,我已经转向 Mac,PC 变成了无头 Plex/打印服务器。虽然使用远程桌面管理它使得这成为可能,但我似乎总是遇到奇怪的网络权限怪癖和需要重新启动的频繁更新。

厌倦了这一切以及 Windows 的臃肿本质,我开始将这台旧 PC 重新调整为稳定、可靠的文件服务器,我不仅可以将其用于 Plex 和共享文件,还可以使用它进行打印,从任何计算机或设备,无论平台如何。

什么是 CUPS?

CUPS(通用UNIX打印系统)是类Unix操作系统的标准打印系统,允许计算机充当打印服务器,处理各种打印机的打印作业。 CUPS 支持多种打印机型号,并与互联网打印协议 (IPP) 兼容,支持跨 Windows、macOS、Android 和 iOS 的功能。

安装和配置 CUPS

安装 Linux 发行版后,请按照适合您的发行版的步骤安装 CUPS,然后启动并启用它,并将您的用户添加到 lpadmin 组,例如:sudo usermod -aG lpadmin matt<.

乌班图

sudo apt update
sudo apt install cups
sudo systemctl start cups
sudo systemctl enable cups
sudo usermod -aG lpadmin $USER 

lpadmin 组的成员有权管理打印机和打印作业,其中包括通过 CUPS Web 界面添加和配置打印机。

软呢帽

sudo dnf install cups
sudo systemctl start cups
sudo systemctl enable cups
sudo usermod -aG lpadmin $USER 

架构Linux

sudo pacman -S cups
sudo systemctl start org.cups.cupsd.service
sudo systemctl enable org.cups.cupsd.service
sudo gpasswd -a $USER lpadmin

配置 CUPS

安装 CUPS 后,您需要对其进行配置,以启用打印机共享和 CUPS Web 界面等。备份现有的默认配置。

sudo mv /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak

然后,启动一个新的配置文件。

sudo vim /etc/cups/cupsd.conf

接下来,在配置文件中添加或修改以下行。

# Basic server settings
LogLevel warn
PageLogFormat
Listen *:631
interfaces
Listen /run/cups/cups.sock
MaxLogSize 0
ErrorPolicy retry-job # Automatically retry failed print jobs
IdleExitTimeout 60
# Printer browsing and discovery
Browsing On # Enable printer sharing
BrowseLocalProtocols dnssd # Advertise printers using Bonjour
# Authentication and web interface
DefaultAuthType Basic # Basic = username/password
WebInterface Yes # CUPS web interface
# Global access settings
<Location />
  Order allow,deny # Allow access to everyone
  Allow all
</Location>
# Admin access settings
<Location /admin>
  Order allow,deny # Require authentication
  Allow all
  AuthType Basic
  Require user @SYSTEM # Restrict to system adminis
</Location>
# Access to configuration files
<Location /admin/conf>
  Order allow,deny
  Allow all
  AuthType Basic
  Require user @SYSTEM
</Location>
# Job management settings
<Location /jobs>
  AuthType Basic
  Require user @SYSTEM
  Order allow,deny
  Allow all
</Location>
# Printer access settings
<Location /printers>
  Order allow,deny # All clients can print
  Allow all
</Location>
<Location /admin/log>
 Order allow,deny
 Allow all
 AuthType Basicaccess
 Require user @SYSTEM
</Location>

重新启动 CUPS 以应用更改。

sudo systemctl restart cups

最后,确认 CUPS 已启动并正常运行。

sudo systemctl status cups

配置 Samba 以实现网络打印机共享

接下来,我们需要将 Samba 配置为充当 CUPS 服务器和客户端设备之间的中介。编辑您的 smb.conf 文件:

sudo vim /etc/samba/smb.conf

将以下行添加到 [global] 部分。

 load printers = yes
 printing = cups
 printcap name = cups

添加以下 [printers] 部分和打印机驱动程序 [print$] 部分。

[printers]
 comment = All Printers
 path = /var/spool/samba
 printable = yes
 guest ok = yes
 browseable = no
[print$]
 comment = Printer Drivers
 path = /var/lib/samba/printers
 browseable = yes
 read only = no
 guest ok = yes

您的 smb.conf 将类似于以下内容:

[global]
 workgroup = DOGHOUSE
 server string = Samba Server %v
 netbios name = SERVER
 security = user
 map to guest = Bad User
 load printers = yes
 printing = cups
 printcap name = cups
[Home]
 path = /home/username
 browseable = yes
 writable = yes
 valid users = user
 create mask = 0700
 directory mask = 0700
[printers]
 comment = All Printers
 path = /var/spool/samba
 printable = yes
 guest ok = yes
 browseable = no
[print$]
 comment = Printer Drivers
 path = /var/lib/samba/printers
 browseable = yes
 read only = no
 guest ok = yes

您可以输入 testparm 命令来测试您的配置。

如果一切顺利,重新启动 Samba:

sudo systemctl restart smbd nmbd

最后,确认 Samba 已启动并正常运行

sudo systemctl status smbd nmbd

共享您的打印机

我们快完成了!是时候登录您的新 CUPS 服务器,然后添加并共享您的打印机了。

将 Web 浏览器指向您的服务器 IP 或主机名,例如 192.168.1.100:631 或主机名:631。使用您之前添加的 CUPS 配置,系统应该提示您输入凭据以访问 Web 界面。

选择顶行的“管理”选项卡,

选择“添加打印机”,然后服务器应该已经识别您的硬件并将其列为本地打印机。您可以更改打印机的详细信息,但不要忘记在进入驱动程序选择屏幕之前选择“共享此打印机”选项。选择您的打印机制造商、适合您打印机型号的驱动程序,然后选择“添加打印机”。





我们可以谈谈司机吗?

CUPS 使用 PostScript 打印机描述 (PPD) 文件,该文件描述特定打印机型号的功能和特性,但我们将其称为驱动程序。

如果您没有找到您的打印机,您可以尝试通用(Generic PostScript)驱动程序。如果您环顾四周,您可能会在打印机制造商的网站上找到 PPD 文件,然后您可以使用“提供 PPD 文件”选项将其从计算机上传到 CUPS 服务器。

也就是说,对于 Brother 打印机,您可能无法使用 Brother 自己的驱动程序获得最佳结果。我发现 brlaser 驱动程序比 Brother 自己的驱动程序产生更好的结果。可以使用 Printer-driver-brlaser 软件包将 brlaser 驱动程序轻松添加到您的系统中,例如:sudo apt install Printer-driver-brlaser。

第一次就做到这一点可能很棘手,并且在提交第一个打印作业之前您不会知道它是否正确。如果您的打印输出被损坏或乱码,那么您可以在 Web 界面中修改您的打印机并尝试不同的驱动程序。

设置您的设备

此时,网络客户端应该可以访问您的 CUPS 打印机,是时候将您的网络设备连接到共享打印机了。

视窗

打开“设置”,然后选择“蓝牙和设备”>“打印机和扫描仪”。要添加打印机,请选择“添加设备”,等待 Windows 扫描找到它,然后选择“添加设备”。





macOS

打开系统设置,然后选择“添加打印机、扫描仪或传真”。在“添加打印机”屏幕上,选择您的打印机,然后选择“添加”。






安卓

Android 的处理方式略有不同,您可能需要安装与打印机制造商相对应的打印服务。打开“设置”,然后打开“更多连接选项”>“打印”>“添加服务”。这将打开 Play 商店,并允许您为打印机制造商选择打印服务(Brother 打印服务不适合我,但 Mopria 打印服务工作完美)。

一旦打印服务找到共享打印机,我只需选择它,然后“打印测试页”以确保它正常工作。







iPhone

在 iPhone 和其他 iOS 设备上,打印非常简单,几乎不需要任何设置。只需点击您正在使用的任何应用程序中的共享图标,然后从菜单中选择“打印”即可。您应该看到您的打印机,但如果没有,只需选择“打印机”字段、您的打印机,然后选择“打印”。





恭喜!您已成功将旧 PC 转变为可靠的 Linux 打印服务器,使跨不同平台的打印机共享变得轻松、无缝。此设置精简、高效且节省时间,让您可以轻松地从任何设备进行打印。享受您在打印环境中获得的简单性和控制力!

©2015-2025 Norria support@alaica.com