[ 
https://issues.apache.org/jira/browse/GUACAMOLE-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jinder Aujla updated GUACAMOLE-2155:
------------------------------------
    Description: 
So I've got guacamole running using docker and docker compose managed with 
portainer. Previously it was working fine, but I lost the machine, created 
another stack - it's more or less standard apart from the volume mounts

But using chrome (latest) no matter what I do I cannot get copy/paste to work 
using command C and V. This all worked fine previously. I'm ssh'ing to local 
linux VMs. I have no problem copy/pasting into different tabs and if I ssh 
using iterm .. no issues.

 

I checked the settings for the connection guacamole and they are all not 
preventing copy pasting.. completely stumped .. chatgpt isn't helping, such a 
great tool.. fustrating that this isn't working.
{code:java}
####################################################################################
# docker-compose file for Apache Guacamole
# created by PCFreak 2017-06-28
#
# Apache Guacamole is a clientless remote desktop gateway. It supports standard
# protocols like VNC, RDP, and SSH. We call it clientless because no plugins or
# client software are required. Thanks to HTML5, once Guacamole is installed on
# a server, all you need to access your desktops is a web browser.
####################################################################################
#
# What does this file do?
#
# Using docker-compose it will:
#
# - create a network 'guacnetwork_compose' with the 'bridge' driver.
# - create a service 'guacd_compose' from 'guacamole/guacd' connected to 
'guacnetwork_compose'
# - create a service 'postgres_guacamole_compose' (1) from 'postgres' connected 
to 'guacnetwork_compose'
# - create a service 'guacamole_compose' (2)  from 'guacamole/guacamole/' conn. 
to 'guacnetwork_compose'
# - create a service 'nginx_guacamole_compose' (3) from 'nginx' connected to 
'guacnetwork_compose'
#
# (1)
#  DB-Init script is in './init/initdb.sql' it has been created executing
#  'docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh 
--postgresql > ./init/initdb.sql'
#  once.
#  DATA-DIR       is in './data'
#  If you want to change the DB password change all lines with 
'POSTGRES_PASSWORD:' and
#  change it to your needs before first start.
#  To start from scratch delete './data' dir completely
#  './data' will hold all data after first start!
#  The initdb.d scripts are only executed the first time the container is 
started
#  (and the database files are empty). If the database files already exist then 
the initdb.d
#  scripts are ignored (e.g. when you mount a local directory or when 
docker-compose saves
#  the volume and reuses it for the new container).
#
#  !!!!! MAKE SURE your folder './init' is executable (chmod +x ./init)
#  !!!!! or 'initdb.sql' will be ignored!
#  
#  './data' will hold all data after first start!
#
# (2)
#  Make sure you use the same value for 'POSTGRES_USER' and 'POSTGRES_PASSWORD'
#  as configured under (1)
#
# (3)
#  ./nginx/templates folder will be mapped read-only into the container at 
/etc/nginx/templates
#  and according to the official nginx container docs the 
guacamole.conf.template will be
#  placed in /etc/nginx/conf.d/guacamole.conf after container startup.
#  ./nginx/ssl will be mapped into the container at /etc/nginx/ssl
#  prepare.sh creates a a self-signed certificate. If you want to use your own 
certs
#  just remove the part that generates the certs from prepare.sh and replace
#  'self-ssl.key' and 'self.cert' with your certificate.
#  nginx will export port 8443 to the outside world, make sure that this port 
is reachable
#  on your system from the "outside world". All other traffic is only internal.
#
#  You could remove the entire 'nginx' service from this file if you want to 
use your own
#  reverse proxy in front of guacamole. If doing so, make sure you change the 
line
#   from     - 8080/tcp
#   to       - 8080:8080/tcp
#  within the 'guacamole' service. This will expose the guacamole webinterface 
directly
#  on port 8080 and you can use it for your own purposes.
#  Note: Guacamole is available on :8080/guacamole, not /.
#
# !!!!! FOR INITAL SETUP (after git clone) run ./prepare.sh once
#
# !!!!! FOR A FULL RESET (WILL ERASE YOUR DATABASE, YOUR FILES, YOUR RECORDS 
AND CERTS) DO A
# !!!!!  ./reset.sh
#
#
# The initial login to the guacamole webinterface is:
#
#     Username: guacadmin
#     Password: guacadmin
#
# Make sure you change it immediately!
#
# version            date              comment
# 0.1                2017-06-28        initial release
# 0.2                2017-10-09        minor fixes + internal GIT push
# 0.3                2017-10-09        minor fixes + public GIT push
# 0.4                2019-08-14        creating of ssl certs now in prepare.sh
#                                      simplified nginx startup commands
# 0.5                2023-02-24        nginx now uses a template + some minor 
changes
# 0.6                2023-03-23        switched to postgres 15.2-alpine
# 0.61               2024-07-27        fix networks + version 3.0
# 0.62               2024-07-27        fix
# 0.63               2025-07-02        fixed postgres environment vars
#                                      pinned guacamole and guacd to 1.6.0
######################################################################################the
 attribute `version` is obsolete, it will be ignored, please remove it to avoid 
