Запуск сценария 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, полностью обновленный.

0 ответов

Другие вопросы по тегам