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 - Status | 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 1.2k 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 on 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 on
    • J Offline
      J Offline
      joseph
      Staff
      wrote on 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 on
      • H Offline
        H Offline
        harryz
        wrote on 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 on 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 Offline
            jamesJ Offline
            james
            Staff
            wrote on 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 on 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 Offline
                jamesJ Offline
                james
                Staff
                wrote on last edited by james
                #7

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

                1 Reply Last reply
                2

                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                With your input, this post could be even better 💗

                Register Login
                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