Запуск сценария bash, который вызывает R изнутри i3, не работает, но его запуск непосредственно с терминала работает. Не уверен, проблема в i3 или нет
У меня есть сценарий bash, который вызывает R и сопоставлен с сочетанием клавиш в моей конфигурации i3, например:
bindsym $mod+q exec --no-startup-id test-r-not-working-from-within.sh
Вот простой пример, который легко проверить, поскольку он создает файл в /tmp/ с окончанием «.testR» при успешном выполнении сеанса R, а также создает файл с именемtest.testshell
в/tmp/
.
Сценарий запускается, в чем можно убедиться по файлу, созданному как/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, верно? Добавляем его вручную вPATH
в моем.bashrc
профиль тоже ничего не делает:
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, полностью обновленный.