Raringでは、Cupsはネットワークに接続するたびに、ネットワーク内のすべてのプリンターを自動的に(複数回)インストールします。
さらに、USBプリンターを時々ラップトップに接続します。プリンターが既に構成されていても、別のプリンターがリストに追加されます。
この機能を無効にして、プリンタの手動インストールのみを許可したい。どうすればいいですか?
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
さらに良い/etc/init
ことに、単一の単語を含む単純なテキストファイルを追加することにより、サービスが再び開始されるのを防ぐことができますmanual
。ファイルには名前を付ける必要があります
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回の再起動でテストしました。印刷は引き続き正常に機能し、これまでのところ、リブート後に数百台のプリンターがインストールされていません。手動でインストールしたものだけが表示されます。
sudo systemctl disable cups-browsed
rcconfc
またはのようなサービスをセットアップするために、フレンドリーなncursesプログラムを使用することもできますsysv-rc-conf
。
sudo systemctl mask cups-browsed
今はできませんか?
で/etc/cups/cups-browsed.conf
、setディレクティブ:
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機能を維持しながら(リモートプリンターをCUPSクライアントに追加するなど)avahiの機能のほとんどをオフにする方法があります(たとえば、foo.local
スタイルのホスト名を検索する場合)。
/etc/avahi/avahi-daemon.confを編集し、[server]
セクションでenable-dbus=no
avahi-daemonサービスを追加してから再起動します。
enable-dbus=no
プリンターのavahiディスカバリーを防ぎ、この構成変更によって他のavahi機能が影響を受けるのですか?
無効にするには、ターミナルCtrl+ Alt+ Tを開いて入力します
sudo cupsctl --no-remote-printers
または編集する
/etc/cups/cupsd.conf
そしてセット
Browsing Off
一部の新しいUbuntu(15.04以降)では、代わりにこのコマンドが必要になる場合があります。
sudo cupsctl --no-share-printers
cupsctl: Unknown option "--no-remote-printers" Usage: ...
BrowseLocalProtocols none
ですか?
cupsクライアントライブラリは、Avahi(zeroconfまたはBonjourまたはmdnsまたはdns-sdとして知られるプロトコルを実装する)からネットワークプリンターのリストも取得するようになりました。古いバージョンのcupsでは、これはcupsサーバーによってのみ行われていました。
次のようなシェルコマンドを使用して、ネットワーク上でブロードキャストされているものを確認できます。 avahi-browse -a | grep Printer
でavahiを無効にできますがsudo service avahi-daemon stop
、それはプリンタだけでなく、すべての zeroconfベースのセットアップを停止します。
停止させるのは非常に簡単です。
不要なプリンターを削除します。次に:
sudo nano /etc/cups/cups-browsed.conf
次の行を変更します:(BrowseRemoteProtocols dnssd cups
またはそれ以降は)noneに変更しますBrowseRemoteProtocols none
。
次に、ファイルを保存して再起動します。
私のために問題を解決しました。
試してください:
開くhttp://localhost:631/admin/
→構成ファイルの編集または編集/etc/cups/cupsd.conf
変化する:
# Show shared printers on the local network.
Browsing Off
BrowseLocalProtocols none
HPでbonjourを無効にすると(おそらく他のプリンターも)ソリューションが見つかりました。謎のプリンターの検出は過去の問題です。