Ubuntu расшарить принтер для windows

Содержание

Если к компьютеру подключен принтер, к нему можно предоставить общий доступ для любого пользователя сети. Тип принтера не имеет значения, если он установлен и подключен к компьютеру с помощью кабеля универсальной шины USB или кабеля другого типа. Любой выбранный пользователь сети сможет использовать принтер, если ему удастся найти в сети компьютер, к которому подключен принтер.

Термины и названия пунктов меню сделаны для Windows XP и Ubuntu 10.04 Lucid Lynx.

Принтер установлен на Windows (samba)

~ Подключаем принтер к компьютеру и устанавливаем на него драйвера в ОС Windows;
~ Проверяем корректно ли функционирует принтер, если все порядке переходим к следующему шагу;
~ Делаем общий доступ к данному принтеру. //Панель управления->Принтеры и факсы// щелкаем правой клавишей мыши по установленному принтеру, и выбираем в появившемся меню пункт "Общий доступ". В появившемся окне напротив пункта "Общий доступ к данному принтеру" ставим флажок и нажимаем кнопку "ОК".
~ В Ubuntu: //Система->Администрирование->Печать// в открывшемся окне нажимаем кнопку "Добавить": //Сетевой принтер->Windows Printer via Samba//. Кнопка "Browse" открывает окно с выбором сети, компьютера и принтера.

Принтер установлен на Ubuntu

Если у Вас принтер фирмы Hewlett Packard, желательно обновить пакет Hewlett-Packard’s Linux Imaging and Printing software.

Чтобы избежать проблем с печатью графики, необходимо сменить драйвер, устанавливаемый по умолчанию на pcl3

~ Устанавливаем принтер в Ubuntu: //Система->Администрирование->Печать// нажмите кнопку "Добавить", система определит подключенный к компьютеру принтер и устанавит его. Если этого не произошло, обратитесь к документации по установке Вашего принтера. 
~ Делаем общий доступ к данному принтеру. В окне "Печать" меню //Сервер->Settings//. Ставим галочки в пунктах: 
  * Show printers shared by other systems;
  * Publish shared printers connected to this system.
~ Нажимаем на установленный принтер и проверяем галочки Shared.

Установка сетевого принтера на Ubuntu

Стоит сразу отметить, что в большинстве случаев десктопная ubuntu сама найдет сетевой принтер, если на сервере выставлена опция публикации принтера в сети. Если принтер по каким-то причинам не нашелся, действуем по инструкции:

  • Открываем окно печати: Система→Администрирование→Печать;

  • В окне «Печать» нажимаем кнопку «Добавить», затем переходим Сетевой принтер→Проткол сетевой печати (ipp) и в поле «Host» пишем:

http://192.168.0.1:631/printers/Laserjet-2300
  1. 192.168.0.1 — ip адрес компьютера к которому подключен принтер;

  2. Laserjet-2300 — имя подключенного принтера (точно такое же наименование, как и на компьютере c ip адресом 192.168.0.1).

Если вы не уверены какой ввести адрес для доступа к принтеру, просто откройте браузер, введите адрес

http://<адрес сервера>:631/

(в нашем примере адрес сервера 192.168.0.1) и на появившейся странице найдите ссылку «принтеры», а на открывшеся странице выберите нужный принтер. Полученный адрес в браузере и будет искомым.

  • Нажимаем на кнопку «Verify» для проверки доступности принтера.

Установка сетевого принтера на Windows

  • Теперь установим сетевой принтер на Windows: Пуск→Настройка→Принтеры и факсы

  • В открывшемся окне «Принтеры и факсы»: Установка принтера→Далее→Сетевой принтер или принтер подключенный к другому компьютеру→Подключиться к принтеру в Интернете, в домашней сети или в интрасети и вводим в поле такой же адрес, как и в примере для ubuntu.

  • Возможно придется поставить драйвер для подключаемого принтера.

Ссылки

  • МАРДЖОРИ — печать в Ubuntu и Windows.

Главная → Просто о сложном → Для веб-программистов → Расшаривание принтера в Ubuntu для Windows и наоборот

Расшариваем в Убунту для Виндовс СПОСОБ 1

В Ubuntu проделываем следующее: 
Заходим в Система — Администрирование — Печать… 
Затем в Сервер — Параметры 
Отмечаем галочкой «Публиковать общие принтеры, подключенные к этой системе»

