linux – xterm没有找到shell的绝对路径

weixin_38081402 2019-09-12 11:34:30
我正在尝试使用ProcessBuilder从Java在SUSE Linux Enterprise 12中运行脚本.代码如下: ProcessBuilder pb = new ProcessBuilder("xterm", "-e", "script_path"); Process pr = pb.start(); 然后我读取了来自Process的消息,它是在说xterm:找不到shell的绝对路径:script_path 所以我尝试从SUSE中的Gnome-Terminal,并使用命令xterm script_path但发现了相同的错误消息.我尝试了表单root和本地用户.我完全没有关于这个错误的线索. 主要条件是我必须能够以root身份运行此代码,因为我的java代码必须仅以root身份调用. 更新: 我再次尝试过,现在我实际上有一个来自ProcessBuilder的新错误消息.我从错误流中得到的消息如下: error extracting:: error message: Warning: This program is an suid-root program or is being run by the root user. The full text of the error or warning message cannot be safely formatted in this environment. You may get a more escriptive message by running the program as a non-root user or by removing the suid bit on the executable. xterm: Xt error: Can't open display: %s xterm: DISPLAY is not set 我试图执行的脚本是unZipper.sh: #!/bin/bash sudo unzip -o postgresql-9.4.6-linux-64.zip -d some_path/db/ sleep 3
...全文
426 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38097244 2019-09-12
  • 打赏
  • 举报
回复
xterm对执行命令所涉及的路径名进行了一些(不同的)检查.这是一个中间人: >如果你说“xterm -e command”,xterm将依赖你现有的$SHELL设置和/或luit的配置(它也以不同的方式使用$SHELL)来决定命令是否成功.>如果你说“xterm命令”(没有-e选项),xterm会将其视为特殊情况,要求它是绝对路径名.这是通常出现问题的地方. 在从patch #301开始的更改中(除了特殊的无-e情况)xterm检查现有的$SHELL以确保它在/ etc / shells中列出. (这里有一个很长的故事,但总结一下,它注意到它在安全方面有所改善……).如果您阅读更改日志,您可以看到正确的尝试需要几次尝试来处理特殊情况. 从给出的信息: >由于你在一个案例中使用-e(来自ProcessBuilder)而不是在另一个案例中,因此可能存在一些问题.>或者你的$SHELL可能没有在/ etc / shells中列出.>最后,可能会有一些资源设置(结合不正确的区域设置变量)导致程序意外执行luit.例如,如果xterm尝试使用luit但是localeFilter资源设置为相对路径,则会产生此错误.
代码下载链接: https://pan.quark.cn/s/90fbf78c3289 "1元云购"是一种依托互联网的购物方式,用户仅需投入微小的资金(一般为一元)便有机会赢取高价值商品。此类模式常借助抽奖机制来判定获胜者,从而吸引众多用户加入。"1元云购源代码"是承载该业务流程的程序代码,其用途在于搭建一个完整的1元云购系统。 在构建1元云购源代码的过程中,主要包含以下几个核心技术要点: 1. **数据库架构**:为了有效存储商品详情、用户资料、交易历史及开奖结果,必须设计科学合理的数据库框架。这包括商品数据表、用户信息表、订单记录表和开奖记录表等,确保数据的统一性与完整性。 2. **支付渠道对接**:1元云购平台需与第三方支付服务(例如支付宝、微信支付)进行对接,以实现用户的在线支付操作。这涉及API接口调用、交易状态同步、退款流程管理等环节。 3. **随机数生成策略**:抽奖过程的核心在于公平透明地选定获奖者,通常采用随机数生成策略来实现。该策略需保障每位参与者拥有相等的获奖机会,同时防止欺诈行为。 4. **用户界面开发**:卓越的用户体验是吸引参与者的关键因素。前端页面应兼具视觉吸引力与操作便捷性,清晰展示商品信息、购买步骤、中奖规范等,并提供用户注册、登录、查询订单等功能。 5. **服务器程序设计**:后端系统负责处理用户请求,如管理订单、计算中奖号码、更新数据库信息等。这部分通常采用PHP等服务器端技术实现,需应对并发访问与高负载情形。 6. **安全措施**:1元云购平台可能面临恶意攻击,例如SQL注入、XSS跨站脚本攻击等。因此,源代码需遵循安全编程准则,对用户输入进行过滤与校验,同时运用HTTPS等加密手段保障数据传输安全。 7. **...

479

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