All of lore.kernel.org
 help / color / mirror / Atom feed
From: Till Kamppeter <till.kamppeter@gmail.com>
To: Michael Sweet <msweet@msweet.org>,
	AbdElRahman Khalifa <abdelrahman.5alifa@gmail.com>
Cc: printing-architecture@lists.linux.dev
Subject: Re: Recommended way to manually add an undiscovered IPP printer in CUPS 3.x
Date: Sat, 1 Aug 2026 23:48:31 +0200	[thread overview]
Message-ID: <e8fda297-ebbc-4252-87bc-7a1502472c72@gmail.com> (raw)
In-Reply-To: <debbccfb-2744-4d00-b786-796dea075e09@gmail.com>

Abdelrahman,

I think now I see how the concept in CUPS 3.x is meant:

First, in "Add Printer" you do not only allow to look for legacy printers to 
assign Printer Applications to, but you also look for driverless network 
printers which are not visible due to mDNS/DNS-SD not running or the printer 
being in a network not being your local one.

So in "Add Printer" you give the options as I suggested before:

On 8/1/26 21:50, Till Kamppeter wrote:
> Abdelrahman,
> 
> If there is no mDNS/DNS-SD active you can do:
> 
> 1. Put an option into the "Add Printer" part where the user only enters the IP 
> (or host name) of the printer. It could then try get-printer-attributes on
> - ipps://IP:443/
> - ipps://IP:631/
> - ipp://IP:631/
> - ipps://IP:8000/
> - ipp://IP:8000/
> - ipps://IP:8001/
> - ipp://IP:8001/
> - ...
> 
> Test 1 and 3 are for network printers, 2 and 3 for remote CUPS servers, 4+ for 
> remote Printer Applications.
> 
> 2. Also test
> - ipp://localhost:60000/
> - ipp://localhost:60001/
> - ...
> - ipps://localhost:8000/
> - ipp://localhost:8000/
> - ipps://localhost:8001/
> - ipp://localhost:8001/
> - ...
> 
> either automatically in the main view or  by button(s) in "Add Printer". This is 
> for local IPP-over-USB printers and local Printer Applications.
> 

You also give the option to select a network, to extend IPP printer discovery 
into that network. For example the user can add the corporate printer VLAN here.

Settings will be saved in profiles in ~/.cups/profiles/

You can also add a switch to "Add Printer" to make system-wide settings, then 
they get saved in /etc/cups/profiles/. Flicking this switch requires 
authentication for a root operation.

So you add to the "Add Printer" part a GUI frontend for defining profiles.

The profiles are NOT being used by the running CUPS daemon (local or sharing) 
but by the function in libcups (cupsEnumDests()) to list available print 
destinations. All print dialogs will have to use this function (if a dialog uses 
CPDB it will use this function).

So from Michael we need to know what the capabilities and the syntax of the 
files for profiles are.


Also, you can add "Set Option Defaults" buttons to all print destinations in the 
main view. This button is to be considered as a GUI frontend for the "lpoptions" 
command (or its libcups API equivalent, see source code of "lpoptions"). So 
settings get saved in ~/.cups/lpoptions (or with "system-wide" switch and 
authentication in /etc/cups/lpoptions). Note that these saved options do not 
require that the daemon has a permanent queue. They are only used by the client 
side (print dialogs of all portals and toolkits, CPDB, CLI tools).


Michael, am I right now?

    Till


  parent reply	other threads:[~2026-08-01 21:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-01 16:44 Recommended way to manually add an undiscovered IPP printer in CUPS 3.x AbdElRahman Khalifa
2026-08-01 17:16 ` Michael Sweet
2026-08-01 19:50   ` Till Kamppeter
2026-08-01 20:41     ` Michael Sweet
2026-08-01 21:21       ` Till Kamppeter
2026-08-01 23:03         ` Michael Sweet
2026-08-01 21:48     ` Till Kamppeter [this message]
2026-08-01 23:59       ` Till Kamppeter
2026-08-02  9:18         ` AbdElRahman Khalifa
2026-08-02 12:04           ` Till Kamppeter
2026-08-02 17:47           ` Michael Sweet
2026-08-07 19:14             ` AbdElRahman Khalifa
2026-08-07 20:11               ` Michael Sweet
2026-08-01 22:46     ` Alexander Pevzner
2026-08-01 23:11       ` Till Kamppeter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e8fda297-ebbc-4252-87bc-7a1502472c72@gmail.com \
    --to=till.kamppeter@gmail.com \
    --cc=abdelrahman.5alifa@gmail.com \
    --cc=msweet@msweet.org \
    --cc=printing-architecture@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.