potential confusion
#version: '3.0'# networks
# create a network 'guacnetwork_compose' in mode 'bridged'
networks:
  guacnetwork_compose:
    driver: bridge# services
services:
  # guacd
  guacd:
    container_name: guacamole_guacd
    image: guacamole/guacd:latest
    networks:
      - guacnetwork_compose
    restart: always
    environment:
      TZ: America/Vancouver
    volumes:
    - /home/jinder/guacamole/drive:/drive:rw
    - /home/jinder/guacamole/record:/record:rw
  # postgres
  postgres:
    container_name: guacamole_postgres
    environment:
      PGDATA: /var/lib/postgresql/data/guacamole
      POSTGRES_DB: guacamole_db
      POSTGRES_PASSWORD: 'guacamole_user'
      POSTGRES_USER: guacamole_user
      TZ: America/Vancouver
    image: postgres:15.2-alpine
    networks:
      - guacnetwork_compose
    restart: always
    volumes:
    - /home/jinder/guacamole/init:/docker-entrypoint-initdb.d:z
    - /home/jinder/guacamole/data:/var/lib/postgresql/data-new:Z
    - /home/jinder/guacamole/database:/var/lib/postgresql/data  # guacamole
  guacamole:
    container_name: guacamole
    group_add:
      - "1000"
    depends_on:
    - guacd
    - postgres
    environment:
      GUACD_HOSTNAME: guacd
      POSTGRESQL_DATABASE: guacamole_db
      POSTGRESQL_HOSTNAME: postgres
      POSTGRESQL_PASSWORD: 'guacamole_user'
      POSTGRESQL_USERNAME: guacamole_user
      RECORDING_SEARCH_PATH: /record
      TZ: America/Vancouver
    image: guacamole/guacamole:latest
    networks:
      - guacnetwork_compose
    volumes:
      - /home/jinder/guacamole/record:/record:rw
    ports:
## enable next line if not using nginx
##    - 8080:8080/tcp # Guacamole is on :8080/guacamole, not /.
## enable next line when using nginx
    # - 8080/tcp
    - 8082:8080
    restart: always {code}

  was:
So I've got guacamole running using docker and docker compose managed with 
portainer. Previously it was working fine, but I lost the machine, created 
another stack - it's more or less standard apart from the volume mounts

But using chrome (latest) no matter what I do I cannot get copy/paste to work 
using command C and V. This all worked fine previously. I'm ssh'ing to local 
linux VMs. I have no problem copy/pasting into different tabs and if I ssh 
using iterm .. no issues.

 

I checked the settings for the connection guacamole and they are all not 
preventing copy pasting.. completely stumped .. chatgpt isn't helping, such a 
great tool.. fustrating that this isn't working.

