Guacamole ist kein Drucken aus einer RDP Sitzung heraus möglich!

Hallo Leutz, funktioniert bei irgendwehm das Drucken in einer RDP Sitzung?

Wenn ich auf den umgeleiteten Drucker Guacamole eine Testseite drucke, müsste ja auf der Clientseite eine PDF sich öffnen…. damit ich diese dann an dem lokalen Drucker weitergeben kann.

Das passiert leider nicht. Allerdings, wenn ich mich nach dem drucken gleich vom Remote Desktop abmelde, kommt eine PDF zum Ausdrucken, nur die ist defekt.

Hat jemand eine Idee wie ich das Einrichten muss?

Danke schon mal im Voraus
Mfg saukatz

Hi saukatz.

Ich betreibe zwei Guacamole-Installationen. Allerdings in EGroupware installiert.

Ich beschäftige mich mit dem Thema auch gerade. Bei einer Installation mag der Druck gar nicht, bei der anderen bekomme ich keine größeren Drucke durch.

Kannst du denn einen “kleinen” Druck drucken? Also z. B. ein Wort in einer Textdatei? Bei mir geht es bis zu einer Testseite aus der Druckerverwaltung.

Das würde bei der Fehlersuche sicherlich einen Unterschied machen …

Stefan

Servus Stefan,

wenn ich eine Textdatei mit einem kleinen Inhalt erstelle und drucken will klappt das auch nicht.

Die PDF taucht erst auf, wenn ich mich danach gleich abmelde, aber diese lässt sich nicht öffnen. Demnach defekt.

Schade das es nicht klappt. Wäre ja zu schön. Das Thema Guacamole hatte ich in der Vergangenheit getestet und da bin ich nicht so weit gekommen, weil die APP Guacamole dann keine Verbindung mehr herstellen konnte. Jetzt wollte ich das einfach noch mal aufgreifen, weil das schon eine schöne Sache ist. Speziell auch für Home Office könnte das für manche Kunden interessant sein.

Naja… vielleicht hat ja noch der ein oder andere eine Idee.

Mfg Tschortschi

Hallo ich verwende Guacamole bei allen Kunden (Fernwartung und User Home Office)

jedoch ist es meiner Meinung nach besser nicht die UCS App zu verwenden da diese sehr spärlich gewartet wird.

Hier eine Anleitung wie ich sie bei Kunden installiere (meinst nehme ich dazu eine Debian 10 installation dafür als eigene VM - kann aber auch auf einem UCS Server installiert werden)

Installation dauert ca 5-10min

Installation Guacamole Docker Version

Docker Pulls

sudo docker pull guacamole/guacd
sudo docker pull guacamole/guacamole
sudo docker pull mysql:5.7

Create script to prepare MySQL Database
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql

Make a scripts folder to pass-through to container

mkdir /tmp/scripts
cp initdb.sql /tmp/scripts

Create/ start mysql instance
docker run --restart=always --name guac-mysql -v /tmp/scripts:/tmp/scripts -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7

Create mysql db, user and prepare mysql instance for guacamole
docker exec -it guac-mysql /bin/bash

mysql -u root -p'password'
CREATE DATABASE guacamole;
CREATE USER 'guacamole' IDENTIFIED BY 'password';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO 'guacamole';
FLUSH PRIVILEGES;
quit

cat /tmp/scripts/initdb.sql | mysql -u root -p'password' guacamole

Now ctrl-d to exit docker container shell # Start guacd
docker run --restart=always --name guacd -d guacamole/guacd

Start guacamole client

docker run --restart=always --name guacamole --link guacd:guacd --link guac-mysql:mysql \
-e MYSQL_DATABASE='guacamole' \
-e MYSQL_USER='guacamole' \
-e MYSQL_PASSWORD='password' \
-v /etc/guacamole:/etc/guacamole \
-e GUACAMOLE_HOME=/etc/guacamole \
-d -p 8080:8080 guacamole/guacamole

wenn man 2FA Autentifizierung haben will (zb TOTP) dann beim letzen kommando noch zusätzlich
-e TOTP_ENABLED=true \
hinzufügen

dies installiert immer die letzte Version die verfügbar ist.

ein späteres Upgrade auf die neue Version ist dann einfach mit folgenden Kommandos möglich:

docker stop guacamole
docker stop guacd

docker rm guacamole
docker rm guacd

