Linux VirtualBox如何设置共享打印机
Linux VirtualBox设置共享打印机通用指南
共享打印机需通过VirtualBox增强功能实现宿主机与虚拟机的通信,并借助**CUPS(Common Unix Printing System)**配置网络共享。以下是详细步骤:
一、前置准备
-
安装VirtualBox增强功能
启动Linux虚拟机,点击VirtualBox顶部菜单栏「设备」→「安装增强功能」。虚拟机会自动挂载增强功能光盘,打开终端执行以下命令安装依赖并加载驱动:sudo yum install -y bzip2 kernel-devel gcc make perl # CentOS系统 # 或 sudo apt-get update & & sudo apt-get install -y virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11 # Ubuntu/Debian系统 sudo mkdir /mnt/cdrom & & sudo mount /dev/cdrom /mnt/cdrom # 挂载光盘 cd /mnt/cdrom & & sudo ./VBoxLinuxAdditions.run # 运行安装脚本 sudo reboot # 重启虚拟机使增强功能生效
注:增强功能需与VirtualBox版本匹配,否则可能导致驱动无法加载。
-
设置虚拟机网络
为确保宿主机与虚拟机在同一网络,需将虚拟机网络适配器设置为桥接模式(Bridged Adapter)。操作路径:VirtualBox虚拟机设置→「网络」→「适配器1」→「桥接模式」。桥接模式下,虚拟机将获得与宿主机同一网段的IP地址,便于网络共享。
二、配置Linux虚拟机为共享打印机服务器(CUPS设置)
共享打印机的核心是CUPS服务,需在虚拟机中安装并配置CUPS,允许网络访问。
-
安装CUPS及必要驱动
打开终端,执行以下命令安装CUPS及通用打印机驱动:sudo yum install -y cups cups-client printer-driver-all # CentOS系统 # 或 sudo apt-get update & & sudo apt-get install -y cups cups-client printer-driver-all # Ubuntu/Debian系统
注:
printer-driver-all
包含大多数常见打印机的驱动,若需特定型号驱动,可从打印机制造商官网下载。 -
启动CUPS服务并设置开机自启
sudo systemctl start cups # 启动CUPS服务 sudo systemctl enable cups # 设置开机自启
-
配置CUPS允许网络访问
编辑CUPS配置文件,允许所有IP访问(生产环境建议限制为特定IP段):sudo vi /etc/cups/cupsd.conf
找到以下行并修改(或添加):
Listen 0.0.0.0:631 # 允许所有IP访问CUPS端口(默认631) < Location /> Require all granted # 允许所有用户访问 < /Location> < Location /admin> Require all granted # 允许所有用户管理CUPS < /Location>
保存退出后,重启CUPS服务:
sudo systemctl restart cups
-
添加共享打印机
- 方式1:通过CUPS Web界面添加(推荐)
在浏览器中输入http://< 虚拟机IP地址> :631
,登录管理员账号(如root),点击「Administration」→「Add Printer」。选择「Network Printer」,输入打印机IP地址或主机名(如ipp://printer_ip/ipp/print
),选择对应型号驱动,完成安装。 - 方式2:通过终端命令添加(需已知打印机URI)
其中,sudo lpadmin -p Printer_Name -v ipp://printer_ip/ipp/print -m drv:///sample.drv/generic.ppd -E
Printer_Name
为自定义打印机名称,ipp://printer_ip/ipp/print
为打印机URI,drv:///sample.drv/generic.ppd
为驱动路径(可通过lpinfo -m
查看可用驱动)。
- 方式1:通过CUPS Web界面添加(推荐)
三、在Linux客户端访问共享打印机
若需让其他Linux设备使用虚拟机中的共享打印机,需在客户端添加网络打印机。
-
安装CUPS客户端
确保客户端已安装CUPS客户端工具:sudo yum install -y cups-client # CentOS系统 # 或 sudo apt-get install -y cups-client # Ubuntu/Debian系统
-
添加网络打印机
- 方式1:通过系统设置添加
打开「系统设置」→「打印机」→「Add Printer」,选择「Network Printer」,输入虚拟机的IP地址和共享打印机名称(如http://< 虚拟机IP> :631/printers/Printer_Name
),选择对应驱动,完成添加。 - 方式2:通过CUPS Web界面添加
在浏览器中输入http://< 客户端IP> :631
,点击「Administration」→「Add Printer」,选择「Network Printer」,输入虚拟机共享打印机的URI(如ipp://< 虚拟机IP> :631/printers/Printer_Name
),完成安装。
- 方式1:通过系统设置添加
四、常见问题排查
- 无法访问CUPS管理界面:检查虚拟机防火墙是否放行631端口(
sudo firewall-cmd --add-port=631/tcp --permanent & & sudo firewall-cmd --reload
),或临时关闭防火墙测试(sudo systemctl stop firewalld
)。 - 驱动缺失:若系统未自动识别打印机型号,可通过
lpinfo -m
命令查看可用驱动,手动选择对应型号安装。 - 权限问题:确保CUPS配置文件中
Require all granted
已设置,允许所有用户访问。
通过以上步骤,即可在Linux VirtualBox环境中设置共享打印机,实现宿主机与虚拟机、甚至其他网络设备的共享打印。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux VirtualBox如何设置共享打印机
本文地址: https://pptw.com/jishu/719234.html