Ubuntu20.04でCUPSプリントサーバーを設定する方法

ネットワーク内に印刷が必要な複数のパーソナルコンピュータがある場合は、プリントサーバーと呼ばれるデバイスが必要です。 プリントサーバーは、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

セットする BrowseLocalProtocolsdnsd プロトコル(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プリントサーバーをセットアップする方法を学びました。 コメントセクションでフィードバックや提案をお知らせください。