2

我按照以下步骤在 Ubuntu 16.04 上安装了鳄梨酱: https ://www.vultr.com/docs/create-an-html-5-rdp-ssh-frontend-using-guacamole-on-ubuntu-16-04-lts

我使用了最新版本的鳄梨酱等。

当我访问鳄梨酱登录屏幕时,我收到以下错误:

在此处输入图像描述

当我查看日志时

尾 -f /var/log/tomcat8/catalina.out

我看到以下内容:

19:56:29.048 [http-nio-8080-exec-4] DEBUG o.a.i.t.jdbc.JdbcTransaction - Opening JDBC Connection
19:56:29.048 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Checked out connection 572680346 from pool.
19:56:29.048 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Testing connection 572680346 ...
19:56:29.050 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Connection 572680346 is GOOD!
19:56:29.050 [http-nio-8080-exec-4] DEBUG o.a.i.t.jdbc.JdbcTransaction - Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@2222689a]
19:56:29.051 [http-nio-8080-exec-4] DEBUG o.a.g.a.j.user.UserMapper.selectOne - ==>  Preparing: SELECT guacamole_user.user_id, guacamole_entity.entity_id, guacamole_entity.name, password_hash, password_salt, password_date, disabled, expired, access_window_start, access_window_end, valid_from, valid_until, timezone, full_name, email_address, organization, organizational_role, MAX(start_date) AS last_active FROM guacamole_user JOIN guacamole_entity ON guacamole_user.entity_id = guacamole_entity.entity_id LEFT JOIN guacamole_user_history ON guacamole_user_history.user_id = guacamole_user.user_id WHERE guacamole_entity.name = ? AND guacamole_entity.type = 'USER' GROUP BY guacamole_user.user_id, guacamole_entity.entity_id; SELECT guacamole_user_attribute.user_id, guacamole_user_attribute.attribute_name, guacamole_user_attribute.attribute_value FROM guacamole_user_attribute JOIN guacamole_user ON guacamole_user.user_id = guacamole_user_attribute.user_id JOIN guacamole_entity ON guacamole_user.entity_id = guacamole_entity.entity_id WHERE guacamole_entity.name = ? AND guacamole_entity.type = 'USER'
19:56:29.051 [http-nio-8080-exec-4] DEBUG o.a.g.a.j.user.UserMapper.selectOne - ==> Parameters: service(String), service(String)
19:56:29.052 [http-nio-8080-exec-4] DEBUG o.a.g.a.j.user.UserMapper.selectOne - <==      Total: 0
19:56:29.052 [http-nio-8080-exec-4] DEBUG o.a.i.t.jdbc.JdbcTransaction - Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@2222689a]
19:56:29.052 [http-nio-8080-exec-4] DEBUG o.a.i.t.jdbc.JdbcTransaction - Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@2222689a]
19:56:29.052 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Testing connection 572680346 ...
19:56:29.052 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Connection 572680346 is GOOD!
19:56:29.052 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Returned connection 572680346 to pool.
19:56:29.054 [http-nio-8080-exec-4] INFO  o.a.g.r.auth.AuthenticationService - User "service" successfully authenticated from 10.160.108.44.
19:56:29.055 [http-nio-8080-exec-4] DEBUG o.a.i.t.jdbc.JdbcTransaction - Opening JDBC Connection
19:56:29.055 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Checked out connection 572680346 from pool.
19:56:29.055 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Testing connection 572680346 ...
19:56:29.055 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Connection 572680346 is GOOD!
19:56:29.055 [http-nio-8080-exec-4] DEBUG o.a.i.t.jdbc.JdbcTransaction - Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@2222689a]
19:56:29.055 [http-nio-8080-exec-4] DEBUG o.a.g.a.j.user.UserMapper.selectOne - ==>  Preparing: SELECT guacamole_user.user_id, guacamole_entity.entity_id, guacamole_entity.name, password_hash, password_salt, password_date, disabled, expired, access_window_start, access_window_end, valid_from, valid_until, timezone, full_name, email_address, organization, organizational_role, MAX(start_date) AS last_active FROM guacamole_user JOIN guacamole_entity ON guacamole_user.entity_id = guacamole_entity.entity_id LEFT JOIN guacamole_user_history ON guacamole_user_history.user_id = guacamole_user.user_id WHERE guacamole_entity.name = ? AND guacamole_entity.type = 'USER' GROUP BY guacamole_user.user_id, guacamole_entity.entity_id; SELECT guacamole_user_attribute.user_id, guacamole_user_attribute.attribute_name, guacamole_user_attribute.attribute_value FROM guacamole_user_attribute JOIN guacamole_user ON guacamole_user.user_id = guacamole_user_attribute.user_id JOIN guacamole_entity ON guacamole_user.entity_id = guacamole_entity.entity_id WHERE guacamole_entity.name = ? AND guacamole_entity.type = 'USER'
19:56:29.055 [http-nio-8080-exec-4] DEBUG o.a.g.a.j.user.UserMapper.selectOne - ==> Parameters: service(String), service(String)
19:56:29.056 [http-nio-8080-exec-4] DEBUG o.a.g.a.j.user.UserMapper.selectOne - <==      Total: 0
19:56:29.056 [http-nio-8080-exec-4] DEBUG o.a.i.t.jdbc.JdbcTransaction - Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@2222689a]
19:56:29.056 [http-nio-8080-exec-4] DEBUG o.a.i.t.jdbc.JdbcTransaction - Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@2222689a]
19:56:29.056 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Testing connection 572680346 ...
19:56:29.056 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Connection 572680346 is GOOD!
19:56:29.056 [http-nio-8080-exec-4] DEBUG o.a.i.d.pooled.PooledDataSource - Returned connection 572680346 to pool.
19:56:29.058 [http-nio-8080-exec-4] DEBUG o.a.g.r.auth.AuthenticationService - Login was successful for user "service".
19:56:29.092 [http-nio-8080-exec-2] INFO  o.a.g.environment.LocalEnvironment - GUACAMOLE_HOME is "/etc/guacamole".
19:56:29.096 [http-nio-8080-exec-2] DEBUG o.a.g.net.InetGuacamoleSocket - Connecting to guacd at localhost:4822.
19:56:29.155 [http-nio-8080-exec-2] INFO  o.a.g.tunnel.TunnelRequestService - User "service" connected to connection "DEFAULT".
Exception in thread "Thread-5" java.lang.IllegalStateException: Message will not be sent because the WebSocket session has been closed
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:384)
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsRemoteEndpointImplBase.java:340)
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$TextMessageSendHandler.write(WsRemoteEndpointImplBase.java:755)
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialString(WsRemoteEndpointImplBase.java:252)
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:195)
    at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37)
    at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint.sendInstruction(GuacamoleWebSocketTunnelEndpoint.java:152)
    at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint.access$200(GuacamoleWebSocketTunnelEndpoint.java:53)19:56:29.202 [http-nio-8080-exec-5] INFO  o.a.g.tunnel.TunnelRequestService - User "service" disconnected from connection "DEFAULT". Duration: 45 milliseconds

    at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$2.run(GuacamoleWebSocketTunnelEndpoint.java:253)

