I to by było na tyle - więcej pisać nie trzeba, bo też i filozofii specjalnie w tym nie ma... Ale jakby ktoś potrzebował, służę uprzejmie.
Od jakiegoś czasu zastanawiam się nad zakupem serwera wydruku, nawet mógłby pracować z drukarką wyposażoną w łącze równoległe (moja akurat ma i USB i Centronicsa), niestety ciągle blokuje mnie cena - jak na niewielki stopień komplikacji i niezbyt zaawansowaną technologię ciągle za wysoka, nawet w przypadku printserverów LAN-owskich. Wczoraj, grzebiąc bezmyślnie w internetach, natknąłem się na artykuł poświęcony malinie i gdzieś na początku przeczytałem, że ludzie robią z RaspberryPi przeróżne ustrojstwa, w tym centra multimedialne, serwery wydruku... I tu dostałem nagłej eureki... Przecież malina u mnie się ostatnio nudzi, a drukarkę udostępniam laptopowi żony przez komputer stacjonarny, który musi być włączony itd., a jest to - jak na porządną stacjonarkę przystało - kobyła i bomba energetyczna... A RaspberryPi, zasilany z zasilacza impulsowego, żrącego niewiele energii, sprawdziłby się w roli serwera wydruku wręcz doskonale.
Oto, co zrobiłem.
Na początku zaktualizowałem Raspbiana:
sudo apt-get update
sudo apt-get upgrade
następnie zainstalowałem pakiet oprogramowania CUPS:
sudo apt-get install cups
Razem z pakietem zasadniczym pociągnęło się oczywiście wiele innych, potrzebnych i szalenie ważnych. CUPS to oprogramowanie dostarczające systemom uniksowym funkcjonalność drukowania, współdzielenia i udostępniania drukarek w sieci. Dodatkowo mamy możliwość administrowania drukarkami czy kolejką wydruku przez przeglądarkę WWW. Aż dziw bierze, że takie cudo tworzy głównie firma ogrodnicza...
Po zainstalowaniu pakietu trzeba jeszcze, dla wygody, dodać swojego usera do grupy administratorów wydruku:
sudo usermod -a -G lpadmin nazwa_użytkownika
i - żeby dać sobie możliwość zarządzania drukarkami z innych komputerów w sieci (przez przeglądarkę właśnie), należy nieco zmienić plik konfiguracyjny /etc/cups/cupsd.conf. Mój plik konfiguracyjny na malinie wygląda tak (pogrubiłem linie dopisane lub zmienione przeze mnie):
#
# "$Id: cupsd.conf.in 9407 2010-12-09 21:24:51Z mike $"
#
# Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#
# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn
# Deactivate CUPS' internal logrotating, as we provide a better one, especially
# LogLevel debug2 gets usable now
MaxLogSize 0
# Only listen for connections from the local machine.
Port 631
#Listen localhost:631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS dnssd
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Web interface setting...
WebInterface Yes
# Restrict access to the server...
Order allow,deny
Allow all
# Restrict access to the admin pages...
Order allow,deny
Allow all
# Restrict access to configuration files...
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow all
# Set the default printer/job policies...
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
Order deny,allow
Require user @OWNER @SYSTEM
Order deny,allow
# All administration operations require an administrator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# All printer operations require a printer operator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# Only the owner or an administrator can cancel or authenticate a job...
Require user @OWNER @SYSTEM
Order deny,allow
Order deny,allow
# Set the authenticated printer/job policies...
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
AuthType Default
Order deny,allow
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
# All administration operations require an administrator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# All printer operations require a printer operator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# Only the owner or an administrator can cancel or authenticate a job...
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
Order deny,allow
#
# End of "$Id: cupsd.conf.in 9407 2010-12-09 21:24:51Z mike $".
#
W repozytoriach Raspbiana znajduje się wersja 1.5.3 pakietu CUPS (to dla jasności, gdyby były jakieś niezgodności co do zawartości pliku konfiguracyjnego). Załączyłem plik w całości, żeby można było go sobie po prostu skopiować i wkleić, bez grzebania i dopisywania.
Po zmianie pliku konfiguracyjnego przestrzeliwujemy usługę:
sudo service cups restart
i z poziomu przeglądarki wchodzimy na adres:
http://adres_ip_mailny:631
Interfejs jest szalenie prosty i intuicyjny, więc zakładam, że każdy poradzi sobie ze skonfigurowaniem swojej drukarki - jednak przed tą czynnością należy drukarkę podłączyć do RPi i włączyć jej zasilanie :). CUPS znajdzie zapewne kilka różnych drukarek (to ze względu na zainstalowane sterowniki), jednak wybrać musimy tę fizyczną, przez nas posiadaną - to oczywiste.
Po skonfigurowaniu drukarki jako współdzielonej i udostępnianej, możemy na dowolnej platformie systemowej (Linux, Windows, MacOS itp.) wybrać/dodać sobie serwowaną przez malinę drukarkę sieciową, używając adresu:
http://adres_ip_maliny:631/printers/nazwa_drukarki
np. w moim przypadku wygląda to tak:
http://192.168.1.2:631/printers/Samsung_ML-2010
I to wszystko! Sprawdźmy jeszcze - choćby za pomocą rcconf - czy CUPS jest uruchamiany automatycznie z systemem i serwer wydruku gotowy.
Rozwiązanie działa niezależnie od tego, czy używamy sieci LAN, czy WiFi.
Od jakiegoś czasu zastanawiam się nad zakupem serwera wydruku, nawet mógłby pracować z drukarką wyposażoną w łącze równoległe (moja akurat ma i USB i Centronicsa), niestety ciągle blokuje mnie cena - jak na niewielki stopień komplikacji i niezbyt zaawansowaną technologię ciągle za wysoka, nawet w przypadku printserverów LAN-owskich. Wczoraj, grzebiąc bezmyślnie w internetach, natknąłem się na artykuł poświęcony malinie i gdzieś na początku przeczytałem, że ludzie robią z RaspberryPi przeróżne ustrojstwa, w tym centra multimedialne, serwery wydruku... I tu dostałem nagłej eureki... Przecież malina u mnie się ostatnio nudzi, a drukarkę udostępniam laptopowi żony przez komputer stacjonarny, który musi być włączony itd., a jest to - jak na porządną stacjonarkę przystało - kobyła i bomba energetyczna... A RaspberryPi, zasilany z zasilacza impulsowego, żrącego niewiele energii, sprawdziłby się w roli serwera wydruku wręcz doskonale.
Oto, co zrobiłem.
Na początku zaktualizowałem Raspbiana:
sudo apt-get update
sudo apt-get upgrade
następnie zainstalowałem pakiet oprogramowania CUPS:
sudo apt-get install cups
Razem z pakietem zasadniczym pociągnęło się oczywiście wiele innych, potrzebnych i szalenie ważnych. CUPS to oprogramowanie dostarczające systemom uniksowym funkcjonalność drukowania, współdzielenia i udostępniania drukarek w sieci. Dodatkowo mamy możliwość administrowania drukarkami czy kolejką wydruku przez przeglądarkę WWW. Aż dziw bierze, że takie cudo tworzy głównie firma ogrodnicza...
Po zainstalowaniu pakietu trzeba jeszcze, dla wygody, dodać swojego usera do grupy administratorów wydruku:
sudo usermod -a -G lpadmin nazwa_użytkownika
i - żeby dać sobie możliwość zarządzania drukarkami z innych komputerów w sieci (przez przeglądarkę właśnie), należy nieco zmienić plik konfiguracyjny /etc/cups/cupsd.conf. Mój plik konfiguracyjny na malinie wygląda tak (pogrubiłem linie dopisane lub zmienione przeze mnie):
#
# "$Id: cupsd.conf.in 9407 2010-12-09 21:24:51Z mike $"
#
# Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#
# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn
# Deactivate CUPS' internal logrotating, as we provide a better one, especially
# LogLevel debug2 gets usable now
MaxLogSize 0
# Only listen for connections from the local machine.
Port 631
#Listen localhost:631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS dnssd
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Web interface setting...
WebInterface Yes
# Restrict access to the server...
Order allow,deny
Allow all
# Restrict access to the admin pages...
Order allow,deny
Allow all
# Restrict access to configuration files...
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow all
# Set the default printer/job policies...
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
Order deny,allow
Require user @OWNER @SYSTEM
Order deny,allow
# All administration operations require an administrator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# All printer operations require a printer operator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# Only the owner or an administrator can cancel or authenticate a job...
Require user @OWNER @SYSTEM
Order deny,allow
Order deny,allow
# Set the authenticated printer/job policies...
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
AuthType Default
Order deny,allow
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
# All administration operations require an administrator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# All printer operations require a printer operator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# Only the owner or an administrator can cancel or authenticate a job...
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
Order deny,allow
#
# End of "$Id: cupsd.conf.in 9407 2010-12-09 21:24:51Z mike $".
#
W repozytoriach Raspbiana znajduje się wersja 1.5.3 pakietu CUPS (to dla jasności, gdyby były jakieś niezgodności co do zawartości pliku konfiguracyjnego). Załączyłem plik w całości, żeby można było go sobie po prostu skopiować i wkleić, bez grzebania i dopisywania.
Po zmianie pliku konfiguracyjnego przestrzeliwujemy usługę:
sudo service cups restart
i z poziomu przeglądarki wchodzimy na adres:
http://adres_ip_mailny
Interfejs jest szalenie prosty i intuicyjny, więc zakładam, że każdy poradzi sobie ze skonfigurowaniem swojej drukarki - jednak przed tą czynnością należy drukarkę podłączyć do RPi i włączyć jej zasilanie :). CUPS znajdzie zapewne kilka różnych drukarek (to ze względu na zainstalowane sterowniki), jednak wybrać musimy tę fizyczną, przez nas posiadaną - to oczywiste.
Po skonfigurowaniu drukarki jako współdzielonej i udostępnianej, możemy na dowolnej platformie systemowej (Linux, Windows, MacOS itp.) wybrać/dodać sobie serwowaną przez malinę drukarkę sieciową, używając adresu:
http://adres_ip_maliny
np. w moim przypadku wygląda to tak:
http://192.168.1.2:631/printers/Samsung_ML-2010
I to wszystko! Sprawdźmy jeszcze - choćby za pomocą rcconf - czy CUPS jest uruchamiany automatycznie z systemem i serwer wydruku gotowy.
Rozwiązanie działa niezależnie od tego, czy używamy sieci LAN, czy WiFi.
Komentarze
Prześlij komentarz