r - RStudio shows a different $PATH variable -
possible duplicate question, don't know startup process of rstudio tell if problems same. i'm using rstudio desktop v0.99.442 on linux. console inside rstudio, run
system("echo $path") /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
however, real $path
(which see when echo $path
console) has lot of other programs on i'd able call using system() r. example, in .bashrc, have tabix appended $path
.
the weird thing when run same command r session within console, get
system("echo $path") /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games;/path/to/bcftools-1.2/htslib-1.2.1/tabix
which correct. there difference between r session inside rstudio , r session in console. not load same environment variables. how rstudio use correct version of $path?
when start r command line , run system(echo $path)
, inheriting bash environment command line session. when launch rstudio from, say, dock or finder on mac or system application in ubuntu, , not command line, rstudio not gets environment /.bashrc
. instead environment variables system-wide settings. how finds system settings depend on operating system.
ubuntu
see this explanation of environment variables in ubuntu, section on desktop applications.
according explanation:
you can add environment variable application editing .desktop file. example, run "digikam" environment variable appmenu_display_both=1, find corresponding digikam.desktop file , add setting of variable, via env command, entry "exec":
the rstudio .desktop
file in ~/.local/share/applications/
or /usr/share/applications/
(most latter). edit file include line:
path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games;/path/to/bcftools-1.2/htslib-1.2.1/tabix
mac
system-wide environment variables set launch agent , not bash. how set environment variables applications launched finder depend on version of mac os x. answer might help.
the way add file, ~/library/launchagents/com.username.envvariables.plist
these contents:
<?xml version="1.0" encoding="utf-8"?> <!doctype plist public "-//apple//dtd plist 1.0//en" "http://www.apple.com/dtds/propertylist-1.0.dtd"> <plist version="1.0"> <dict> <key>label</key> <string>com.username.envvariables</string> <key>programarguments</key> <array> <string>sh</string> <string>-c</string> <string> launchctl setenv path /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games;/path/to/bcftools-1.2/htslib-1.2.1/tabix </string> </array> <key>runatload</key> <true/> </dict> </plist>
you have load file:
launchctl load ~/library/launchagents/com.username.envvariables.plist
you may have restart finder:
killall -kill dock
then restart rstudio.
Comments
Post a Comment