ネットワーク内に印刷が必要な複数のパーソナルコンピュータがある場合は、プリントサーバーと呼ばれるデバイスが必要です。プリントサーバーは、PCと、PCからの印刷ジョブを受け入れ、それぞれのプリンターに送信するプリンターの中間で機能します。
CUPSは、印刷および印刷サービス用のUnixライクなオペレーティングシステムの主要なメカニズムです。コンピュータをプリントサーバーとして機能させることができます。
このチュートリアルでは、CUPSプリントサーバーを設定する方法を学びます。 Ubuntu 20.04 。
前提条件
- プリンターへのネットワーク接続があるUbuntuサーバー20.04マシン
- プリンターにアクセスするためのクライアントUbuntuデスクトップまたはサーバーエディション
1。 UbuntuにCUPSをインストールする
CUPSは、Ubuntuを含むほとんどのLinuxディストリビューションの標準印刷システムです。印刷ジョブ、キュー、ネットワーク印刷(IPPを使用)をサポートし、さまざまなプリンター、ネットワークプリンターの自動検出、Web管理などをサポートします。
まず、Ubuntuシステムアップデートを入手します:
$ sudo apt update
CUPSは、UbuntuDesktopエディションにデフォルトでインストールされます。 Ubuntu Server Editionにカップをインストールするには、端末で次のコマンドを入力します。
$ sudo apt install cups
cupsデーモンを起動します:
$ sudo systemctl start cups
デーモンが実行されていることを確認します:
$ sudo systemctl status cups
出力:
● cups.service - CUPS Scheduler Loaded: loaded (/lib/systemd/system/cups.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-08-15 01:31:30 WAT; 53min ago TriggeredBy: ● cups.socket ● cups.path Docs: man:cupsd(8) Main PID: 971 (cupsd) Status: "Scheduler is running…" Tasks: 1 (limit: 18958) Memory: 26.3M ...
また、cupsデーモンが起動時に起動できるようにします:
$ sudo systemctl enable cups
2。 UbuntuでCUPSを構成する
CUPSは、Webインターフェイス(http://localhost:631/admin
で入手可能)を使用して構成できます。 )またはファイル/etc/cups/cupsd.confに含まれているディレクティブによって。 CUPS構成ファイルを構成してプリンターサーバーをセットアップする方法を確認しましょう。
まず、デフォルト構成のコピーを保存して、構成ファイルをバックアップします。これは、何かがうまくいかず、元に戻したい場合に備えています。
$ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.copy
お気に入りのエディタで元のファイルを開き、以下を変更します。
CUPSがすべてのネットワークインターフェイスでリッスンするには、Listen localhost:631
を示す行を無効にします (「ローカルマシンからの接続のみをリッスンする」セクションの下)そして、Port 631
という行を追加します。 次のように:
#Listen localhost:631
Port 631
ディレクティブBrowsing On
を確認してください ローカルネットワーク上の共有プリンタを表示するために有効になっています(「ローカルネットワーク上の共有プリンタを表示する」セクション):
Browsing On
BrowseLocalProtocols
を設定します dnsd
へ プロトコル(Bonjourをサポート)。デフォルトでは有効になっています。
BrowseLocalProtocols dnssd
[サーバーへのアクセスを制限する]セクションで、Allow @LOCAL
を追加します ネットワークから他のコンピュータからのアクセスを許可します。
#Restrict access to the server
<Location />
Order allow,deny
Allow @LOCAL
<Location>
[管理ページへのアクセスを制限する]の下に/adminディレクトリを追加して、他のコンピュータから管理ページにアクセスできるようにします。
#Restrict access to the admin pages.
<Location /admin>
Order allow,deny
Allow @LOCAL
<Location>
ファイルを保存して閉じます。次に、cupsデーモンを再起動して、変更を有効にします。
$ sudo systemctl restart cups
CUPS Webインターフェースを使用して構成する場合は、rootまたはlpadminグループで認証されたユーザーのいずれかを使用することをお勧めします。
lpadmin
にユーザーを追加するには グループ、タイプ:
$ sudo usermod -aG lpadmin username
3。プリンタドライバをインストールする
ほとんどのHPプリンターは、Linuxでデフォルトで動作します。 HPドライバーはhplipと呼ばれ、ほとんどのLinuxディストリビューションにすでにインストールされています。
注:ドライバーをインストールする前に、CUPSサービスを開始して、プリンターが自動的に検出されるかどうかを確認してください。
インストールされていない場合は、次のコマンドを使用してHPドライバーをインストールします。
$ sudo apt install hplip
openprinting.orgで他のプリンタードライバーを見つけることができます。
4。 BonjourをインストールしてCUPSプリンターを共有する
Bonjour(DNSSD)プロトコルを使用して、ネットワーク上で検出可能なサービスを印刷するように、cupsデーモンにすでに指示しました。
プリンタサービスディスカバリの場合、mDNS/DNS-SDサービスディスカバリを備えたavahi-daemonをインストールする必要があります。 avahi-daemonは、ネットワーク上でコンピューターの情報をブロードキャストするBonjourサーバーです。これにより、CUPSは、特定の構成なしでローカルネットワーク上で実行されているサービスとホストを公開/検出できます。
Ubuntuにavahi-daemonをインストールするには、次のように入力します。
$ sudo apt install avahi-daemon
avahiデーモンを開始するには、次のように入力します。
$ sudo systemctl start avahi-daemon
これで、起動時にavahi-daemonを有効にできます:
$ sudo systemctl enable avahi-daemon
実行中のavahi-daemonを確認します:
$ sudo sytemctl status avahi-daemon
192.168.43.105を示す出力 ネットワーク上のサービスエンドポイントの1つとして:
● avahi-daemon.service - Avahi mDNS/DNS-SD Stack Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-08-15 09:45:44 WAT; 11s ago TriggeredBy: ● avahi-daemon.socket Main PID: 11518 (avahi-daemon) Status: "avahi-daemon 0.8 starting up." Tasks: 2 (limit: 18958) Memory: 1.0M ... Aug 15 09:45:44 user-HP-EliteBook-Folio-9470m avahi-daemon[11518]: Registering new address record for 192.168.43.105 on wlo1.IPv4. ... Aug 15 09:45:45 user-HP-EliteBook-Folio-9470m avahi-daemon[11518]: Server startup complete. Host name is user-HP-EliteBook-Folio-9470m.local.
ポートのブロックを解除
ファイアウォールを有効にしている場合は、クライアントのマシンがCUPSポート631と通信できるようにしてください。
ufwがファイアウォールプログラムであると仮定します:
$ sudo ufw allow 631/tcp
また、avahi-daemonのUDPポート5353:
$ sudo ufw allow 5353/udp
Cleintコンピューターにプリンターを追加する
CUPSプリントサーバーを使用して共有されているクライアントUbuntuマシンにリモートプリンターを追加する方法を確認しましょう。
CUPSプリントサーバーからのBonjourブロードキャストを解釈するために、クライアントはcups-browsed(CUPSのコンポーネント-IPPをサポート)またはavahi-client(デフォルトでインストールされます)を使用できます。 IPPは印刷管理に必要であり、クライアントコンピューターがドライバーをインストールせずに共有プリンターを使用できるようにします。
cups-browsedデーモンは、ネットワーク内の共有プリンターを自動的に検出します。通常、プリンターを追加する必要はありません。
クライアントがUbuntuサーバーエディションの場合は、必ずインストールし(ほとんどのLinuxディストリビューションCUPSがプリインストールされています)、有効にして、カップを起動します。
$ sudo apt install cups
$ sudo systemctl start cups && sudo systemctl enable cups
リモートプリンタが自動的に検出されなかった場合は、手動で追加します。
ウィンドウキーを押して、[設定]>[プリンタ]に移動します。
[追加]ボタンをクリックします。
プリントサーバーのIPアドレスまたは名前を追加し、[検索]ボタンをクリックします。
リストからプリンタを選択し、[進む]ボタンをクリックします。
プリンタの簡単な説明を入力して、[適用]ボタンをクリックします。
lpコマンドを使用してコマンドラインからテスト印刷を実行し、魔法を見ることができます:
$ lp document.txt
結論
このチュートリアルでは、Ubuntu20.04でCUPSプリントサーバーをセットアップする方法を学びました。コメントセクションでフィードバックや提案をお知らせください。