В Windows проделываем следующее: 
Заходим в браузер по адресу http://ip-адрес-компьютера-с-принтером:631/printers/ 
Копируем адрес вида http://192.168.1.2:631/printers/hp-LaserJet-1010 
Заходим в раздел «Принтеры и другое оборудование» «Панели управления» 
Выбираем пункт «Установка принтера» 
Ставим галочку на «Сетевой принтер…». Жмем «Далее» 
Ставим галочку на «Подключиться к принтеру в интернете, в домашней сети или в интрасети», вставляем полученный ранее адрес принтера 
Выбираем драйвер и завершаем установку*

Расшариваем в Виндовс для Убунту СПОСОБ 2

Думаю как расшарить принтер в винде объяснять не нужно, главное попробуйте расшарить принтер, чтобы можно было печатать из другого виндового компьютера, убедитесь, что принтер действительно расшарен.

Включаем поддержку самбы в винде (как это сделать чуть позже напишу).

В убунту добавляем сетевой принтер, далее выбираем способ: виндовс принтер через самба,

Далее ищем, если не находит, то добавляем по форме: smb://guest@айпи-компьютера/имя_принтера_в_сети 
Например: smb://guest@192.168.1.127/Canon_MP250_2

Кстати в Лубунту и ЮнибиксЛубунту по умолчанию нет возможности добавить виндовс принтер через самба, но это легко включить, установив три пакета: libsmbclient, smbclient, pyton-smbc

Расшариваем в Убунту для Убунту СПОСОБ 3

Установить и настроить локальный принтер на том компьютере к которому он подключен

ОТкрываем localhost:631 и нажимаем напротив принтера: Разрешить совместный доступ и Разрешить печать из Интернета (если надо)

Узнаем наш айпи командой «ifconfig -a»

Далее идем на второй компьютер с линуксом, пуск-администрирование-епчать-добавить принтер-найти сетевой принтер.

Если нашел — отлично, если нет то вбиваем ручками, например так: ipp://192.168.0.234:631/printers/blackstar

Расшариваем в Виндовс для Виндовс СПОСОБ 4

Это самый простой и детский спобоб, поэтому его распишу как будет время.

Для всех случаев:

должны быть установлены пакеты samba и cups 
cups — интерфес печати для linux 
samba — сервер общих ресурсов для windows 
Команды установки для терминала 
sudo apt-get install cups 
sudo apt-get install samba 
Команда рестарта cups 
sudo /etc/init.d/cups restart 
команда рестарта samba 
sudo service smbd restart

Также есть хорошая инструкция для совсем нестандартных случаев: 
http://forum.ubuntu.ru/index.php?.0

В офисной сети вы можете печатать напрямую с Linux устройств на общие сетевые принтеры, подключенные к Windows компьютерами. В этой статье мы покажем, как настроить печать из Linux на сетевой принтер, опубликованный на компьютере с Windows 10/11.

  1. Начнем с настройки Windows компьютера, к которому подключен принтер.Опубликуйте общий сетевой принтер в Windows. Откройте консоль управления принтерами (
    printmanagement.msc
    ), откройте свойства принтера, перейдите на вкладку Sharing, включите опцию Share this printer и задайте сетевое имя принтера (имя не должно содержать пробелы или спец символы);
  2. Создайте отдельного локального пользователя winusr1 с известным паролем. Можно удалить пользователя из локальной группы Users, сделать срок действия пароля не ограниченным и запретить менять пароль.

    Можно с помощью PowerShell создать локального пользователя с указанными настройками:
    $pass = ConvertTo-SecureString "p-0m-2024" -AsPlainText -Force
    New-LocalUser -Name winusr1 -Password $pass -PasswordNeverExpires -UserMayNotChangePassword
    Remove-LocalGroupMember -Group Users -Member winusr1

По умолчанию в Windows сетевые принтеры доступны по протоколу SMB. Чтобы проверить доступ к принтеру из Linux, установите smbclient:

В Ubuntu/Debian выполните команду:

$ sudo apt install smbclient

Чтобы вывести список SMB ресурсов на удаленном компьютере

$ smbclient -L \\192.168.31.94 -U winusr1

Где:

  • 192.168.31.94 – IP адрес или имя компьютера с Windows
  • winusr1 – имя пользователя Windows

Команда выведет список опубликованных сетевых папок (в том числе общих административных папок) и принтеров.

Из консоли вы можете проверить доступность SMB принтера и отправить файл на печать:

$ smbclient -W DOMAIN -U winusr1//192.168.31.94/HPM1530

Распечатать указанный файл:
smb: \> print /home/sysops/test.txt

printing file test.txt as test.txt (196,6 kb/s) (average 196,6 kb/s)

smb: \> quit

Для удобного доступа к сетевым принтерам и их управлением проще всего воспользоваться встроенным сервером печати для Linux – CUPS (Common UNIX Printing System). Для управления CUPS используется веб интерфейс system-config-printer.

