ネットワーク内に印刷が必要な複数のパーソナルコンピュータがある場合は、プリントサーバーと呼ばれるデバイスが必要です。 プリントサーバーは、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スケジューラロード済み:ロード済み(/lib/systemd/system/cups.service;有効;ベンダープリセット:有効)アクティブ:Sun 2021-08-15 01:31:30 WAT以降アクティブ(実行中)。 53分前TriggeredBy:●cups.socket●cups.pathドキュメント:man:cupsd(8)メインPID:971(cupsd)ステータス:「スケジューラーが実行中です…」タスク:1(制限:18958)メモリ:26.3M .. ..
また、cupsデーモンが起動時に起動できるようにします。
$ sudo systemctl enable cups
2.UbuntuでCUPSを構成します
CUPSは、Webインターフェイス(で利用可能)を使用して構成できます。 https://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 ページの追加/admin 他のコンピュータからのアクセスを許可するディレクトリ admin ページ。
#Restrict access to the admin pages.
<Location /admin>
Order allow,deny
Allow @LOCAL
<Location>
Save と close ファイル。 次に、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
ネットワーク上のサービスエンドポイントの1つとして192.168.43.105を示す出力:
●avahi-daemon.service-AvahimDNS / DNS-SDスタックロード済み:ロード済み(/lib/systemd/system/avahi-daemon.service;有効、ベンダープリセット:有効)アクティブ:Sun 2021-08以降アクティブ(実行中)- 15 09:45:44 WAT; 11秒前TriggeredBy:●avahi-daemon.socketメインPID:11518(avahi-daemon)ステータス:「avahi-daemon0.8が起動しています。」 タスク:2(制限:18958)メモリ:1.0M … Aug 15 09:45:44 user-HP-EliteBook-Folio-9470m avahi-daemon[11518]:wlo1.IPv4に192.168.43.105の新しいアドレスレコードを登録しています。 … 8月15日09:45:45ユーザー-HP-EliteBook-Folio-9470mavahi-daemon[11518]:サーバーの起動が完了しました。 ホスト名は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プリントサーバーをセットアップする方法を学びました。 コメントセクションでフィードバックや提案をお知らせください。