You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在i3窗口管理器中通过快捷键触发调用R的bash脚本时R部分不执行,但终端直接运行脚本正常的问题求助

在i3窗口管理器中通过快捷键触发调用R的bash脚本时R部分不执行,但终端直接运行脚本正常的问题求助

我最近碰到了一个百思不得其解的问题,想求助各位帮忙分析下:

我写了一个调用R的bash脚本,还在i3的配置文件里给它绑定了快捷键,配置代码如下:

bindsym $mod+q exec --no-startup-id test-r-not-working-from-within.sh

这个脚本的逻辑很直观:如果R会话成功执行,会在/tmp/目录下生成一个后缀为.testR的文件,同时还会生成/tmp/test.testshell文件。现在的状况是,用快捷键触发脚本时,/tmp/test.testshell确实生成了,说明脚本本身在运行,但里面的R代码部分完全没执行。可要是我直接在终端里运行这个脚本,R代码就能正常跑起来,两个文件都会生成。

以下是我的脚本完整内容:

#!/bin/bash

tmp1=$(mktemp)

echo '

library(data.table)

# troubleshoot

tmp1 <- tempfile(tmpdir="/tmp", fileext=".testR")

fileConn<-file(tmp1)

writeLines("test this is a test", fileConn)

close(fileConn)

' >> $tmp1

# none of these two ways of doing it works when called from i3

R  < $tmp1 --vanilla

Rscript $tmp1 --vanilla

echo 'test.testshell' > /tmp/test.testshell

notify-send "test-r-not-working-from-within.sh"

我一开始怀疑是$PATH的问题,在终端里执行which R得到的结果是/usr/bin/R,按理说这个路径应该在系统PATH里。我甚至手动在.bashrc里把它加到PATH里,结果还是没用:

export PATH="/usr/bin/R:~/.npm-global/bin:/usr/local/stata17:$HOME/.yarn/bin:$HOME/.cargo/bin:/home/emil/bin:/home/emil/.local/bin:$PATH"

我实在找不到问题所在了,有没有大佬能给点思路?我用的是完全更新过的Manjaro Linux系统。

备注:内容来源于stack exchange,提问作者emilBeBri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 12:18:02