В большинстве десктопных дистрибутивов Linux пакет CUPS и system-config-printer установлены по умолчанию. Проверьте это (если нужно, установите):
$ dpkg -l cups
$ dpkg -l system-config-printer
$ systemctl status cups

Теперь можно подключить сетевой принтер в Linux:

  1. Откройте веб-интерфейс CUPS, перейдя в браузере по URL
    localhost:631
    ;
  2. Перейдите в Administration -> Add printer -> Other network printers -> Windows Printer via SAMBA;
  3. Укажите параметры подключения к принтеру в формате
    smb://winusr1:[email protected]/HPM1530
    (строка содержит имя пользователя и пароль, имя/IP удаленного Windows хоста и имя принтера);

    Подключение SMB принтера с Windows компьютера в Linux

  4. Затем задайте имя и описание принтера;
  5. На следующем шаге CUPS предложит выбрать производителя принтера и модель (для установки соответствующего драйвера). Список драйверов может быть довольно большим. Для быстрого поиска названия драйвера по модели принтера воспользуйтесь командой:
    $ lpinfo -m| grep 1536

    lpinfo - список доступных драйверов cups

    Выберите найденный драйвер в CUPS.

  6. Установка принтера завершена.

Где найти драйвера для CUPS под Linux. Например, в случае с принтерами HP, в большинстве десктопных дистрибутивов Linux предустановлен пакет HP Linux Printing and Imaging System (HPLIP). В нем содержится драйвера для подавляющего большинства принтеров.

$ dpkg -l hplip

HP Linux Printing and Imaging System (HPLIP)

Можно установить пакет HPLIP вручную:

$ sudo apt install hplip hplip-gui

Аналогичные пакеты с драйверами выпускают и другие вендоры, либо вы можете самостоятельно найти готовый PPD файл для конкретного принтера. Также вы можете использовать огромную библиотеку PPD драйверов печати foomatic (автоматически устанавливается для ubuntu-desktop):

$ apt install foomatic-db-compressed-ppds

Первая попытка отправить документ из Linux на печать в Windows завершилась с ошибкой. Информация об ошибке печати есть логе /var/log/cups/error_log:

E [22/Jan/2024:11:38:35 +0400] [Job 13] SMB connection failed!
E [22/Jan/2024:11:38:35 +0400] [Job 13] Unable to connect to CIFS host:

CUPS: SMB connection failed

Эта ошибка указывает на то, что CUPS не может подключиться к SMB папке принтера на Linux. Причина в том, что по умолчанию для доступа к сетевой папке smbclient Linux использует протокол SMB 1.0, который по умолчанию отключен в Windows 10 и 11.

Чтобы клиент SMB в Linux использовал более безопасный SMB 2 или 3 для подключения, отредактируйте файл /etc/samba/smb.conf. Добавьте в секцию [global] строки:

client min protocol = SMB2
client max protocol = SMB3

Перезапустите CUPS:

$ sudo systemctl restart cups

Теперь клиент Linux сможет успешно отправить задание на общий принтер в Windows.

Также вы можете добавить принтер Windows из командной строки из командой строки CUPS:

Сначала нужно получить название драйвера для вашей модели принтера:

$ lpinfo --make-and-model '1536' -m

Скопируйте полное название драйвера и можете подключить SMB принтер:

$ sudo lpadmin -p HP1536mfp -v smb://winusr1:[email protected]/HPM1536 -m postscript-hp:0/ppd/hplip/HP/hp-laserjet_m1530_mfp_series-ps.ppd

Включить принтер:

$ cupsenable HP1536mfp

Вывести список принтеров:

$ lpsatat -v
$ lpstat -p

Список подключенных SMB принтеров содержимся в файле /etc/cups/printers.conf. Обратите внимание, что в файле в открытом виде содержатся пароль Windows пользователя, который вы используете для подключения к принтеру (поэтому не нужно назначать никаких прав этому пользователю на Window машине).

/etc/cups/printers.conf

Contents

  1. Overview
  2. Background
  3. Ubuntu print server

    1. Ubuntu print server compatible with Windows (Samba)
  4. Printing from Ubuntu
  5. Printing from Windows
  6. Troubleshooting

Overview

Ubuntu supports printer sharing over networks, so you can print from your Ubuntu machine, your Windows machine, etc, to another Ubuntu or Windows machine that has a printer attached (ie a «Ubuntu print server» or «Windows print server»).

Background

printingScheme.png

