我有一些红宝石代码,它有以下内容
system("rgvim " + MY_FILE)
这在终端上运行良好,但如果我使用 systemd 将此代码作为机架应用程序运行,系统调用将无法工作。我收到消息:
Dec 06 14:40:54 mypc config.ru[10211]: Vim: Warning: Output is not to a terminal
Dec 06 14:40:54 mypc config.ru[10211]: Vim: Warning: Input is not from a terminal
我认为这是因为守护进程无权访问文件描述符。
编辑 一些评论者要求我的用例更具体的细节。这里是:我正在尝试使用systemd
. 机架应用程序在代码中有上述系统调用,当我使用从终端运行它时工作正常
rack config.ru
但是,当我使用 systemd 启动它时,如上所述,机架应用程序无法访问正确的文件描述符。在我看来,应该以某种方式映射当前的 X 显示和/或文件描述符systemd