guacd.conf(5)
π guacd.conf β the config file for guacd, bestie π
okay so this is the guacd.conf(5) page, from the Apache Guacamole crew, and it's literally the whole tea on /etc/guacamole/guacd.conf. sit down, grab a strawberry something, we're doing this π
β¨ NAME β¨
/etc/guacamole/guacd.conf β Configuration file for guacd
π¦ DESCRIPTION π¦
so /etc/guacamole/guacd.conf is the configuration file for the Guacamole proxy daemon β that's guacd, the little icon that the Guacamole web application and framework use. π
and here's the thing: using this file is entirely optional. like, truly optional. every single option in here can also be passed from the command line when you run guacd. and if you do both β file and command line options? the command line options take precedence, no cap. the file is giving backup dancer, and that's fine π
πΈ SYNTAX πΈ
guacd.conf is made up of sections, and each section contains a set of parameter/value pairs. which parameters you're allowed to use is dictated by the section you're in, and parameters may only be specified within a section. periodt.
the beginning of each section is denoted with a section name in brackets, and each section ends implicitly with the beginning of a new section, or at the end of the file. so like, no closing tag, she just knows π§
[server]β Contains parameters which control howguacdbehaves as a server, from a network perspective.[daemon]β Parameters which configure howguacdbehaves as a daemon, such as what file should contain the PID, if any.[ssl]β Parameters which control the SSL support ofguacd, such as the certificate and private key used for encryption of the Guacamole protocol. This section and its parameters are only valid ifguacdwas built with SSL support.
parameters within sections are written as a parameter name, followed by an equals sign, followed by the parameter value, all on one line. comments can go anywhere, and they're just arbitrary text following a # symbol until end-of-line:
name = value # Some arbitrary comment text
β οΈ bestie, listen. beware that it is the combination of the section name with the parameter name that makes up the fully qualified name of a parameter. each parameter absolutely must be placed only within its proper section, orguacd.confwill fail to be parsed, andguacdwill not start. it's giving strict parents. don't test her. π
if special characters need to be placed within a parameter value β like whitespace, #, ", or \ β the entire value must be enclosed in double quotes, and each occurrence of " or \ within the value must be escaped with backslashes:
name = "quoted # value \\ with \" special characters"
π₯ SERVER PARAMETERS π₯
bind_host = HOSTNAMEβ Requiresguacdto bind to a specific host when listening for connections. By default,guacdwill bind to localhost only.bind_port = PORTβ Requiresguacdto bind to a specific port when listening for connections. By default,guacdwill bind to port4822.
π DAEMON PARAMETERS π
log_level = LEVELβ Sets the maximum level at whichguacdwill log messages to syslog and, if running in the foreground, the console. Legal values aretrace,debug,info,warning, anderror. The default value isinfo.pid_file = FILEβ Causesguacdto write its PID to the specified file upon startup. Note thatguacdmust have sufficient privileges to create or write this file, or it will fail to start. This parameter is typically needed for startup scripts, such that the script can report on the status ofguacdand kill it if necessary.
π SSL PARAMETERS π
if guacd was built with SSL support, then connections between the web application and guacd can be encrypted if an SSL certificate and key file are given. secure girl summer πβ¨
when using a chain of certificates, you must append the additional certificates to your server certificate. this can be done easily with the standard cat command. beware that the certificate for guacd must be the first certificate in the file. first. not second. not third. first. π
server_certificate = CERTIFICATE FILEβ Enables SSL/TLS using the given certificate file. Future connections toguacdwill require SSL/TLS enabled in the client (the web application).server_key = KEY FILEβ Enables SSL/TLS using the given private key file. Future connections toguacdwill require SSL/TLS enabled in the client (the web application).
π EXAMPLE π
#
# guacd.conf example
#
[daemon]
pid_file = /var/run/guacd.pid
[server]
bind_host = localhost
bind_port = 4822
[ssl]
server_certificate = /etc/ssl/certs/guacd.crt
server_key = /etc/ssl/private/guacd.key
and that's the whole page, bestie!! π«Ά this was written for version 1.6.0, dated 1 Jun 2017 β yeah she's got a little history, but she still eats. go configure something iconic. bye!! ππ¦β¨
π¦ 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