Ubuntu uses the Common UNIX Printing System («CUPS») to handle printing. CUPS uses the Internet Printing Protocol («IPP») as the basis for managing print jobs and queues. Other protocols are also supported (LPD, SMB, AppSocket a.k.a. JetDirect), some with reduced functionality.

CUPS printer configuration and management is handled by the Printer Admin utility launched from the Gnome menu — System -> Administration -> Printing (If the menu item does not exist you need to add the command system-config-printer to the menu). Also IPP provides web services so after you have configured CUPS appropriately, you can access the printers and jobs via your web browser.

When a locally attached printer is defined, eg using the Printer Admin utility, that printer is automatically published from this «print server» host to the network, depending on the server directives in the CUPS configuration file. A remote Ubuntu «client» host can then be able to see and use the printer attached to the server. The network printer automatically appears in the client’s Printer Admin utility. It simply pops up if CUPS is up and configured correctly and disappears if you stop CUPS at either the Print Server or your local machine.

Ubuntu print server

The Print Server is the Ubuntu computer that is directly connected to the printers.

  1. On the server machine (the one the printer is attached to), open System -> Administration -> Printing (If the menu item does not exist you need to add system-config-printer to the menu). . This will open the Printer Configuration window.

    system-config-printer.png

  2. Select Server in the menu bar, and then Settings. This will open the Basic Server Settings window.

  3. Check the second box:

    Publish shared printers connected to this server If this computer acts as both a Print Server and a client (it does need access to a printer connected to another computer), select also the first box, «Show printers shared by other systems».

    Server-setting.png

  4. OK

  5. Right click the printer and check the Shared option, if not checked yet

  6. Check that users that you want to be able to use the printer are not excluded. See Properties>Access Control. The default settings may be set to «deny printing for everyone except …»

inkjet_settings1.png

.

But you might want to «allow printing for everyone».

access_control_allow_everyone.png

Ubuntu print server compatible with Windows (Samba)

If your Ubuntu print server shall be able to work also with Windows clients, you must first make sure that the SAMBA package is installed (e.g. using Synaptic package manager). Then, do a little configuration change to SAMBA. In brief, you must uncomment the following lines in /etc/samba/smb.conf — open terminal and run:

gksudo gedit /etc/samba/smb.conf

In the [printers] section:

   browseable = yes
   guest ok = yes

When done, restart Samba:

sudo service smbd restart
sudo service nmbd restart

There is a dedicated page in the official documentation which gives more details.

Also, one would want to allow the following ports through a firewall (ufw for example) via:

sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
sudo ufw allow 137/udp
sudo ufw allow 138/udp

For more on this, please see here.

Printing from Ubuntu

