我正在尝试通过apache服务器通过远程工作站执行bash脚本。
因此,我已经安装了Apache,并且可以很好地执行测试脚本。 但是我想做的是执行一个脚本,该脚本正在(通过xdotool)向用户“ vfx”运行的当前X11会话发送键盘命令。
脚本“ new.sh”:
#!/usr/bin/env sh
export DISPLAY=:"0.0"
export XAUTHORITY=/home/vfx/.Xauthority
xdotool key s
当我尝试在远程工作站上运行它时,总是得到以下信息:(来自httpd错误日志)
[Wed Nov 27 21:30:18.610990 2019] [cgi:error] [pid 2317] [client 192.168.0.194:36750] AH01215: Error: Can't open display: (null)
[Wed Nov 27 21:30:18.611051 2019] [cgi:error] [pid 2317] [client 192.168.0.194:36750] AH01215: Failed creating new xdo instance
[Wed Nov 27 21:30:18.611429 2019] [cgi:error] [pid 2317] [client 192.168.0.194:36750] End of script output before headers: new.sh
我正在使用Gnome classic。 使用“ export DISPLAY =:“ 0.0””和“ xdotool key s”通过ssh进行连接。
我已经尝试了以下方法: 编辑visudo:
apache ALL=(vfx) NOPASSWD: /var/wwww/cgi-bin/new.sh
apache ALL=(vfx) NOPASSWD: /home/vfx/
xhost + 防火墙更改:
# firewall-cmd --zone=public --add-port=6000/tcp
# firewall-cmd --permanent --zone=public --add-port=6000/tcp
# firewall-cmd --zone=public --add-port=177/udp
编辑:/etc/gdm/custom.conf:
# GDM configuration storage
[daemon]
[security]
DisallowTCP=false
[xdmcp]
ServerArguments=-listen tcp
Enable=true
[chooser]
[debug]
# Uncomment the line below to turn on debugging
#Enable=true
编辑:/ etc / ssh / sshd_config
x11 forwarding yes
任何帮助将不胜感激