```

####################################################################################
# docker-compose file for Apache Guacamole
# created by PCFreak 2017-06-28
#
# Apache Guacamole is a clientless remote desktop gateway. It supports standard
# protocols like VNC, RDP, and SSH. We call it clientless because no plugins or
# client software are required. Thanks to HTML5, once Guacamole is installed on
# a server, all you need to access your desktops is a web browser.
####################################################################################
#
# What does this file do?
#
# Using docker-compose it will:
#
# - create a network 'guacnetwork_compose' with the 'bridge' driver.
# - create a service 'guacd_compose' from 'guacamole/guacd' connected to 
'guacnetwork_compose'
# - create a service 'postgres_guacamole_compose' (1) from 'postgres' connected 
to 'guacnetwork_compose'
# - create a service 'guacamole_compose' (2)  from 'guacamole/guacamole/' conn. 
to 'guacnetwork_compose'
# - create a service 'nginx_guacamole_compose' (3) from 'nginx' connected to 
'guacnetwork_compose'
#
# (1)
#  DB-Init script is in './init/initdb.sql' it has been created executing
#  'docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh 
--postgresql > ./init/initdb.sql'
#  once.
#  DATA-DIR       is in './data'
#  If you want to change the DB password change all lines with 
'POSTGRES_PASSWORD:' and
#  change it to your needs before first start.
#  To start from scratch delete './data' dir completely
#  './data' will hold all data after first start!
#  The initdb.d scripts are only executed the first time the container is 
started
#  (and the database files are empty). If the database files already exist then 
the initdb.d
#  scripts are ignored (e.g. when you mount a local directory or when 
docker-compose saves
#  the volume and reuses it for the new container).
#
#  !!!!! MAKE SURE your folder './init' is executable (chmod +x ./init)
#  !!!!! or 'initdb.sql' will be ignored!
#  
#  './data' will hold all data after first start!
#
# (2)
#  Make sure you use the same value for 'POSTGRES_USER' and 'POSTGRES_PASSWORD'
#  as configured under (1)
#
# (3)
#  ./nginx/templates folder will be mapped read-only into the container at 
/etc/nginx/templates
#  and according to the official nginx container docs the 
guacamole.conf.template will be
#  placed in /etc/nginx/conf.d/guacamole.conf after container startup.
#  ./nginx/ssl will be mapped into the container at /etc/nginx/ssl
#  prepare.sh creates a a self-signed certificate. If you want to use your own 
certs
#  just remove the part that generates the certs from prepare.sh and replace
#  'self-ssl.key' and 'self.cert' with your certificate.
#  nginx will export port 8443 to the outside world, make sure that this port 
is reachable
#  on your system from the "outside world". All other traffic is only internal.
#
#  You could remove the entire 'nginx' service from this file if you want to 
use your own
#  reverse proxy in front of guacamole. If doing so, make sure you change the 
line
#   from     - 8080/tcp
#   to       - 8080:8080/tcp
#  within the 'guacamole' service. This will expose the guacamole webinterface 
directly
#  on port 8080 and you can use it for your own purposes.
#  Note: Guacamole is available on :8080/guacamole, not /.
#
# !!!!! FOR INITAL SETUP (after git clone) run ./prepare.sh once
#
# !!!!! FOR A FULL RESET (WILL ERASE YOUR DATABASE, YOUR FILES, YOUR RECORDS 
AND CERTS) DO A
# !!!!!  ./reset.sh
#
#
# The initial login to the guacamole webinterface is:
#
#     Username: guacadmin
#     Password: guacadmin
#
# Make sure you change it immediately!
#
# version            date              comment
# 0.1                2017-06-28        initial release
# 0.2                2017-10-09        minor fixes + internal GIT push
# 0.3                2017-10-09        minor fixes + public GIT push
# 0.4                2019-08-14        creating of ssl certs now in prepare.sh
#                                      simplified nginx startup commands
# 0.5                2023-02-24        nginx now uses a template + some minor 
changes
# 0.6                2023-03-23        switched to postgres 15.2-alpine
# 0.61               2024-07-27        fix networks + version 3.0
# 0.62               2024-07-27        fix
# 0.63               2025-07-02        fixed postgres environment vars
#                                      pinned guacamole and guacd to 1.6.0
#####################################################################################

#the attribute `version` is obsolete, it will be ignored, please remove it to 
avoid potential confusion
#version: '3.0'

# networks
# create a network 'guacnetwork_compose' in mode 'bridged'
networks:
  guacnetwork_compose:
    driver: bridge

# services
services:
  # guacd
  guacd:
    container_name: guacamole_guacd
    image: guacamole/guacd:latest
    networks:
      - guacnetwork_compose
    restart: always
    environment:
      TZ: America/Vancouver
    volumes:
    - /home/jinder/guacamole/drive:/drive:rw
    - /home/jinder/guacamole/record:/record:rw
  # postgres
  postgres:
    container_name: guacamole_postgres
    environment:
      PGDATA: /var/lib/postgresql/data/guacamole
      POSTGRES_DB: guacamole_db
      POSTGRES_PASSWORD: 'guacamole_user'
      POSTGRES_USER: guacamole_user
      TZ: America/Vancouver
    image: postgres:15.2-alpine
    networks:
      - guacnetwork_compose
    restart: always
    volumes:
    - /home/jinder/guacamole/init:/docker-entrypoint-initdb.d:z
    - /home/jinder/guacamole/data:/var/lib/postgresql/data-new:Z
    - /home/jinder/guacamole/database:/var/lib/postgresql/data

  # guacamole
  guacamole:
    container_name: guacamole
    group_add:
      - "1000"
    depends_on:
    - guacd
    - postgres
    environment:
      GUACD_HOSTNAME: guacd
      POSTGRESQL_DATABASE: guacamole_db
      POSTGRESQL_HOSTNAME: postgres
      POSTGRESQL_PASSWORD: 'guacamole_user'
      POSTGRESQL_USERNAME: guacamole_user
      RECORDING_SEARCH_PATH: /record
      TZ: America/Vancouver
    image: guacamole/guacamole:latest
    networks:
      - guacnetwork_compose
    volumes:
      - /home/jinder/guacamole/record:/record:rw
    ports:
## enable next line if not using nginx
##    - 8080:8080/tcp # Guacamole is on :8080/guacamole, not /.
## enable next line when using nginx
    # - 8080/tcp
    - 8082:8080
    restart: always

```

 