Now let’s configure the client (the Ubuntu computer from where you want to print):

  1. System -> Administration -> Printing

  2. Add — Network printer

    • Click Find network printer

      • Specify the host IP address or name. (It may also work without, try) (IP address worked for me, hostname did not.)
      • Click Find

    • Printers on the target machine should be found, no matter whether they are connected using CUPS or SAMBA.
      • BUT if both protocols are available, e.g. because you have shared your printer on a Linux box both using CUPS and Samba, prefer CUPS (ipp://) over Samba (smb://), because you won’t be prompted to install a driver in general.

      findNetworkPrinterScreenshot.png

  3. You **may** be prompted to select a driver. Select your model in the list.
    • (to be done) What to do if driver is not in the list

Printing from Windows

Once your Ubuntu print server is set up using SAMBA as described above, you can add the printer in Windows as follows:

  1. Start
  2. Devices and Printers
  3. Add a printer
  4. Add a network, wireless or Bluetooth printer
  5. Click The printer that I want isn’t listed (unless a miracle happens)

  6. Enter the address manually (\\servername\MyPrinter). Be sure to respect uppercase/lowercase.

Step 1

Step 2

Note that searching or browsing for printers in Windows is notoriously unreliable, as it heavily depends on the network setup. Therefore, it is recommended to enter the printer address manually as shown.

Windows will then probably complain about a missing driver, and offer you to choose one manually. This is the easiest option, so select your printer manufacturer and model from the dialog box. (Alternatively, the Samba configuration could be improved so that the driver would be automatically downloaded.) If your printer model isn’t listed, you may try the «Generic» printer.

Tips: You can avoid intermediate SAMBA buffer using direct connection to CUPS/IPP Ubuntu server from Windows workstation. You should manually specify «http://hostname:631/printers/MyPrinter» IPP URL and select printer driver.

Windows print dialog window (Ctrl-P) can take long time (about 30 seconds) to appear. You can reduce the connection time to CUPS IPP printer by disabling option Automatically detect settings in «Control Panel/Internet Explorer -> Internet Options -> Connections -> LAN settings».

Troubleshooting

1. Bypassing firewall.

If there is an firewall either on print server or the client side, there might appear a communications problem. Use this command to update the firewall to get through.

iptables -A INPUT -p tcp —dport 631 -j ACCEPT

  • This rule is used for IPP only. If you’re using other protocol, such as SAMBA, you have to adapt.

    You might need to use this rule on both sides (server & client) if the firewall is being used on both of them. To apply this rule after each start/restart of the system, use /etc/rc.local .

2. Networking issues.

Be careful about using different network masks/subnets on your network where you would like to share the printer.

If the subnets differs, e.g. on the print server there would be a /24 (255.255.255.0) netwok mask configured, and e.g. on the clients there would be a /16 (255.255.0.0) network mask — perhaps provided by the DHCP server, this might cause a problem that clients won’t be able to detect any shared printer on the server, even if other communications between print server and clients would be possible (e.g. ICMP, ssh) and successful.

If such situation happens, you have to unify the network masks/subnets on all of your stations, e.g. use /24 (255.255.255.

3. IP address

Generally, it is a good idea to assign your print server a static IP address. Instead, using its host name is also possible, but functionality will then depend on proper configuration of your home router, name service, etc.

4. IPv6 Windows (since XP) can print over IPv6 to Ubuntu Linux (tested between Windows XP SP3 and Ubuntu Linux 8.10). Make sure both the Windows and Ubuntu have IPv6 connectivity. You should tick «Allow Printing from the Internet» on the Ubuntu machine. Then use the URL (which resolves to IPv6) of the Ubuntu machine as described above.

5. Mac OS X 10.5.

Will not find your network printer unless you go to the terminal and run cupsctl BrowseRemoteProtocols=cups (see the CUPS 1.4 documentation at http://www.cups.org/documentation.php/doc-1.4/sharing.html). After doing so, you may need to set the network printer as your default printer for it to show up in program «print» menus.


CategoryNetworking

Чтобы расшарить принтер на linux, идём на следующий адрес с помощью любого браузера (порт 631):

http://localhost:631/

Шаг1. Открыть общий доступ к принтеру в Ubuntu Linux (через IPP)

Дело в том, что в Linux печатью управляет служба CUPS. В Ubuntu, доступ к настройкам службы CUPS возможен через любой браузер на localhost по порту 631 — т.е. нужно открыть адрес «http://localhost:631«

Идём на адрес http://localhost:631/, открываем вкладку Администрирование, установить чекбокс Разрешить совместный доступ к принтерам, подключенным к этой системе

Компьютер с непосредственно подключенным (и уже расшаренным) принтером назовём «сервер«. Понадобится IP сервера, который можно узнать командой ifconfig

После установки чекбокса «Разрешить совместный доступ к принтерам, подключенным к этой системе» нужно подключить локальный принтер для всех «клиентов» — тех компьютеров, которые будут пользоваться принтером по сети. 

Шаг 2. Подключение share-принтера на Linux-клиенте.

Если общий принтер на linux, то для подключения принтера на клиенте Linux скорее всего будет достаточно в настройках апплета «Печать» выбрать одно из: новый принтер, найти сетевой принтер, сетевой адрес и т.д., ввести ip сервера и нажать поиск. Принтер будет найден и подключен автоматически. Если вдруг по ip не удалось найти принтер, то проделать шаг 3 как для Windows-клиента.

Шаг 3. Подключение share-принтера на Windows-клиенте.

Для Linux тоже работает. Открываем в браузере настройки службы CUPS, указав ip сервера, например:

http://192.168.0.106:631/printers,

где 192.168.0.106 — ip-адрес нашей Linux машины c принтером.

Если компьютер виден в сети, то откроется страница со списком принтеров:

список доступных принтеров с linux-машины

Выбираем нужный нам принтер щелчком по нему и копируем ссылку. Т.е. нам нужен полный http путь до принтера (да-да, IPP — Internet Printing Protocol — дает возможность печати через сетевые протоколы TCP/IP). Ссылка должна быть вида: http://192.168.0.106:631/printers/Hewlett-Packard-hp-LaserJet-1010. Остаётся добавить новый принтер по этой ссылке. В Windows вставляем ссылку на принтер в «Мастере установки принтеров» в поле «Подключиться к принтеру в Интернете, в домашней сети или в интрасети«:

Добавить новый Linux принтер в Windows

ответил 11 лет назад

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Copytrans heic for windows отзывы
  • Altium designer для windows xp
  • Power query windows 10
  • Установщик windows данная установка запрещена политикой заданной системным администратором
  • Ошибка 0x80070050 windows 10