This chapter records the working Linux setup for the Georgia Tech VPN and campus printers. Georgia Tech has two separate printing workflows:
Do not use the MyPrintCenter instructions for a CODA Direct-IP queue.
This workstation uses the NetworkManager profile GT-GlobalProtect with the
OpenConnect GlobalProtect protocol. Cisco Secure Client has been removed and
is not required.
Clash may remain active. Clash manages proxy traffic, while OpenConnect adds
the private GT network routes needed for Direct-IP printing. Do not configure
vpn.gatech.edu as a Clash proxy.
The .zshrc helper owns the VPN for the lifetime of one blocking command:
gatech vpn
Complete the GT account and Duo prompts. If the gateway prompt offers DC and
NI, select DC, which is the tested route for this profile. Keep the terminal
open while using GT resources.
The command disconnects the VPN when it receives Ctrl-C, Ctrl-D, a terminal
close, or the corresponding termination signal. Do not enter a password in the
shell or save it in .zshrc.
Verify the connection when needed:
nmcli -t -f NAME,TYPE,DEVICE connection show --active
ip route get 128.61.238.18
For the CODA 6F printer, the route should use vpn0 when connected remotely.
Workflow: upload online -> find printer -> tap BuzzCard -> release job.
Price Gilbert and Crosland Library provide B&W and color printing. See the library computing page.
CCB printers are outside room 148, near room 16, and in the student commons. See the CoC printer locations.
The January 27, 2025 GT rate sheet lists $0.04 per B&W page and $0.19 per color page. Check MyPrintCenter for the current balance and current rates before relying on those archived amounts.
Sources:
CODA uses the Toshiba e-BRIDGE CUPS driver and an AppSocket connection on TCP port 9100. It does not use MyPrintCenter, Hollister, or uniFLOW. A submitted job prints immediately without a BuzzCard release step.
The current workstation is already configured as follows:
| Setting | Value |
|---|---|
| Queue | CODA-6F-E0609 |
| Room | CODA 6F E0609 |
| Device URI | socket://128.61.238.18:9100 |
| Driver | TOSHIBA ColorMFP |
| Defaults | US Letter, color, long-edge duplex |
| Shared | No |
The CODA queue is intentionally not the system default printer. Its installed components are:
/usr/share/cups/model/Toshiba/TOSHIBA_ColorMFP_CUPS.ppd
/usr/lib/cups/filter/est6550_Authentication
When outside the GT network, start the VPN in one terminal and leave it open:
gatech vpn
Print from an application by selecting CODA-6F-E0609, or use another
terminal:
lp -d CODA-6F-E0609 document.pdf
Direct-IP jobs begin printing as soon as CUPS sends them. Check the queue before disconnecting the VPN:
lpstat -o CODA-6F-E0609
No output means that no jobs remain in the local queue. Then press Ctrl-C in
the terminal running gatech vpn.
Cancel a pending job with its job ID:
cancel JOB_ID
Applications may override the queue defaults. Select one-sided printing in the application when duplex output is not wanted.
These steps apply to Ubuntu 22.04 and 24.04. Skip them on the current workstation unless the queue or driver has been removed.
Install CUPS and the supporting tools:
sudo apt update
sudo apt install cups netcat-openbsd unzip
sudo systemctl enable --now cups
Connect to the GT network or run gatech vpn, then test the target before
installing anything:
nc -vz -w 3 128.61.238.18 9100
Download Color_Unix_Linux.zip from the official
CODA printing page,
then extract the normal CUPS archive:
cd ~/Downloads
unzip Color_Unix_Linux.zip -d gt-toshiba-driver
cd gt-toshiba-driver/Color_Unix_Linux/CUPS/Usa/normal
toshiba_stage="$(mktemp -d -t gt-toshiba.XXXXXX)"
tar -xf TOSHIBA_ColorMFP_CUPS.tar -C "$toshiba_stage"
gunzip "$toshiba_stage/usr/share/cups/model/Toshiba/TOSHIBA_ColorMFP_CUPS.gz"
Install only the CUPS PPD and filter:
sudo install -d -o root -g root -m 0755 \
/usr/share/cups/model/Toshiba
sudo install -o root -g root -m 0644 \
"$toshiba_stage/usr/share/cups/model/Toshiba/TOSHIBA_ColorMFP_CUPS" \
/usr/share/cups/model/Toshiba/TOSHIBA_ColorMFP_CUPS.ppd
sudo install -o root -g root -m 0755 \
"$toshiba_stage/usr/lib/cups/filter/est6550_Authentication" \
/usr/lib/cups/filter/est6550_Authentication
The ZIP also contains LinuxFilter/Usa/linux.tar and estcoloradd. Do not use
them for this setup. They configure the legacy LPD and /etc/printcap path,
not the modern CUPS queue used here.
Create the Direct-IP queue without changing the system default printer:
sudo lpadmin \
-p CODA-6F-E0609 \
-E \
-v socket://128.61.238.18:9100 \
-i /usr/share/cups/model/Toshiba/TOSHIBA_ColorMFP_CUPS.ppd \
-D "CODA 6F E0609 Toshiba" \
-L "CODA E0609" \
-o printer-is-shared=false \
-o PageSize=Letter \
-o Duplex=DuplexNoTumble
sudo systemctl restart cups
sudo cupsenable CODA-6F-E0609
sudo cupsaccept CODA-6F-E0609
Remove the temporary extraction directory after a successful installation:
find "$toshiba_stage" -depth -delete
unset toshiba_stage
For another CODA floor, use the current IP address from the official CODA page and choose a queue name that identifies its floor and room.
Confirm the queue, driver, and server-side defaults:
systemctl is-active cups
lpstat -p CODA-6F-E0609 -l
lpstat -v CODA-6F-E0609
cupstestppd -W all \
/usr/share/cups/model/Toshiba/TOSHIBA_ColorMFP_CUPS.ppd
ipptool -tv \
ipp://localhost/printers/CODA-6F-E0609 \
/usr/share/cups/ipptool/get-printer-attributes.test | \
grep -E '(media-default|sides-default|print-color-mode-default)'
Expected IPP defaults are:
media-default = na_letter_8.5x11in
sides-default = two-sided-long-edge
print-color-mode-default = color
The Toshiba PPD may warn about old, nonstandard page-size names while still
reporting PASS. CUPS may also warn that PPD printer drivers are deprecated.
Both are expected for this GT-provided legacy driver on the current CUPS
version.
If a job does not print:
ip route get 128.61.238.18 and confirm that remote traffic uses
vpn0.nc -vz -w 3 128.61.238.18 9100. A failure here is a network or VPN
problem, not a PPD problem.lpstat -o CODA-6F-E0609 and inspect any held job.journalctl -u cups --since today.The installed configuration was validated with a local cupsfilter dry run.
The full pipeline produced PostScript, Toshiba PJL, user, and job-name markers
without submitting a physical print job.
Table of Content