我在docker-compose上使用apache guacamole,似乎不可能编辑tomcat HTML文件。我真的需要从控制面板中删除用户的“主页”按钮(ctrl + alt+ shift)
我尝试添加新的扩展名,但我不能,因为当我将GUACAMOLE_HOME设置为"/guacamole-home“时,我创建了一个新扩展名的根,它总是将它设置为默认的”/ .jar /.guacamole“。
我怎么才能让它工作呢?即使有另一种方法可以用另一种方法编辑鳄梨酱中的client.html
guacamole:
image: guacamole/guacamole:latest
depends_on:
- guacd
- postgres_gqm
volumes:
- /root/api/program.jar:/opt/guacamole/program.jar
- /root/api/guacamole-home:/guacamole-home
environment:
- "enable-environment-properties=true"
- "GUACD_HOSTNAME=guacd"
- "POSTGRES_DATABASE=guacamole_db"
- "POSTGRES_HOSTNAME=postgres_gqm"
- "POSTGRES_PASSWORD=pass"
- "POSTGRES_USER=guacamole_user"
- "GUACD_LOG_LEVEL=debug"
- "GUACAMOLE_HOME=/guacamole-home"
links:
- guacd
ports:
- 8080/tcp
restart: always发布于 2020-12-24 18:01:46
我设法使用扩展名更改了guacamole上的tomcat HTML文件,但没有按照文档建议的方式进行更改。
首先,我将这个文件从容器guacamole复制到host:
docker cp <containerid>:/usr/local/tomcat /root/myhome
docker cp <containerid>:/opt/guacamole/bin/start.sh /root/myhome然后,当我有了这些文件后,我就可以在我的本地主机上编辑tomcat/webapps/guacamole/app/client/templates/client.html下的client.html。
因此,我进行扩展的方法是,首先转到我在本地主机上复制的start.sh脚本,并将此行添加到以下行号:
238: ln -s /opt/guacamole/program.jar "$GUACAMOLE_EXT"
389: ln -s /opt/guacamole/program.jar "$GUACAMOLE_EXT" 应该在start.sh上:
# Add required .jar files to GUACAMOLE_LIB and GUACAMOLE_EXT
ln -s /opt/guacamole/postgresql/postgresql-*.jar "$GUACAMOLE_LIB"
ln -s /opt/guacamole/postgresql/guacamole-auth-*.jar "$GUACAMOLE_EXT"
ln -s /opt/guacamole/program.jar "$GUACAMOLE_EXT" #ADDED还有这里:
# Add required .jar files to GUACAMOLE_LIB and GUACAMOLE_EXT
ln -s /opt/guacamole/mysql/mysql-connector-*.jar "$GUACAMOLE_LIB"
ln -s /opt/guacamole/mysql/guacamole-auth-*.jar "$GUACAMOLE_EXT"
ln -s /opt/guacamole/program.jar "$GUACAMOLE_EXT" #ADDED现在,我们需要对本地主机中的HTML和JS:进行所需的扩展和更改:
mkdir myExt
cd myExtvi guac-manifest.json #创建guac-manifest.json
{ "guacamoleVersion" : "*",
"name" : "B-Override",
"namespace" : "b-override",
"html" : [ "client.html" ],
"js": ["clientController.js"]
}我想要更改client.html和clientController.js (如果您替换原始文件的名称并不重要,我选择不替换guac-manifest.json中的原始名称。
我想从用户面板菜单(ctrl+alt+shift)中删除连接下拉菜单+注销或返回主页的选项,所以我从复制到本地主机的tomcat文件中复制了原始的client.html:
cp ../tomcat/webapps/guacamole/app/client/templates/client.html .还有:
cp ../tomcat//webapps/guacamole/app/client/controllers/clientController.js .因为我想在虚拟机关闭时,去掉弹出窗口中的home和logout按钮(reconnect- home - logout)
现在,
我编辑了刚刚复制到myExt的文件:
vi client.html我在文件的顶部添加了以下内容:
<meta name="replace-children" content=".menu .menu-content .header">它替换了HTML中我想要的部分,我可以从文件中删除我没有编辑的部分,它只会替换原始文件中我在内容中添加的类
小例子:
<meta name="replace-children" content=".menu .menu-content .header">
<div class="menu" ng-class="{open: menu.shown}" id="guac-menu">
<div class="menu-content" ng-if="menu.shown">
<!-- Stationary header -->
<div class="header">
<h2 class="connection-select-menu" ng-show="rootConnectionGroups">
<guac-menu menu-title="client.name" interactive="true">你可以把我想要替换的代码中的类添加到内容中。在它前面(这就是我对如何替换部件的理解,我知道它与css文件有关,但这样更容易理解)
在我想要修改的js中,我没有删除我不需要修改的部分,因为它的工作方式不同,我转到"action =“,删除了HOME和LOGGOUT选项,并像这样保存它,不需要文件头上的任何东西。
现在扩展已经准备好了,我们需要将其作为jar文件+卷,即start.sh to guacamole容器:
首先,我们需要安装这个来拥有jar选项:(ubuntu)
apt install default-jdk openjdk-11-jdk-headless fastjar openjdk-8-jdk-headless然后我们走出myExt目录:
cd ..
jar cvf program.jar -C myExt .现在我们转到docker-compose.yml并添加卷:
guacamole:
image: guacamole/guacamole:latest
depends_on:
- guacd
- postgres_gqm
volumes:
- /root/myhome/start.sh:/opt/guacamole/bin/start.sh #ADDED
- /root/myhome/program.jar:/opt/guacamole/program.jar #ADDED
environment:
- "GUACD_HOSTNAME=guacd"
- "POSTGRES_DATABASE=guacamole_db"
- "POSTGRES_HOSTNAME=postgres_gqm"
- "POSTGRES_PASSWORD=PassWrdGQM"
- "POSTGRES_USER=guacamole_user"
- "GUACD_LOG_LEVEL=debug"
links:
- guacd
ports:
- 8080/tcp
restart: always现在:
docker-compose down
docker-compose up -d ; docker-compose logs -f --tail=10 guacamole 并查找扩展负载:
guacamole_1 | 09:50:10.683 [localhost-startStop-1] INFO o.a.g.extension.ExtensionModule - Extension "B-Override" loaded.如果您发现自己犯了一个错误,您可以随时返回并重试,方法是从本地主机删除/root/myhome/program.jar,返回到myEXT,重新复制client.html文件或对其进行编辑,再次将其关闭为jar和docker-compose down + up。
https://stackoverflow.com/questions/65394320
复制相似问题