【问题标题】:Running a shell script from a Rails app, will it work regardless of end user?从 Rails 应用程序运行 shell 脚本,不管最终用户如何,它都可以工作吗?
【发布时间】:2016-02-16 10:28:32
【问题描述】:

我有一个托管在 linux 服务器上的 Rails 应用程序。我需要生成一个关键事件,所以我使用一个 linux 程序来完成这个(xdotool)。我的问题是,如果最终用户没有 linux(或者只是没有 xdotool),这个命令是否仍然有效,因为它是由服务器执行的?

【问题讨论】:

    标签: ruby-on-rails linux web-applications operating-system


    【解决方案1】:

    是的,它会起作用,因为将调用 linux 程序的操作将在您的 linux 机器上调用,而不是在用户机器上调用。所以,这根本不是问题。您可以查看link,了解从 ruby​​ 脚本调用本机代码的各种方法(在您的情况下,这将是控制器操作或模块),但您更喜欢。

    【讨论】:

    • 你确定吗,xdotool 针对特定窗口,我认为它不能针对客户端用户的窗口
    • 你想通过这个 xdotool 实现什么?也许我可以帮你想办法
    • @SudiptaMondai 基本上我从控制器调用 xdotool 并使用生成关键事件/打字的东西(例如 xdotool 类型用户名)
    • 有什么理由不能把 xdotool 的输出发送到浏览器?
    【解决方案2】:

    linux命令会在rails app的上下文下执行,而不是用户,所以只要rails app所有者有权限就可以了。

    【讨论】:

    • 我正在尝试调用 xdtool 在最终用户的网络浏览器上输入文本,这样在这里就行不通了吗?
    • 嗯,我现在不确定。这可能有帮助,也可能没有帮助,大约 5 年前有人为 xdotools 编写了一个包装器:rubygems.org/gems/xdo 可能是一个起点。
    猜你喜欢
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 2019-11-22
    • 2018-05-31
    相关资源
    最近更新 更多