docker rmi (guacamole image ID)
docker rmi (guacd image ID)

die image ID bekommt man mit
docker images

danach einfach die beiden Befehle:

docker run --restart=always --name guacd -d guacamole/guacd

docker run --restart=always --name guacamole --link guacd:guacd --link guac-mysql:mysql \
-e MYSQL_DATABASE='guacamole' \
-e MYSQL_USER='guacamole' \
-e MYSQL_PASSWORD='password' \
-v /etc/guacamole:/etc/guacamole \
-e GUACAMOLE_HOME=/etc/guacamole \
-d -p 8080:8080 guacamole/guacamole

Alle Einträge (Verbindungen, User etc) bleiben dabei in der SQL Datenbank erhalten

Wenn man UCS im Einsatz hat dann kann man die Guacamole Web site einfach über den apache proxen:

dazu am Webserver (welcher von außen erreichbar ist)

folgende Datei int /etc/apache2/sites-available/guacamole.conf

mit folgendem Inhalt (IP Adresse auf den internen Guacamole host ändern!!)

<Location /guacamole>
        Order allow,deny
Allow from all
ProxyPass http://192.168.2.110:8080/guacamole max=20 flushpackets=on
ProxyPassReverse https://192.168.2.110:8080/guacamole
</Location>

<Location /guacamole/websocket-tunnel>
         Order allow,deny
Allow from all
ProxyPass ws://192.168.2.110:8080/guacamole/websocket-tunnel
ProxyPassReverse ws://192.168.2.110:8080/guacamole/websocket-tunnel
</Location>

danach

a2ensite guacamole.conf

systemctl reload apache2.service

dann ist guacamole über

https://fqdn-web-server/guacamole

erreichbar

lg
Christian

2 Likes

Hallo externa1,

wenn ich Dich jetzt richtig verstanden habe, soll ich ein Linux System (Ubuntu wäre meine Wahl) mit Guacamole separat aufsetzen und dies von außen logischerweise erreichbar machen?

Und sollte der UCS trotzdem weiter verwendet werden, weil er ja eh von außen erreichbar ist, muss/soll Guacamole über den Proxy von Apachen erreichbar gemacht werden, wie du ja schon beschrieben hast?

Mfg Tschortschi

Ich auch.

Ja, könnte ein Update auf die 1.3 vertragen.


Danke für die ausführliche Anleitung.

Ich habe Guacamole in EGroupware installiert/integriert weil wir das im April letzten Jahres für eine richtig gute Idee hielten das für EGroupware-Anwender anzubieten. Das hat vielen geholfen Homeoffice-Anbindungen schnell und einfach bereit zu stellen.
Noch ein paar Links dazu:
Flyer Guacamole in EGroupware
EGroupware Guacamole Webseite
Einige Artikel mit Hinweisen
Vortrag Kielux 2020: Jitsi und Apache Guacamole in EGroupware Video und Vortragsfolien

Vielleicht bringt das den ein oder anderen auf den Geschmack. In EGroupware oder auf einem UCS: Guacamole ist klasse!


Aber zurück zum Drucken:

Wie verhält sich denn das Drucken bei dir?
Funktioniert das?
Wird das von dir/ deinen Kunden verwendet?
In welchen Konstellationen?

Stefan

OK. Dann ist also wirklich erst einmal die Frage, ob das bei anderen mit der Univentian-App funktioniert.


Ich habe bei mir nun noch einmal mit meiner privaten Installation (unter EGroupware installiert) getestet:
Das funktioniert.
Wobei ich ein Problem habe: LibreOffice produziert mit dem Guacamole-Drucker (MS Publisher imagesetter) gigantische Druckaufträge, welche dann schon mal zum Problem werden.
Anderes funktioniert.


Was kannst du denn feststellen, wenn du die Drucker-Warteschlange öffnest und dann druckst?

Absolut. Klasse Lösung wenn Arbeitsplatz-PCs vorhanden sind. Insbesondere welche mit spezieller Software (DATEV, …). Und das kann man getrost auf privaten Home-PCs erlauben.

Bei meinem Arbeitgeber setzen wir Guacamole gerade aktuell intensiv ein.

Stefan

Ja und wenn keine Arbeitsplatz PC’s vorhanden sind (z.B Notebook Mitarbeiter) kann man auch einen Terminal Server nehmen

rg
Christian

Ja genau,

