Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Guacamole
  3. screen recording configuration in Apache Guacamole

screen recording configuration in Apache Guacamole

Scheduled Pinned Locked Moved Guacamole
7 Posts 4 Posters 71 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    harryz
    wrote last edited by harryz
    #1

    May I know how to configure screen recording in Apache Guacamole?

    and how to install screen recording extension?

    1 Reply Last reply
    1
    • J joseph moved this topic from Support
    • J Offline
      J Offline
      joseph
      Staff
      wrote last edited by
      #2

      Are you refering to https://guacamole.apache.org/doc/gug/configuring-guacamole.html#graphical-recording ? Is that documentation saying we have to record using a CLI tool?

      H 1 Reply Last reply
      0
      • J joseph marked this topic as a regular topic
      • H Offline
        H Offline
        harryz
        wrote last edited by
        #3
        This post is deleted!
        1 Reply Last reply
        0
        • J joseph

          Are you refering to https://guacamole.apache.org/doc/gug/configuring-guacamole.html#graphical-recording ? Is that documentation saying we have to record using a CLI tool?

          H Offline
          H Offline
          harryz
          wrote last edited by harryz
          #4

          @joseph said in screen recording configuration in Apache Guacamole:

          Are you refering to https://guacamole.apache.org/doc/gug/configuring-guacamole.html#graphical-recording ? Is that documentation saying we have to record using a CLI tool?

          I am referring to this and I like to record both rdp and ssh sessions then view in the playback in browser: https://guacamole.apache.org/doc/gug/recording-playback.html

          1 Reply Last reply
          0
          • jamesJ Online
            jamesJ Online
            james
            Staff
            wrote last edited by james
            #5

            Hello @harryz
            Thanks for the clarification.

            After downloading the latest plugin guacamole-history-recording-storage-1.6.0.tar.gz from https://guacamole.apache.org/releases/1.6.0/ and putting the .jar into /app/data/extensions

            create the folder /app/data/recordings and set the correct permissions.

            mkdir -p /app/data/recordings
            chown -R cloudron:tomcat /app/data/recordings
            chmod 2750 /app/data/recordings/
            

            add needed configuration to /app/data/guacamole.properties:

            recording-search-path: /app/data/recordings
            

            Restart the app.
            When I now edit a connection I can see the recording settings for this connection:

            93d68b7e-3d42-4c8f-bd9d-bf697ed74a8d-image.png

            Here we set:

            • Recording path: to ${HISTORY_PATH}/${HISTORY_UUID}
            • Recording name: to ${GUAC_DATE}-${GUAC_TIME}
            • Automatically create recording path: checked

            Save.

            Now when I start the connection, the follow log is visible:

            guacd[599]: INFO:       Creating new client for protocol "ssh"
            guacd[599]: INFO:       Connection ID is "$9db0c19b-5bb8-4320-b62c-397a79e8b9a0"
            guacd[636]: DEBUG:      Processing instruction: size
            guacd[636]: DEBUG:      Processing instruction: audio
            guacd[636]: DEBUG:      Processing instruction: video
            guacd[636]: DEBUG:      Processing instruction: image
            guacd[636]: DEBUG:      Processing instruction: timezone
            guacd[636]: DEBUG:      Processing instruction: name
            guacd[636]: DEBUG:      Parameter "scrollback" omitted. Using default value of 1000.
            guacd[636]: DEBUG:      Parameter "font-name" omitted. Using default value of "monospace".
            guacd[636]: DEBUG:      Parameter "font-size" omitted. Using default value of 12.
            guacd[636]: DEBUG:      Parameter "color-scheme" omitted. Using default value of "".
            guacd[636]: DEBUG:      Parameter "enable-sftp" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "sftp-root-directory" omitted. Using default value of "/".
            guacd[636]: DEBUG:      Parameter "sftp-disable-download" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "sftp-disable-upload" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "port" omitted. Using default value of "22".
            guacd[636]: DEBUG:      Parameter "timeout" omitted. Using default value of 10.
            guacd[636]: DEBUG:      Parameter "read-only" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "typescript-name" omitted. Using default value of "typescript".
            guacd[636]: DEBUG:      Parameter "create-typescript-path" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "typescript-write-existing" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "recording-exclude-output" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "recording-exclude-mouse" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "recording-include-keys" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "recording-write-existing" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "server-alive-interval" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "backspace" omitted. Using default value of 127.
            guacd[636]: DEBUG:      Parameter "terminal-type" omitted. Using default value of "linux".
            guacd[636]: DEBUG:      Parameter "timezone" omitted. Using default value of "Europe/Berlin".
            guacd[636]: DEBUG:      Parameter "disable-copy" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "disable-paste" omitted. Using default value of 0.
            guacd[636]: DEBUG:      Parameter "wol-send-packet" omitted. Using default value of 0.
            guacd[636]: INFO:       User "@49d1df2d-669f-4b83-99e9-6e50483e8cde" joined connection "$9db0c19b-5bb8-4320-b62c-397a79e8b9a0" (1 users now present)
            guacd[636]: DEBUG:      Client is using protocol version "VERSION_1_5_0"
            guacd[636]: INFO:       Recording of session will be saved to "/app/data/recordings/75b6dda2-00c9-330a-869c-f8eaac87d77a/20251020-132330".
            13:23:30.647 [http-nio-8080-exec-10] INFO  o.a.g.tunnel.TunnelRequestService - User "guacadmin" connected to connection "1".
            guacd[636]: DEBUG:      Attempting private key import (WITHOUT passphrase)
            guacd[636]: INFO:       Auth key successfully imported.
            guacd[636]: WARNING:    No known host keys provided, host identity will not be verified.
            guacd[636]: DEBUG:      Supported authentication methods: publickey,password
            guacd[636]: WARNING:    Unable to set the timezone: SSH server refused to set "TZ" variable.
            guacd[636]: INFO:       SSH connection successful.
            

            And I can see the recorded file in:

            ls -lah /app/data/recordings/75b6dda2-00c9-330a-869c-f8eaac87d77a/20251020-132330
            

            and viewable in the history overview:
            d4828eb9-a05c-4f48-9012-46ebce4db107-image.png

            jdaviescoatesJ 1 Reply Last reply
            2
            • jamesJ james

              Hello @harryz
              Thanks for the clarification.

              After downloading the latest plugin guacamole-history-recording-storage-1.6.0.tar.gz from https://guacamole.apache.org/releases/1.6.0/ and putting the .jar into /app/data/extensions

              create the folder /app/data/recordings and set the correct permissions.

              mkdir -p /app/data/recordings
              chown -R cloudron:tomcat /app/data/recordings
              chmod 2750 /app/data/recordings/
              

              add needed configuration to /app/data/guacamole.properties:

              recording-search-path: /app/data/recordings
              

              Restart the app.
              When I now edit a connection I can see the recording settings for this connection:

              93d68b7e-3d42-4c8f-bd9d-bf697ed74a8d-image.png

              Here we set:

              • Recording path: to ${HISTORY_PATH}/${HISTORY_UUID}
              • Recording name: to ${GUAC_DATE}-${GUAC_TIME}
              • Automatically create recording path: checked

              Save.

              Now when I start the connection, the follow log is visible:

              guacd[599]: INFO:       Creating new client for protocol "ssh"
              guacd[599]: INFO:       Connection ID is "$9db0c19b-5bb8-4320-b62c-397a79e8b9a0"
              guacd[636]: DEBUG:      Processing instruction: size
              guacd[636]: DEBUG:      Processing instruction: audio
              guacd[636]: DEBUG:      Processing instruction: video
              guacd[636]: DEBUG:      Processing instruction: image
              guacd[636]: DEBUG:      Processing instruction: timezone
              guacd[636]: DEBUG:      Processing instruction: name
              guacd[636]: DEBUG:      Parameter "scrollback" omitted. Using default value of 1000.
              guacd[636]: DEBUG:      Parameter "font-name" omitted. Using default value of "monospace".
              guacd[636]: DEBUG:      Parameter "font-size" omitted. Using default value of 12.
              guacd[636]: DEBUG:      Parameter "color-scheme" omitted. Using default value of "".
              guacd[636]: DEBUG:      Parameter "enable-sftp" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "sftp-root-directory" omitted. Using default value of "/".
              guacd[636]: DEBUG:      Parameter "sftp-disable-download" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "sftp-disable-upload" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "port" omitted. Using default value of "22".
              guacd[636]: DEBUG:      Parameter "timeout" omitted. Using default value of 10.
              guacd[636]: DEBUG:      Parameter "read-only" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "typescript-name" omitted. Using default value of "typescript".
              guacd[636]: DEBUG:      Parameter "create-typescript-path" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "typescript-write-existing" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "recording-exclude-output" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "recording-exclude-mouse" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "recording-include-keys" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "recording-write-existing" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "server-alive-interval" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "backspace" omitted. Using default value of 127.
              guacd[636]: DEBUG:      Parameter "terminal-type" omitted. Using default value of "linux".
              guacd[636]: DEBUG:      Parameter "timezone" omitted. Using default value of "Europe/Berlin".
              guacd[636]: DEBUG:      Parameter "disable-copy" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "disable-paste" omitted. Using default value of 0.
              guacd[636]: DEBUG:      Parameter "wol-send-packet" omitted. Using default value of 0.
              guacd[636]: INFO:       User "@49d1df2d-669f-4b83-99e9-6e50483e8cde" joined connection "$9db0c19b-5bb8-4320-b62c-397a79e8b9a0" (1 users now present)
              guacd[636]: DEBUG:      Client is using protocol version "VERSION_1_5_0"
              guacd[636]: INFO:       Recording of session will be saved to "/app/data/recordings/75b6dda2-00c9-330a-869c-f8eaac87d77a/20251020-132330".
              13:23:30.647 [http-nio-8080-exec-10] INFO  o.a.g.tunnel.TunnelRequestService - User "guacadmin" connected to connection "1".
              guacd[636]: DEBUG:      Attempting private key import (WITHOUT passphrase)
              guacd[636]: INFO:       Auth key successfully imported.
              guacd[636]: WARNING:    No known host keys provided, host identity will not be verified.
              guacd[636]: DEBUG:      Supported authentication methods: publickey,password
              guacd[636]: WARNING:    Unable to set the timezone: SSH server refused to set "TZ" variable.
              guacd[636]: INFO:       SSH connection successful.
              

              And I can see the recorded file in:

              ls -lah /app/data/recordings/75b6dda2-00c9-330a-869c-f8eaac87d77a/20251020-132330
              

              and viewable in the history overview:
              d4828eb9-a05c-4f48-9012-46ebce4db107-image.png

              jdaviescoatesJ Offline
              jdaviescoatesJ Offline
              jdaviescoates
              wrote last edited by
              #6

              @james 👏 presume you'll add that to the docs if you've not already done so? 🙂

              I use Cloudron with Gandi & Hetzner

              1 Reply Last reply
              2
              • jamesJ Online
                jamesJ Online
                james
                Staff
                wrote last edited by james
                #7

                Hello @jdaviescoates
                Already done => https://docs.cloudron.io/packages/guacamole/#recording

                1 Reply Last reply
                2
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Bookmarks
                • Search