> Copy/Paste not working no matter what options I try
> ---------------------------------------------------
>
>                 Key: GUACAMOLE-2155
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-2155
>             Project: Guacamole
>          Issue Type: Bug
>          Components: guacamole
>    Affects Versions: 1.6.0
>            Reporter: Jinder Aujla
>            Priority: Major
>         Attachments: Untitled 2.jpg, Untitled 3.jpg, Untitled.jpg
>
>
> So I've got guacamole running using docker and docker compose managed with 
> portainer. Previously it was working fine, but I lost the machine, created 
> another stack - it's more or less standard apart from the volume mounts
> But using chrome (latest) no matter what I do I cannot get copy/paste to work 
> using command C and V. This all worked fine previously. I'm ssh'ing to local 
> linux VMs. I have no problem copy/pasting into different tabs and if I ssh 
> using iterm .. no issues.
>  
> I checked the settings for the connection guacamole and they are all not 
> preventing copy pasting.. completely stumped .. chatgpt isn't helping, such a 
> great tool.. fustrating that this isn't working.
> {code:java}
> ####################################################################################
> # docker-compose file for Apache Guacamole
> # created by PCFreak 2017-06-28
> #
> # Apache Guacamole is a clientless remote desktop gateway. It supports 
> standard
> # protocols like VNC, RDP, and SSH. We call it clientless because no plugins 
> or
> # client software are required. Thanks to HTML5, once Guacamole is installed 
> on
> # a server, all you need to access your desktops is a web browser.
> ####################################################################################
> #
> # What does this file do?
> #
> # Using docker-compose it will:
> #
> # - create a network 'guacnetwork_compose' with the 'bridge' driver.
> # - create a service 'guacd_compose' from 'guacamole/guacd' connected to 
> 'guacnetwork_compose'
> # - create a service 'postgres_guacamole_compose' (1) from 'postgres' 
> connected to 'guacnetwork_compose'
> # - create a service 'guacamole_compose' (2)  from 'guacamole/guacamole/' 
> conn. to 'guacnetwork_compose'
> # - create a service 'nginx_guacamole_compose' (3) from 'nginx' connected to 
> 'guacnetwork_compose'
> #
> # (1)
> #  DB-Init script is in './init/initdb.sql' it has been created executing
> #  'docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh 
> --postgresql > ./init/initdb.sql'
> #  once.
> #  DATA-DIR       is in './data'
> #  If you want to change the DB password change all lines with 
> 'POSTGRES_PASSWORD:' and
> #  change it to your needs before first start.
> #  To start from scratch delete './data' dir completely
> #  './data' will hold all data after first start!
> #  The initdb.d scripts are only executed the first time the container is 
> started
> #  (and the database files are empty). If the database files already exist 
> then the initdb.d
> #  scripts are ignored (e.g. when you mount a local directory or when 
> docker-compose saves
> #  the volume and reuses it for the new container).
> #
> #  !!!!! MAKE SURE your folder './init' is executable (chmod +x ./init)
> #  !!!!! or 'initdb.sql' will be ignored!
> #  
> #  './data' will hold all data after first start!
> #
> # (2)
> #  Make sure you use the same value for 'POSTGRES_USER' and 
> 'POSTGRES_PASSWORD'
> #  as configured under (1)
> #
> # (3)
> #  ./nginx/templates folder will be mapped read-only into the container at 
> /etc/nginx/templates
> #  and according to the official nginx container docs the 
> guacamole.conf.template will be
> #  placed in /etc/nginx/conf.d/guacamole.conf after container startup.
> #  ./nginx/ssl will be mapped into the container at /etc/nginx/ssl
> #  prepare.sh creates a a self-signed certificate. If you want to use your 
> own certs
> #  just remove the part that generates the certs from prepare.sh and replace
> #  'self-ssl.key' and 'self.cert' with your certificate.
> #  nginx will export port 8443 to the outside world, make sure that this port 
> is reachable
> #  on your system from the "outside world". All other traffic is only 
> internal.
> #
> #  You could remove the entire 'nginx' service from this file if you want to 
> use your own
> #  reverse proxy in front of guacamole. If doing so, make sure you change the 
> line
> #   from     - 8080/tcp
> #   to       - 8080:8080/tcp
> #  within the 'guacamole' service. This will expose the guacamole 
> webinterface directly
> #  on port 8080 and you can use it for your own purposes.
> #  Note: Guacamole is available on :8080/guacamole, not /.
> #
> # !!!!! FOR INITAL SETUP (after git clone) run ./prepare.sh once
> #
> # !!!!! FOR A FULL RESET (WILL ERASE YOUR DATABASE, YOUR FILES, YOUR RECORDS 
> AND CERTS) DO A
> # !!!!!  ./reset.sh
> #
> #
> # The initial login to the guacamole webinterface is:
> #
> #     Username: guacadmin
> #     Password: guacadmin
> #
> # Make sure you change it immediately!
> #
> # version            date              comment
> # 0.1                2017-06-28        initial release
> # 0.2                2017-10-09        minor fixes + internal GIT push
> # 0.3                2017-10-09        minor fixes + public GIT push
> # 0.4                2019-08-14        creating of ssl certs now in prepare.sh
> #                                      simplified nginx startup commands
> # 0.5                2023-02-24        nginx now uses a template + some minor 
> changes
> # 0.6                2023-03-23        switched to postgres 15.2-alpine
> # 0.61               2024-07-27        fix networks + version 3.0
> # 0.62               2024-07-27        fix
> # 0.63               2025-07-02        fixed postgres environment vars
> #                                      pinned guacamole and guacd to 1.6.0
> ######################################################################################the
>  attribute `version` is obsolete, it will be ignored, please remove it to 
> avoid potential confusion
> #version: '3.0'# networks
> # create a network 'guacnetwork_compose' in mode 'bridged'
> networks:
>   guacnetwork_compose:
>     driver: bridge# services
> services:
>   # guacd
>   guacd:
>     container_name: guacamole_guacd
>     image: guacamole/guacd:latest
>     networks:
>       - guacnetwork_compose
>     restart: always
>     environment:
>       TZ: America/Vancouver
>     volumes:
>     - /home/jinder/guacamole/drive:/drive:rw
>     - /home/jinder/guacamole/record:/record:rw
>   # postgres
>   postgres:
>     container_name: guacamole_postgres
>     environment:
>       PGDATA: /var/lib/postgresql/data/guacamole
>       POSTGRES_DB: guacamole_db
>       POSTGRES_PASSWORD: 'guacamole_user'
>       POSTGRES_USER: guacamole_user
>       TZ: America/Vancouver
>     image: postgres:15.2-alpine
>     networks:
>       - guacnetwork_compose
>     restart: always
>     volumes:
>     - /home/jinder/guacamole/init:/docker-entrypoint-initdb.d:z
>     - /home/jinder/guacamole/data:/var/lib/postgresql/data-new:Z
>     - /home/jinder/guacamole/database:/var/lib/postgresql/data  # guacamole
>   guacamole:
>     container_name: guacamole
>     group_add:
>       - "1000"
>     depends_on:
>     - guacd
>     - postgres
>     environment:
>       GUACD_HOSTNAME: guacd
>       POSTGRESQL_DATABASE: guacamole_db
>       POSTGRESQL_HOSTNAME: postgres
>       POSTGRESQL_PASSWORD: 'guacamole_user'
>       POSTGRESQL_USERNAME: guacamole_user
>       RECORDING_SEARCH_PATH: /record
>       TZ: America/Vancouver
>     image: guacamole/guacamole:latest
>     networks:
>       - guacnetwork_compose
>     volumes:
>       - /home/jinder/guacamole/record:/record:rw
>     ports:
> ## enable next line if not using nginx
> ##    - 8080:8080/tcp # Guacamole is on :8080/guacamole, not /.
> ## enable next line when using nginx
>     # - 8080/tcp
>     - 8082:8080
>     restart: always {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to