Du kannst aber die ganzen Schritte (die Guacamole Docker Installation) auch auf einem UCS machen - hier würde ich nur vorsichtig sein wegen der MySQL DB - es könnte auf dem UCS durch eine andere APP (z.B. Kopano) bereits eine geben dann musst du die MySQL docker installation weg lassen und die SQL DB config auf der bereits bestehenden MySQL Instanz machen (sonst gibt es einen Port Konflikt)

Die Proxy config bietet sich an weil einfach - schnell und SSL Zertifikat ja auch meist schon vorhanden ist.
Man kann aber auch auf dem Guacamole Host einen Apache oder Nginx als WebFrontend installieren.

lg

Christian

Danke Stefan, werde mir das die nächste Zeit mal weiter testen. Im Moment muss ich da erst mal wieder pausieren. Ich melde mich jedenfalls wieder und vielen Dank erst mal. Biss denne…

Mfg Tschortschi

Hallo externa1, ich werde mir mal so eine Installation auf Ubuntu antun und melde mich jedenfalls wieder bei Dir. Auch dir auch erst mal schönen Dank für die Installationsanleitung.

Mfg Tschortschi

1 Like

Ich habe mir das auch mal genauer angesehen. Es wäre doch schön trotzdem den LDAP von UCS zu benutzen inklusive der Schema-Erweiterung, die durch die App hinzugefügt wird. Ich möchte ja gerade nicht Benutzerdaten und Konfigurationen in einer weiteren Datenbank speichern.

Sofern die Guacamole UCS App einmal installiert wurde ist das guacamole Schema im Ldap installiert. Ich habe mal versucht das mit einem neuen Docker container zu nutzen.

Mir fehlen nur noch 2 Kleinigkeit evtl. kann mir da ja einer helfen. Es funktioniert ansonsten und mit der unten aufgeführten Anleitung läuft guacomole fix :wink:

  1. User über Gruppen finden (kann die UCS App mit dem Schema aber bei mir läuft es noch nicht)
  2. LDAP Filter mit guacamole-enabled

Die zwei Sachen habe ich noch nicht komplett zum Laufen gebracht. Evtl. weiß ja jemand direkt wie es geht?

Anleitung: Guacamole Docker + LDAP + UCS:

1. Docker pulls

sudo docker pull guacamole/guacd
sudo docker pull guacamole/guacamole

2. Run guacd

docker run --restart=always --name internal-guacd -d guacamole/guacd

3. Start Guacamole with Ldap Settings

Entsprechend anzupassen:

docker run --restart=always --name guacamole --link internal-guacd:guacd \
-e LDAP_HOSTNAME='DOMAIN.de' \
-e LDAP_USER_BASE_DN='cn=users,ou=OUNAME,dc=DOMAIN,dc=de' \
-e LDAP_SEARCH_BIND_DN='uid=LDAPSEARCHUSER,CN=users,DC=DOMAIN,DC=de' \
-e LDAP_SEARCH_BIND_PASSWORD='PASSWORT' \
-e LDAP_CONFIG_BASE_DN='cn=guacamole,dc=DOMAIN,dc=de' \
-e LDAP_MEMBER_ATTRIBUTE='uniqueMember' \
-e LDAP_GROUP_BASE_DN='cn=mitarbeiter,cn=groups,ou=OUNAME,dc=DOMAIN,dc=de' \
-e LDAP_ENCRYPTION_METHOD='ssl' \
-e LDAP_PORT='7636' \
-v /etc/guacamole:/etc/guacamole \
-e GUACAMOLE_HOME=/etc/guacamole \
-d -p 8081:8080 guacamole/guacamole

3.1 SSL Zertifikat importieren

Vom Master über das Portal rootCA.crt runterladen und z. B. mit WinSCP auf den Host kopieren

docker cp CERT.crt guacamole:/usr/local/share/ca-certificates/
docker exec -it guacamole update-ca-certificates
docker restart guacamole

4. Apache2 konfigurieren

nano /etc/apache2/sites-available/guacamole.conf

<Location /guacamole>
        Order allow,deny
Allow from all
ProxyPass http://localhost/guacamole max=20 flushpackets=on
ProxyPassReverse https://localhost:8081/guacamole
</Location>

<Location /guacamole/websocket-tunnel>
         Order allow,deny
Allow from all
ProxyPass ws://localhost:8081/guacamole/websocket-tunnel
ProxyPassReverse ws://localhost:8081/guacamole/websocket-tunnel
</Location>

