{"id":20227444,"url":"https://github.com/fkemser/cupswrapper","last_synced_at":"2026-06-07T17:33:08.532Z","repository":{"id":244298355,"uuid":"752239196","full_name":"fkemser/CUPSwrapper","owner":"fkemser","description":"A collection of shell scripts to interactively print and manage printers for local usage.","archived":false,"fork":false,"pushed_at":"2024-09-13T21:25:03.000Z","size":6568,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T23:40:44.575Z","etag":null,"topics":["cups","dialog","printing","sh","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fkemser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-03T12:55:17.000Z","updated_at":"2024-09-13T21:25:06.000Z","dependencies_parsed_at":"2024-07-05T21:10:20.169Z","dependency_job_id":null,"html_url":"https://github.com/fkemser/CUPSwrapper","commit_stats":null,"previous_names":["fkemser/cupswrapper"],"tags_count":0,"template":false,"template_full_name":"fkemser/SHtemplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fkemser%2FCUPSwrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fkemser%2FCUPSwrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fkemser%2FCUPSwrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fkemser%2FCUPSwrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fkemser","download_url":"https://codeload.github.com/fkemser/CUPSwrapper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241670155,"owners_count":20000327,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cups","dialog","printing","sh","shell"],"created_at":"2024-11-14T07:24:48.749Z","updated_at":"2026-06-07T17:33:08.292Z","avatar_url":"https://github.com/fkemser.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003c!--\n*** Thanks for checking out the Best-README-Template. If you have a suggestion\n*** that would make this better, please fork the repo and create a pull request\n*** or simply open an issue with the tag \"enhancement\".\n*** Don't forget to give the project a star!\n*** Thanks again! Now go create something AMAZING! :D\n--\u003e\n\n\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![GNU GPL v3.0 License][license-shield]][license-url]\n\u003c!-- [![LinkedIn][linkedin-shield]][linkedin-url] --\u003e\n\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003c!-- \u003ca href=\"https://github.com/fkemser/CUPSwrapper\"\u003e\n    \u003cimg src=\"images/logo.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e --\u003e\n\n\u003ch3 align=\"center\"\u003eCUPSwrapper\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A collection of shell scripts to interactively print and manage printers via command line.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/fkemser/CUPSwrapper\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/fkemser/CUPSwrapper\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/fkemser/CUPSwrapper/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/fkemser/CUPSwrapper/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#testing-environment\"\u003eTesting Environment\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n          \u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\n          \u003cul\u003e\n            \u003cli\u003e\u003ca href=\"#alpine-linux\"\u003eAlpine Linux\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#debian\"\u003eDebian\u003c/a\u003e\u003c/li\u003e\n          \u003c/ul\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\n          \u003ca href=\"#os-settings\"\u003eOS Settings\u003c/a\u003e\n          \u003cul\u003e\n            \u003cli\u003e\u003ca href=\"#windows-subsystem-for-linux-wsl-users-only\"\u003eWindows Subsystem for Linux (WSL) Users Only\u003c/a\u003e\u003c/li\u003e\n          \u003c/ul\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage-srccupssh\"\u003eUsage (/src/cups.sh)\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nThis project provides a `dialog`-based interface to\n\n- set up a printer,  \n![Screenshot 1][screenshot1]\n\n- select a default printer,\n- set default printing settings,\n- print a document (or `stdin` input), allowing the user to interactively choose printer and printing settings,  \n![Screenshot 2][screenshot2]\n\n- create print job settings (`lp` arguments) that can be saved into a variable for multiple usage,  \n![Screenshot 3][screenshot3]\n\n- cancel print jobs.  \n![Screenshot 4][screenshot4]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n### Built With\n\n[![Shell Script][Shell Script-shield]][Shell Script-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n### Testing Environment\n\nThe project has been developed and tested on the following system:\n\n| Info | Description\n---: | ---\nOS | Debian GNU/Linux 12 (bookworm)\nKernel | 5.15.133.1-microsoft-standard-WSL2\nPackages | [avahi-daemon (0.8-10)](https://packages.debian.org/bookworm/avahi-daemon)\n|| [coreutils (9.1-1)](https://packages.debian.org/bookworm/coreutils)\n|| [cups (2.4.2-3+deb12u5)](https://packages.debian.org/bookworm/cups)\n|| [dash (0.5.12-2)](https://packages.debian.org/bookworm/dash)\n|| [dialog (1.3-20230209-1)](https://packages.debian.org/bookworm/dialog)\n|| [libc-bin (2.36-9+deb12u3)](https://packages.debian.org/bookworm/libc-bin)\n|| [printer-driver-all (0.20210903)](https://packages.debian.org/bookworm/printer-driver-all)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\n### Prerequisites\nPlease make sure that the following dependencies are installed:\n\n* [Avahi](https://avahi.org/)\n* [CUPS](https://openprinting.github.io/cups/)\n* [Dialog](https://invisible-island.net/dialog/dialog.html)\n* In case you have an older printer that does not support driverless printing (IPP) yet you may also need additional\nlegacy drivers.\n\nBelow you can find distribution-specific installation instructions.\n\n#### Alpine Linux\n```sh\n# Required\necho \"https://dl-cdn.alpinelinux.org/alpine/v$(cut -d'.' -f1,2 /etc/alpine-release)/community/\" | sudo tee -a /etc/apk/repositories\necho \"@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing/\" | sudo tee -a /etc/apk/repositories\nsudo apk update\nsudo apk add avahi cups cups-filters cups-pdf@testing dialog\n\n# Optional\nsudo apk add gutenprint-cups@testing\n```\n\n#### Debian\n```sh\nsudo apt install avahi-daemon cups dialog   # Required\nsudo apt install printer-driver-all         # Optional\n```\n\n### OS Settings\nThe current user must be a member of the 'lpadmin' group:\n\n```sh\nsudo usermod -a -G lpadmin \u003cusername\u003e\n```\n\n#### Windows Subsystem for Linux (WSL) Users Only\nPlease make sure that `systemd` is enabled as the default system/session manager. For more information please have a look at: https://learn.microsoft.com/en-us/windows/wsl/systemd\n\n### Installation\n\n1. Clone the repo\n\t```sh\n   git clone --recurse-submodules https://github.com/fkemser/CUPSwrapper.git\n   ```\n2. Edit the repository configuration file. In case it is empty just keep it as it is, **do not delete it**.\n\t```sh\n   nano ./CUPSwrapper/etc/cups.cfg.sh\n   ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage (/src/cups.sh)\n\n```sh\n================================================================================\n===============================     SYNOPSIS     ===============================\n================================================================================\n\nThere are multiple ways to run this script:\n\nInteractive mode (without any args):\n\u003e ./cups.sh\n\nClassic (script) mode:\n\u003e ./cups.sh [ OPTION ]... ACTION [\u003cfile\u003e]\n\nACTION := { -h|--help | --jobsettings | --print [\u003cfile\u003e] }\n\n[\u003cfile\u003e] : File to print (optional)\n\n--------------------------------------------------------------------------------\n--------------------------------     ACTION     --------------------------------\n--------------------------------------------------------------------------------\n\n-h|--help            Show this help message                                     \n\n--submenu \u003cmenu\u003e     Run a certain submenu interactively and exit               \n                                                                                \n                     \u003cmenu\u003e = { add | default | defsettings | remove | print }  \n\n--jobsettings        Interactively select printer and print job settings. The   \n                     chosen settings will be printed to \u003cstdout\u003e, e.g. for      \n                     further use with 'lp' command.                             \n\n--print [\u003cfile\u003e]     Print, either from a given \u003cfile\u003e or a previous command's  \n                     output (via pipe). Interactively select printer and print  \n                     job settings before printing.                              \n\n================================================================================\n===============================     EXAMPLES     ===============================\n================================================================================\n\n____________________________________ Print _____________________________________\n\n./cups.sh --print letter.pdf     # Print a PDF file named 'letter.pdf'\necho Hello | ./cups.sh --print   # Print a command's output, here 'echo Hello'\n```\n\n\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\nSee the [open issues](https://github.com/fkemser/CUPSwrapper/issues) for a full list of proposed features (and known issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the **GNU General Public License v3.0 (or later)**. See [`LICENSE`][license-url] for more information.\n\n\u003e :warning: The license above does not apply to the files and folders within the library directory `/lib`. Please have a look at the `LICENSE` file located in the root directory of each library to get more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nProject Link: [https://github.com/fkemser/CUPSwrapper](https://github.com/fkemser/CUPSwrapper)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n## Acknowledgments\n###\n* [othneildrew/Best-README-Template](https://github.com/othneildrew/Best-README-Template)\n* [Ileriayo/markdown-badges](https://github.com/Ileriayo/markdown-badges)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/fkemser/CUPSwrapper.svg?style=for-the-badge\n[contributors-url]: https://github.com/fkemser/CUPSwrapper/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/fkemser/CUPSwrapper.svg?style=for-the-badge\n[forks-url]: https://github.com/fkemser/CUPSwrapper/network/members\n[stars-shield]: https://img.shields.io/github/stars/fkemser/CUPSwrapper.svg?style=for-the-badge\n[stars-url]: https://github.com/fkemser/CUPSwrapper/stargazers\n[issues-shield]: https://img.shields.io/github/issues/fkemser/CUPSwrapper.svg?style=for-the-badge\n[issues-url]: https://github.com/fkemser/CUPSwrapper/issues\n[license-shield]: https://img.shields.io/github/license/fkemser/CUPSwrapper.svg?style=for-the-badge\n[license-url]: https://github.com/fkemser/CUPSwrapper/blob/master/LICENSE\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/linkedin_username\n\n[screenshot1]: res/screenshot1.gif\n[screenshot2]: res/screenshot2.gif\n[screenshot3]: res/screenshot3.gif\n[screenshot4]: res/screenshot4.gif\n\n[LaTeX-shield]: https://img.shields.io/badge/latex-%23008080.svg?style=for-the-badge\u0026logo=latex\u0026logoColor=white\n[LaTeX-url]: https://www.latex-project.org/\n[Shell Script-shield]: https://img.shields.io/badge/shell_script-%23121011.svg?style=for-the-badge\u0026logo=gnu-bash\u0026logoColor=white\n[Shell Script-url]: https://pubs.opengroup.org/onlinepubs/9699919799/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffkemser%2Fcupswrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffkemser%2Fcupswrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffkemser%2Fcupswrapper/lists"}