19:56:29.202 [http-nio-8080-exec-5] DEBUG o.a.g.net.InetGuacamoleSocket - Closing socket to guacd.

我在这里读到:https ://sourceforge.net/p/guacamole/discussion/1110834/thread/1b380caa/?limit=25 我需要创建软链接,例如:

Create symbolic links within [path to libfreerdp*.so]/freerdp/ to /usr/local/lib/freerdp/guac*.so

但我不认为这是一个问题。这是我的带有现有链接的 libfreerdp 目录。

ls -l /usr/lib/x86_64-linux-gnu/freerdp

-rw-r--r-- 1 root root 14720 Dec 11 11:53 audin-client-alsa.so
-rw-r--r-- 1 root root 14784 Dec 11 11:53 audin-client-pulse.so
-rw-r--r-- 1 root root 14848 Dec 11 11:53 audin-client.so
-rw-r--r-- 1 root root 35240 Dec 11 11:53 drive-client.so
-rw-r--r-- 1 root root 10256 Dec 11 11:53 echo-client.so
lrwxrwxrwx 1 root root    39 Feb 18 19:45 guacai-client.la -> /usr/local/lib/freerdp/guacai-client.la
lrwxrwxrwx 1 root root    39 Feb 18 19:45 guacai-client.so -> /usr/local/lib/freerdp/guacai-client.so
lrwxrwxrwx 1 root root    39 Feb 18 19:45 guacdr-client.la -> /usr/local/lib/freerdp/guacdr-client.la
lrwxrwxrwx 1 root root    39 Feb 18 19:45 guacdr-client.so -> /usr/local/lib/freerdp/guacdr-client.so
lrwxrwxrwx 1 root root    40 Feb 18 19:45 guacsnd-client.la -> /usr/local/lib/freerdp/guacsnd-client.la
lrwxrwxrwx 1 root root    40 Feb 18 19:45 guacsnd-client.so -> /usr/local/lib/freerdp/guacsnd-client.so
lrwxrwxrwx 1 root root    40 Feb 18 19:45 guacsvc-client.la -> /usr/local/lib/freerdp/guacsvc-client.la
lrwxrwxrwx 1 root root    40 Feb 18 19:45 guacsvc-client.so -> /usr/local/lib/freerdp/guacsvc-client.so
-rw-r--r-- 1 root root 14552 Dec 11 11:53 parallel-client.so
-rw-r--r-- 1 root root 14616 Dec 11 11:53 printer-client.so
-rw-r--r-- 1 root root 18648 Dec 11 11:53 rdpei-client.so
-rw-r--r-- 1 root root 18976 Dec 11 11:53 rdpsnd-client-alsa.so
-rw-r--r-- 1 root root 18944 Dec 11 11:53 rdpsnd-client-pulse.so
-rw-r--r-- 1 root root 27032 Dec 11 11:53 serial-client.so
-rw-r--r-- 1 root root 31104 Dec 11 11:53 smartcard-client.so
-rw-r--r-- 1 root root 10472 Dec 11 11:53 tsmf-client-alsa-audio.so
-rw-r--r-- 1 root root 14624 Dec 11 11:53 tsmf-client-pulse-audio.so
-rw-r--r-- 1 root root 39664 Dec 11 11:53 tsmf-client.so

