2023/01/29(日) [n年前の日記]
#1 [debian][linux] LinuxからWindowsの共有プリンタを使いたかった
Linux Mint 21.1 から、Windows10 x64 22H2 にUSB接続された共有プリンタ Canon iP4600 を使って印刷したい。試してみた。
◎ Windows10側のネットワークプロファイル :
まず、Windows10側のネットワークプロファイルは、今までパブリックになっていたけどプライベートにした。
このあたり、そのPC自身がパブリックな状態になるか、プライベートな状態になるか、ということで呼び分けているわけではなくて…。「お前はこのPCをパブリックな場所に持ち込んでいるのか? それともプライベートな場所に持ち込んでいるのか?」という意味で呼び分けているようだなと…。ちょっと気をつけないといけない。
- パブリックにすると、そのPCが持っている共有リソースを他のPCから検索できなくなる。
- プライベートにすると、そのPCはLANに参加してるPC扱いになって、そのPCが持っている共有リソースを他のPCが検索できるようになる。
このあたり、そのPC自身がパブリックな状態になるか、プライベートな状態になるか、ということで呼び分けているわけではなくて…。「お前はこのPCをパブリックな場所に持ち込んでいるのか? それともプライベートな場所に持ち込んでいるのか?」という意味で呼び分けているようだなと…。ちょっと気をつけないといけない。
◎ Linux側でプリンタを追加 :
Linux側では、CUPS の管理ページをWebブラウザで開いて、そこからプリンタを追加してみた。
Gutenprint なるドライバを使って対応するということらしい。元は GIMP が絡んでたドライバらしいけど…。
_Gutenprint Features
「smb://〜」については、以下の構文(?)を指定。
例えば、Windows側のワークスペース名がworkspace、ユーザ名がyamada、パスワードがpass、ホスト名(マシン名)がwindowspc、共有プリンタ名がiP4600なら、以下の記述になる。
「プリンター iP4600 は正しく追加されました。」と表示されたので、「iP4600」のリンクをクリック。「メンテナンス」を「テストページの印刷」にすると、テスト印刷が実行された。
一応印刷はできたのけど、問題が…。色が滅茶苦茶になってる…。
今回、gutenprint とやらを通して印刷用のデータを作っているのだろうけど、gutenprint は色んなプリンタに対応してるものの、あくまで、モノクロ印刷だけなら一応できますよ、みたいな状態なのかもしれない。
iP4600のプロパティ → プリンターオプション、で、Color Model を RGB Color から CMYK にすると色がまともになるという話も見かけた。
_Ubuntu11.10でCanon iP4500プリンターを設定する
試してみたら、色が全く出てこない状態になった…。RGB Color に戻しても、モノクロのまま…。何故…。Windows10 と Linux Mint 21.1 を再起動したけど変わらない…。
以下のページでも、iP4600 で CMYK にしたら色が出なくなったという不具合報告があった模様。2017年頃のやり取り。どうやら iP4500 と iP4600 は何かちょっと違う仕様っぽいなと…。
_[SOLVED] Gutenprint Canon iP4600 driver will not print CMYK
- http://localhost:631/ をWebブラウザで開く。
- 管理 → プリンターの追加。
- 「Windows Printer via SAMBA」を選択して、「続ける」をクリック。
- 「smb://〜」を指定。記述内容については後述。
- 次の画面でプリンタ名を入力。iP4600にした。
- 次の画面で、メーカー名("Canon")を選んで「続ける」をクリック。
- 次の画面でプリンタ型番("Canon iP4600 series - CUPS+Gutenprint v5.3.3 (en)")を選んで、下のほうにある「プリンターの追加」をクリック。
Gutenprint なるドライバを使って対応するということらしい。元は GIMP が絡んでたドライバらしいけど…。
_Gutenprint Features
sudo apt install printer-driver-gutenprint gutenprint-locales
「smb://〜」については、以下の構文(?)を指定。
smb://workspace/username:password@hostname/printername smb://ワークスペース名/ユーザ名:パスワード@Windows機ホスト名/プリンタ名
例えば、Windows側のワークスペース名がworkspace、ユーザ名がyamada、パスワードがpass、ホスト名(マシン名)がwindowspc、共有プリンタ名がiP4600なら、以下の記述になる。
smb://workspace/yamada:pass@windowspc/iP4600
「プリンター iP4600 は正しく追加されました。」と表示されたので、「iP4600」のリンクをクリック。「メンテナンス」を「テストページの印刷」にすると、テスト印刷が実行された。
一応印刷はできたのけど、問題が…。色が滅茶苦茶になってる…。
今回、gutenprint とやらを通して印刷用のデータを作っているのだろうけど、gutenprint は色んなプリンタに対応してるものの、あくまで、モノクロ印刷だけなら一応できますよ、みたいな状態なのかもしれない。
iP4600のプロパティ → プリンターオプション、で、Color Model を RGB Color から CMYK にすると色がまともになるという話も見かけた。
_Ubuntu11.10でCanon iP4500プリンターを設定する
試してみたら、色が全く出てこない状態になった…。RGB Color に戻しても、モノクロのまま…。何故…。Windows10 と Linux Mint 21.1 を再起動したけど変わらない…。
以下のページでも、iP4600 で CMYK にしたら色が出なくなったという不具合報告があった模様。2017年頃のやり取り。どうやら iP4500 と iP4600 は何かちょっと違う仕様っぽいなと…。
_[SOLVED] Gutenprint Canon iP4600 driver will not print CMYK
◎ 公式ドライバをインストールできないか試したけどダメだった :
Canonが配布しているiP4600のLinux用ドライバをインストールできたら印刷結果の色味も違ってくるのかもしれないけれど。
_キヤノン:ダウンロード|IJ Printer Driver Ver.3.00 for Linux
Canonのサイトで入手できるドライバは Ubuntu 8.04 対応のドライバなので、今の Ubuntu 22.04 や Debian 11 ではパッケージの依存関係で問題が起きてインストールできない。具体的には libcupsys2 というパッケージが今のDebian系では無くなったので、そこでエラーを出してしまう。
以下のやり取りを見ると、回避策がありそうな感じに見えるのだけど…。
_Bug #480903 “canon iP4600 does not print; cnijfilter-common inst...” : Bugs : linux package : Ubuntu
Debian Linux 11 bullseye 上で以下を試してみた。
cnijfilter-common_3.00-1_i386.deb はインストールできたように見えたけど、cnijfilter-ip4600series_3.00-1_i386.deb のインストールには、libpng12-0 と libtiff4 が必要らしくてエラーになった。Ubuntu には該当パッケージがあったらしいけど、Debian には無い…。どうして Debian系用として作らずに Ubuntu に特化したのか…。
とりあえずアンインストールしておいた。
ソースファイル一式、cnijfilter-common-3.00-1.tar.gz も同じページから入手できるから、どうにかしたい人は自力で頑張ってくれ、健闘を祈る、ということなんだろうなと。知識がある人なら自分でビルドできるのかもしれない。
中を覗いたら Makefile があったので、一応ダメ元で、Debian 11 bullseye 上で make と打ってみたけど、なんだかよく分からないエラーが出てきて全く先に進まなかった。
_キヤノン:ダウンロード|IJ Printer Driver Ver.3.00 for Linux
Canonのサイトで入手できるドライバは Ubuntu 8.04 対応のドライバなので、今の Ubuntu 22.04 や Debian 11 ではパッケージの依存関係で問題が起きてインストールできない。具体的には libcupsys2 というパッケージが今のDebian系では無くなったので、そこでエラーを出してしまう。
以下のやり取りを見ると、回避策がありそうな感じに見えるのだけど…。
_Bug #480903 “canon iP4600 does not print; cnijfilter-common inst...” : Bugs : linux package : Ubuntu
Debian Linux 11 bullseye 上で以下を試してみた。
sudo dpkg -i --ignore-depends=libcupsys2 --force-architecture cnijfilter-common_3.00-1_i386.deb sudo dpkg -i --ignore-depends=libcupsys2 --force-architecture cnijfilter-ip4600series_3.00-1_i386.debおそらく --ignore-depends=libcupsys2 の指定で、該当パッケージの依存関係チェックは無視するのだろう。たぶん。
cnijfilter-common_3.00-1_i386.deb はインストールできたように見えたけど、cnijfilter-ip4600series_3.00-1_i386.deb のインストールには、libpng12-0 と libtiff4 が必要らしくてエラーになった。Ubuntu には該当パッケージがあったらしいけど、Debian には無い…。どうして Debian系用として作らずに Ubuntu に特化したのか…。
とりあえずアンインストールしておいた。
sudo dpkg -r cnijfilter-ip4600series sudo dpkg -r cnijfilter-common
ソースファイル一式、cnijfilter-common-3.00-1.tar.gz も同じページから入手できるから、どうにかしたい人は自力で頑張ってくれ、健闘を祈る、ということなんだろうなと。知識がある人なら自分でビルドできるのかもしれない。
中を覗いたら Makefile があったので、一応ダメ元で、Debian 11 bullseye 上で make と打ってみたけど、なんだかよく分からないエラーが出てきて全く先に進まなかった。
◎ 他の構文 :
CUPSのページでプリンターを追加する際、以下の指定でも行けないかと思ったけれど、どちらもテスト印刷時に "NT_STATUS_ACCESS_DENIED'" エラーが出てダメだった…。
「LPD/LPRホストまたはプリンター」を選んで、lpd:// で指定できないかと思ったけど、これも上手く行かなかった。 lpd:// を使う時はWindows10側で機能の追加が必要らしい。そのあたりは以下のページで解説されてた。
_CUPS/プリンター共有 - ArchWiki
smb://guest@HostName/iP4600
smb://Workspace/guest@HostName/iP4600
「LPD/LPRホストまたはプリンター」を選んで、lpd:// で指定できないかと思ったけど、これも上手く行かなかった。 lpd:// を使う時はWindows10側で機能の追加が必要らしい。そのあたりは以下のページで解説されてた。
_CUPS/プリンター共有 - ArchWiki
◎ Debianはちょっと不便 :
Linux Mint 21.1 上では、前述の手順でプリンタを追加できたけど、Debian Linux 11 bullseye 上で同じことをしてみたら、そもそも「Windows Printer via SAMBA」という項目が出てこなかった。何かのパッケージが足りてないのだろうか…。Linux Mint (or Ubuntu?)はこのあたりも色々整備してあるのだろう。たぶん。
[ ツッコむ ]
以上です。