Raringでは、ネットワークに接続するたびに、Cupsがネットワーク内のすべてのプリンターを自動的に(複数回)インストールします。
さらに、USBプリンターを時々ラップトップに接続します。プリンターが既に構成されていても、別のプリンターがリストに追加されます。
この機能を無効にして、プリンタの手動インストールのみを許可したい。どうすればいいですか?
この混乱の、おそらく最適な解決策を発見しました。 「cups-browsed」と呼ばれるサービスがありますが、これは明らかにネットワークに出かけ、それを見つけてインストールできるすべてのプリンターを見つける責任があります(gee-thanks --NOT)。これはUpstart/Systemdジョブであるため、次の方法でサービスを停止できます。
Sudo systemctl stop cups-browsed
に続く:
Sudo systemctl disable cups-browsed
必要に応じて、手動でサービスを開始/停止することもできます。
Sudo systemctl start cups-browsed
Sudo systemctl stop cups-browsed
Sudo service cups-browsed stop
さらに良いことに、単一のWord manual
を含む/etc/init
に単純なテキストファイルを追加することにより、サービスが再び開始されるのを防ぐことができます。ファイルにはcups-browsed.override
という名前を付ける必要があります
それで、geditを起動するだけです
gksudo gedit /etc/init/cups-browsed.override
最初の唯一の行にmanual
を入れて、ファイルを保存します。
次回の再起動では、サービスは再起動されません。ただし、すでにサービスを停止している場合は、再起動する必要はありません。このファイルを/ etc/initに配置すると、次を使用してサービスを手動でのみ開始できます(必要な場合と必要な場合)。
Sudo service cups-browsed start
-or-
Sudo service cups-browsed stop`
これを1回の再起動でテストしました。印刷は引き続き正常に機能し、これまでのところ、リブート後に数百台のプリンターがインストールされていません。手動でインストールしたものだけが表示されます。
/etc/cups/cups-browsed.conf
で、ディレクティブを設定します。
BrowseProtocols none
その後、service cups-browsed restart
およびservice cups restart
を実行します。自分で追加したプリンターを除き、プリンターは表示されません。
前述したように、これはクライアント側cupsライブラリ(つまり、GNOMEおよびKDEアプリがリンクするlibcups.so)で実行され、cupsdサーバーでは実行されません。そのため、cupsサーバーの「参照」設定を変更しても機能しません。
$ ldd /usr/lib/x86_64-linux-gnu/libcups.so.2
...
libavahi-common.so.3 => /usr/lib/x86_64-linux-gnu/libavahi-common.so.3
libavahi-client.so.3 => /usr/lib/x86_64-linux-gnu/libavahi-client.so.3
...
IEこの動作([印刷]ダイアログボックスにリモートプリンターを表示する)は、ローカルカップサーバーをオフにしても発生します。 avahi
サービスをオフにすることで無効にすることができますが、zeroconf/mdns関連の機能はすべて無効になります。
ただし、少なくともDNSの機能を維持しながら(たとえば、foo.local
- styleホスト名を検索するとき)、ほとんどのavahiの機能(CUPSクライアントへのリモートプリンターの追加を含む)をオフにする方法があります。
/etc/avahi/avahi-daemon.confを編集し、[server]
セクションにenable-dbus=no
を追加して、avahi-daemonサービスを再起動します。
無効にするには、単にターミナルを開きます Ctrl+Alt+T そしてタイプ
Sudo cupsctl --no-remote-printers
または編集する
/etc/cups/cupsd.conf
そしてセット
Browsing Off
この解決策が見つかりました こちら
一部の新しいUbuntu(15.04以降)では、代わりにこのコマンドが必要になる場合があります。
Sudo cupsctl --no-share-printers
Cupsクライアントライブラリは、Avahi(zeroconfまたはBonjourまたはmdnsまたはdns-sdとして知られるプロトコルを実装する)からネットワークプリンターのリストも取得するようになりました。古いバージョンのcupsでは、これはcupsサーバーによってのみ行われていました。
avahi-browse -a | grep Printer
などのシェルコマンドを使用して、ネットワーク上でブロードキャストされているものを確認できます。
Sudo service avahi-daemon stop
でavahiを無効にすることができますが、それはall zeroconfベースのセットアップを停止し、プリンターだけではありません。
停止させるのは非常に簡単です。
不要なプリンターを削除します。次に:
Sudo nano /etc/cups/cups-browsed.conf
次の行を変更します:BrowseRemoteProtocols dnssd cups
(またはそれ以降)は、BrowseRemoteProtocols none
と読み取ります。
次に、ファイルを保存して再起動します。
私のために問題を解決しました。
試してください:
http://localhost:631/admin/
を開く→構成ファイルの編集または/etc/cups/cupsd.conf
の編集
変化する:
# Show shared printers on the local network.
Browsing Off
BrowseLocalProtocols none
リファレンス: cupsd.conf:BrowseLocalProtocols
HPでbonjourを無効にすると(おそらく他のプリンターも)ソリューションが見つかりました。謎のプリンターの検出は過去の問題です。