ls -l /usr/local/lib/freerdp/

-rwxr-xr-x 1 root root   1205 Feb 18 11:25 guacai-client.la
-rwxr-xr-x 1 root root 361072 Feb 18 19:44 guacai-client.so
-rwxr-xr-x 1 root root   1205 Feb 18 11:25 guacdr-client.la
-rwxr-xr-x 1 root root 618032 Feb 18 19:44 guacdr-client.so
-rwxr-xr-x 1 root root   1211 Feb 18 11:25 guacsnd-client.la
-rwxr-xr-x 1 root root 274408 Feb 18 19:44 guacsnd-client.so
-rwxr-xr-x 1 root root   1211 Feb 18 11:25 guacsvc-client.la
-rwxr-xr-x 1 root root 273824 Feb 18 19:44 guacsvc-client.so

我怎么解决这个问题?

4

1 回答 1

0

对于我的 Debian 11(2021 年发布的“bullseye”版本),我必须使用apt-get install这些特定的库来让 guacamole 1.3.0 感到高兴并且不会很快断开连接。也许中间是可选的?

freerdp2-dev freerdp2-x11 libwebsockets-dev

无论如何,Guacamole 需要-dev这些软件包的版本,因为我尝试了其他版本的 RDP 和 libwebsockets 但没有成功,直到我找到一些注意到“-dev”要求的文档。

在摆弄软件包安装之后,我得到了我需要的Library status:部分(文档中间显示的表格)。

鳄梨酱文档: https ://guacamole.apache.org/doc/gug/installing-guacamole.html

于 2021-10-29T17:37:45.697 回答