Danach

a2ensite guacamole.conf

systemctl reload apache2.service

Edited: Add LDAP SSL

Hallo,
das Thema ist jetzt schon 1 Jahr alt, trotzdem versuche ich es einmal, da das Thema für mich noch aktuell ist.
Ich habe auch das Problem, dass der Druck nicht funktioniert. Wenn ich Drucke, passiert gar nichts und die Sitzung friert ein. Vielleicht geht irgendwann ein Download Dialog auf, der mir aber nur ein PDF mit 0K Größe anbietet.
Also habe ich einen Ubuntuserver installiert und nach einigem basteln (bin Docker Anfänger) nach der Anleitung auch hinbekommen. Alles funktioniert mit TOTP und Drucken und allem, solange ich nicht den Reverseproxy nutze (also intern). Sobald ich aus dem bösen Internet komme und drucken will, habe ich wieder die gleichen Symptome wie vorher.
Im Docker log finde ich folgende Meldung:

INFO o.a.g.t.h.RestrictedGuacamoleHTTPTunnelServlet - Using HTTP tunnel (not WebSocket). Performance may be sub-optimal.

im Apache Log des Univention Servers finde ich

AH01144: No protocol handler was valid for the URL /guacamole/websocket-tunnel. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

Die Problematik scheint m.E. bei dem Apache zu liegen.

Muss noch ein Modul nachgeladen werden?

Vielen Dank, vielleicht hört mich ja noch jemand :slight_smile:

Update: nach
nach a2enmod proxy_wstunnel
und anschließendem
systemctl restart apache2
funktioniert schonmal die Dateiübertragung (ging vorher auch nicht) und die Androhung suboptimaler Performance ist auch weg. Drucken geht immer noch nicht, aber nach dem Abmelden geht schon mal ein leeres PDF auf :slight_smile:

Langsam ernährt sich das Eichhörnchen…

VG

Hi Christoph.

Ich habe da auch noch verschiedentliche Probleme beim Drucken. Ein bischen diffus aber hauptsächlich auf Installationen mit einem Nginx-Proxy und Docker. Allerdings aktiv nicht auf einem UCS. Ich denke aber das nimmt sich nichts.
Auch die Version scheint nicht das entscheidende zu sein. Ob nun 0.9 (UCS), 1.3 oder 1.4…

Vielleicht hättest du Interesse dass wir uns bei diesem Thema mal persönlich (Video-Call) abstimmen und schauen ob wir diese Probleme auf der Guacamole-Mailingliste entsprechend dokumentieren können. Das wäre die richtige Stelle um da weiter zu kommen.
Vielleicht auch auch sonst noch jemand Lust…


Am kommenden Sonntag halte ich übrigens auf den CLT einen Vortrag zu Guacamole:

Stefan

Hallo Stefan,

vielen Dank für Antwort. Inzwischen druckt es ganz gut. Ich weis nicht mehr genau was da klemmte, ich habe den Eindruck, der Guacamole PDF Drucker auf dem RDSH ist mit den Session IDs durcheinander gekommen. Ich habe mich dann einmal richtig ab- und wieder angemeldet und seitdem funktioniert alles.
Ich richte Guacamole bei allen ein, die den Homeoffice Zugang über einen “genatteten” RDP Port realisieren (D’Oh!)
EGroupware schaue ich mir jetzt in einer Univention Testumgebung an. Vielleicht kann ich das auch bei dem ein oder anderen Kunden unterbringen. Bisher habe ich mit Kopano sehr gute Erfahrung gemacht.
VG
Christoph

Hallo Zusammen.

Kurze Info von mir:

Meine Heim-Installation, wo ich bislang nur kleinste Dateien/Druckaufträge erfolgreich drucken konnte, habe ich seit kurzem auf Guacamole latest umgestellt.

https://hub.docker.com/r/guacamole/guacamole/tags

Dort sind Änderungen im Bereich Drucken eingeflossen für die kommende 1.5.0.

Nun ist es für mich möglich auch sehr große Druckaufträge erfolgreich heraus zu bekommen:

grafik

Den Druckauftrag Win => Guac dauert sehr lange (12-13 Minuten).
Das PDF ist dann (im Download) 7,7 MB groß. Das ist dann schnell übertragen.
Ich werde das kaum benötigen. Aber es ist gut dass es funktioniert.

Stefan

Mastodon