As regular users of Linux will know, WeWork does not support printing from Linux machines. This is my attempt to democratize the availability of printing services for all users.

Note: Apparently this does work on Fedora too.

Deploy on Linux

Install Java 8.0

Ensure Java 8.0 is installed and the JAVA_HOME environment variable is defined. For those of you who like me detest having Java on their system, this involves:

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

Ubuntu should make Java 8 your default, but verify it nonetheless:

$ sudo update-alternatives --config java

Follow the instructions and ensure that Java 8 (manual mode) is the default.

Note the path to the jre above and add the JAVA_HOME variable at the end in ~/.bash_profile or /etc/environment

$ sudo vi /etc/environment

Add the path shown above.

JAVA_HOME="/usr/lib/jvm/java-8-oracle"

Save and exit and update the environment variables.

$ source /etc/environment

Verify that the variable is set:

$ echo $JAVA_HOME

Install smbclient if not installed

$ sudo apt-get install smbclient

Install the printer to CUPS

Marcos Scriven reports that system-config-printer may be required if not already installed.

$ sudo apt-get install system-config-printer

This is an important step as PaperCut uses the native printing service to print documents. Open up the Printers dialog on Ubuntu and select "Add Printer". Select ipp as the option and use the following printer queue address:

ipp://p.wework.com/printers/WeWork

Go through the next steps of selecting the printer type and model. In my case the printer was "HP" and model was "HP Color LaserJet flow MFP M880".

Install PaperCut Linux client

PaperCut does not distribute the clients separately but includes them with the print server, and leaves it to the discretion of the IT team of the organization to make them available. That leaves some operating systems unsupported.

Download the PaperCut Linux client and expand it at a convenient location. It has already been configured for WeWork print server settings. See section below for details.

$ mkdir -p ~/Applications
$ cd ~/Applications
$ tar -xvzf ~/Downloads/papercut-linux.tgz

Commands above assume that the file was downloaded to ~/Downloads and the client installs at ~/Applications/papercut.

If the workstation is used by multiple users, the client directory could be copied to a common location such as /usr/local/papercut.

Set permissions

Set execute permissions on the pc-client-linux.sh file:

$ cd ~/Applications/papercut
$ chmod 755 ./pc-client-linux.sh

Configuration

This section only for informational purposes in case anyone ever needs to modify the installation for their particular WeWork location or in case WeWork changes the print server info. The key printer server settings are in the file ~/Applications/papercut/config.properties. The settings to be changed are:

server-ip=10.251.245.5
server-port=9191
server-name=print.wework.com

Printing on Linux

  • Locate and execute the file pc-client-linux.sh
    $ ~/Applications/pc-client-linux.sh &
    
  • The PaperCut MF client should open. Enter the username and password supplied by WeWork. Check the box to save the credentials. The app should minimize to the dock.
  • Print a test page and select the WeWork printer (usually MF M880) in the printer dialog. The PaperCut dialog box should pop up and ask you for your credentials (again).
  • If all goes well, your document should now be added to the printer queue and you can collect it from the nearest printer.
  • Configure the pc-client-linux.sh program as a “Startup Application” using the Startup Applications dialog from the Dash. Or feel free to use other eclectic methods as per your liking to launch the client at startup.
  • Enjoy printing from your favourite open source operating system!

Extras

Thanks to Jinn Ko for this super tip about how add a menu item for PaperCut, which in turn makes it easy to add PaperCut to the Start-up Applications. This should work for both Gnome and KDE desktops, and possibly others.

$ cat ~/.local/share/applications/PaperCut.desktop
[Desktop Entry]
Name=PaperCut
Comment=PaperCut
Type=Application
Terminal=false
Exec=~/Applications/papercut/pc-client-linux.sh
Icon=~/Applications/papercut/lib/icon-toast-notify.png
NoDisplay=false

Note that the Exec and Icon attributes are not absolute paths - you may need to adjust this for it to work.

Blog Comments powered by Disqus.

Next Post Previous Post