guacd(8)
π guacd β Guacamole proxy daemon π
okay bestie, sit down, we're learning about guacd (that's section 8 of the manual, the system-administration one, very serious, very demure) π
β¨ SYNOPSIS β¨
guacd [-b HOST] [-l PORT] [-p PID FILE] [-L LOG LEVEL] [-C CERTIFICATE
FILE] [-K KEY FILE] [-f] [-v]
πΈ DESCRIPTION πΈ
So guacd is the Guacamole proxy daemon, and it's the whole reason the Guacamole web app and framework can do their thing. Here's the tea: JavaScript literally cannot handle binary protocols (like VNC and remote desktop) efficiently β it's giving not built for this π β so the devs invented a brand new text-based protocol instead. That protocol carries a common superset of all the operations you'd need for efficient remote desktop access, but it's easy for JavaScript programs to process. Chef's kiss. π
And guacd? guacd is the proxy that translates between arbitrary protocols and the Guacamole protocol. It's basically the bilingual bestie at the party who talks to everyone. π¦
π OPTIONS π
-b HOSTβ changes the host or address thatguacdlistens on. New address, who dis. β¨-l PORTβ changes the port thatguacdlistens on. (The default is port4822, iykyk.) π-p FILEβ makesguacdwrite the PID of the daemon process to the file you specify. Super useful for init scripts β in fact the provided init script uses it. π-L LEVELβ sets the maximum level at whichguacdwill log messages to syslog and, if it's running in the foreground, to the console too. Legal values aretrace,debug,info,warning, anderror. The default value isinfo. No cap. π-fβ makesguacdrun in the foreground instead of automatically forking into the background. Main character energy, it stays right here. π-vβ makesguacdsimply print its version information and exit. That's it, that's the whole vibe check. bye π
π SSL/TLS OPTIONS π
If libssl was present at the time guacd was compiled, then guacd will contain SSL/TLS support, and the connections between the web application and guacd can be encrypted β but only if a certificate file is given. π€
When you're using a chain of certificates, you must append the additional certificates to your server certificate. You can do this easily with the standardcatcommand. But beware, bestie, seriously: the certificate forguacdmust be the first certificate in the file. First. Periodt. π¨
Something like:
cat server.crt additional.crt > combined.crt
(okay that's the idea of it β the original just says you can do this easily with the standard cat command, and the guacd cert goes first π)
-C CERTIFICATE FILEβ enables SSL/TLS using the given certificate file. Future connections to this instance ofguacdwill require SSL/TLS enabled in the client (that's the web application). If this option is not given, communication withguacdmust be unencrypted. π-K KEY FILEβ enables SSL/TLS using the given private key file. Future connections to this instance ofguacdwill require SSL/TLS enabled in the client (the web application). If this option is not given, communication withguacdmust be unencrypted. π«Ά
π SEE ALSO π
version 1.6.0 Β· 1 Jun 2017
and that's the whole page, bestie β slay, go configure your proxy πβ¨ππ¦πΈ
π¦ where this page comes from
- alpine 3.24: guacamole-server-doc 1.6.0-r3 Β· GPL-3.0-or-later
- epel 10: guacd 1.6.0-1.el10_1 Β· Apache-2.0
- epel 9: guacd 1.6.0-2.el9 Β· Apache-2.0
- fedora 43: guacd 1.6.0-3.fc43 Β· Apache-2.0
- fedora 43: guacd 1.6.0-4.fc43 Β· Apache-2.0
- fedora 44: guacd 1.6.0-6.fc44 Β· Apache-2.0
- nixos 26.05: guacamole-server 1.6.0-unstable-2025-06-29
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms