RStudio startup issues

Description of The Problem:

As of today, RStudio Desktop fails to startup properly on my Linux machine. It was working yesterday. RStudio Desktop runs properly if started as the root user or when started with the command rstudio-bin --no-sandbox as a normal user. When started normally then it simply produces displays a grey window. See the image below:

Clicking on the menu items does not do anything.

Basic System Information

RStudio 2021.09.2 Build 382
R version 4.1.2 (2021-11-01) -- "Bird Hippie"
EndeavourOS (an Arch-based Linux distribution)

See the output from rstudio-bin --run-diagnostics at the end of this message.

What I have tried to resolve the issue.

RStudio Diagnostics Report

RStudio Diagnostics Report

WARNING: This report may contain sensitive security information and / or
personally identifiable information. Please audit the below and redact any
sensitive information before submitting your diagnostics report.

Generated: Tue Feb 15 12:40:52 2022

RStudio Version

2021.09.2+382

Session Information

R version 4.1.2 (2021-11-01)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: EndeavourOS

Matrix products: default
BLAS: /usr/lib/libopenblasp-r0.3.19.so
LAPACK: /usr/lib/liblapack.so.3.10.0

locale:
[1] LC_CTYPE=en_ZA.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_ZA.UTF-8 LC_COLLATE=en_ZA.UTF-8
[5] LC_MONETARY=en_ZA.UTF-8 LC_MESSAGES=en_ZA.UTF-8
[7] LC_PAPER=en_ZA.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_ZA.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached):
[1] compiler_4.1.2 tools_4.1.2

System Information

sysname : Linux
release : 5.16.9-arch1-1
version : #1 SMP PREEMPT Fri, 11 Feb 2022 22:42:06 +0000
nodename : my_pc_name
machine : x86_64
login : my_username
user : my_username
effective_user : my_username

Platform Information

OS.type : unix
file.sep : /
dynlib.ext : .so
GUI : X11
endian : little
pkgType : source
path.sep : :
r_arch :

Environment Variables

_CE_CONDA :
_CE_M :
CLICOLOR_FORCE : 1
COLORFGBG : 15;0
COLORTERM : truecolor
CONDA_EXE : /home/my_username/miniconda3/bin/conda
CONDA_PYTHON_EXE : /home/my_username/miniconda3/bin/python
CONDA_SHLVL : 0
CUDA_PATH : /opt/cuda
DBUS_SESSION_BUS_ADDRESS : unix:path=/run/user/1000/bus
DESKTOP_SESSION : lxqt
DISPLAY : :0
DOTNET_BUNDLE_EXTRACT_BASE_DIR : /home/my_username/.cache/dotnet_bundle_extract
DOTNET_ROOT : /usr/share/dotnet
EDITOR : vi
FUNCNEST : 100
GIT_ASKPASS : rpostback-askpass
GTK_CSD : 0
GTK_MODULES : canberra-gtk-module:appmenu-gtk-module
GTK_OVERLAY_SCROLLING : 0
HOME : /home/my_username
KDEDIRS : /usr
LANG : en_ZA.UTF-8
LANGUAGE :
LC_ADDRESS : en_ZA.UTF-8
LC_IDENTIFICATION : en_ZA.UTF-8
LC_MEASUREMENT : en_ZA.UTF-8
LC_MONETARY : en_ZA.UTF-8
LC_NAME : en_ZA.UTF-8
LC_NUMERIC : en_ZA.UTF-8
LC_PAPER : en_ZA.UTF-8
LC_TELEPHONE : en_ZA.UTF-8
LC_TIME : en_ZA.UTF-8
LD_LIBRARY_PATH : /usr/lib64/R/lib:/lib:/usr/lib/jvm/java-17-openjdk/lib/server
LN_S : ln -s
LOGNAME : *** redacted ***
LV2_PATH : /home/my_username/.vst
LXQT_SESSION_CONFIG : session
MAIL : /var/spool/mail/my_username
MAKE : make
MATHEMATICA_HOME : /usr/local/Wolfram/WolframEngine/13.0
MOTD_SHOWN : pam
MOZ_PLUGIN_PATH : /usr/lib/mozilla/plugins
PAGER : /usr/bin/less
PATH : /home/my_username/miniconda3/condabin:/home/my_username/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/opt/cuda/nsight_compute:/opt/cuda/nsight_systems/bin:/home/my_username/.dotnet/tools:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/my_username/scripts:/home/my_username/.local/bin:/home/my_username/go/bin:/home/my_username/Android/Sdk/platform-tools:/home/my_username/Android/Sdk/emulator:/usr/lib/rstudio/bin/postback
PWD : *** redacted ***
PYTHONIOENCODING : utf-8
QT_DIR : /usr/lib/rstudio
QT_PLATFORM_PLUGIN : lxqt
QT_PLUGIN_PATH : /usr/lib/rstudio/plugins
QT_QPA_PLATFORM_PLUGIN_PATH : /usr/lib/rstudio/plugins/platforms
QT_QPA_PLATFORMTHEME : lxqt
R_BROWSER :
R_BZIPCMD : /usr/bin/bzip2
R_DOC_DIR : /usr/share/doc/R/
R_GZIPCMD : /usr/bin/gzip
R_HOME : /usr/lib64/R
R_INCLUDE_DIR : /usr/include/R/
R_LIBS_SITE :
R_LIBS_USER : ~/R/x86_64-pc-linux-gnu-library/4.1
R_PAPERSIZE : letter
R_PDFVIEWER :
R_PLATFORM : x86_64-pc-linux-gnu
R_PRINTCMD :
R_RD4PDF : times,hyper
R_SESSION_TMPDIR : /tmp/RtmpRwRZoL
R_SHARE_DIR : /usr/share/R/
R_STRIP_SHARED_LIB : strip --strip-unneeded
R_STRIP_STATIC_LIB : strip --strip-debug
R_SYSTEM_ABI : linux,gcc,gxx,gfortran,gfortran
R_TEXI2DVICMD : /usr/bin/texi2dvi
R_UNZIPCMD : /usr/bin/unzip
R_ZIPCMD : /usr/bin/zip
RMARKDOWN_MATHJAX_PATH : /usr/lib/rstudio/resources/mathjax-27
RS_PPM_FD_READ : 25
RS_PPM_FD_WRITE : 26
RS_RPOSTBACK_PATH : /usr/lib/rstudio/bin/rpostback
RS_SHARED_SECRET : *** redacted ***
RSTUDIO : 1
RSTUDIO_CONSOLE_COLOR : 256
RSTUDIO_CONSOLE_WIDTH : 80
RSTUDIO_PANDOC : /usr/lib/rstudio/bin/pandoc
RSTUDIO_PROGRAM_MODE : desktop
RSTUDIO_SESSION_PORT : 20428
RSTUDIO_USER_IDENTITY : my_username
RSTUDIO_WINUTILS : bin/winutils
SED : /usr/bin/sed
SHELL : /bin/bash
SHLVL : 1
TAR : /usr/bin/tar
TERM : xterm-256color
UBUNTU_MENUPROXY : 1
USER : my_username
WINDOWID : 0
XAUTHORITY : /home/my_username/.Xauthority
XDG_CACHE_HOME : /home/my_username/.cache
XDG_CONFIG_DIRS : /etc:/etc/xdg:/usr/share
XDG_CONFIG_HOME : /home/my_username/.config
XDG_CURRENT_DESKTOP : LXQt
XDG_DATA_DIRS : /home/my_username/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
XDG_DATA_HOME : /home/my_username/.local/share
XDG_MENU_PREFIX : lxqt-
XDG_RUNTIME_DIR : /run/user/1000
XDG_SEAT : seat0
XDG_SEAT_PATH : /org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS : user
XDG_SESSION_DESKTOP : LXQt
XDG_SESSION_ID : 1
XDG_SESSION_PATH : /org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE : x11
XDG_VTNR : 1

R Version

platform : x86_64-pc-linux-gnu
arch : x86_64
os : linux-gnu
system : x86_64, linux-gnu
status :
major : 4
minor : 1.2
year : 2021
month : 11
day : 01
svn rev : 81115
language : R
version.string : R version 4.1.2 (2021-11-01)
nickname : Bird Hippie

R Home

/usr/lib64/R

R Search Path

.GlobalEnv
tools:rstudio
package:stats
package:graphics
package:grDevices
package:utils
package:datasets
package:methods
Autoloads
package:base

R Library Paths

/home/my_username/R/x86_64-pc-linux-gnu-library/4.1
/usr/lib/R/library

Loaded Packages

compiler : /usr/lib/R/library/compiler
datasets : /usr/lib/R/library/datasets
graphics : /usr/lib/R/library/graphics
grDevices : /usr/lib/R/library/grDevices
methods : /usr/lib/R/library/methods
stats : /usr/lib/R/library/stats
tools : /usr/lib/R/library/tools
utils : /usr/lib/R/library/utils
base : /usr/lib64/R/library/base

Installed Packages

              Package                                        LibPath     Version

1 abind /home/my_username/R/x86_64-pc-linux-gnu-library/4.1 1.4-5
...
610 utils /usr/lib/R/library 4.1.2

R System Profile: /usr/lib64/R/library/base/R/Rprofile

This is the system Rprofile file. It is always run on startup.

Additional commands can be placed in site or user Rprofile files

(see ?Rprofile).

Copyright (C) 1995-2020 The R Core Team

Notice that it is a bad idea to use this file as a template for

personal startup files, since things will be executed twice and in

the wrong environment (user profiles are run in .GlobalEnv).

.GlobalEnv <- globalenv()
attach(NULL, name = "Autoloads")
.AutoloadEnv <- as.environment(2)
assign(".Autoloaded", NULL, envir = .AutoloadEnv)
T <- TRUE
F <- FALSE
R.version <- structure(R.Version(), class = "simple.list")
version <- R.version # for S compatibility

for backwards compatibility only

R.version.string <- R.version$version.string

NOTA BENE: options() for non-base package functionality are in places like

--------- ../utils/R/zzz.R

options(keep.source = interactive())
options(warn = 0)

options(repos = c(CRAN="@CRAN@"))

options(BIOC = "http://www.bioconductor.org")

setting from an env variable added in 4.0.2

local({to <- as.integer(Sys.getenv("R_DEFAULT_INTERNET_TIMEOUT", 60))
if (is.na(to) || to <= 0) to <- 60L
options(timeout = to)
})
options(encoding = "native.enc")
options(show.error.messages = TRUE)

keep in sync with PrintDefaults() in ../../main/print.c :

options(scipen = 0)
options(max.print = 99999)# max. #{entries} in internal printMatrix()
options(add.smooth = TRUE)# currently only used in 'plot.lm'

if(isFALSE(as.logical(Sys.getenv("R_OPTIONS_STRINGS_AS_FACTORS",
"FALSE")))) {
options(stringsAsFactors = FALSE)
} else {
options(stringsAsFactors = TRUE)
}

if(!interactive() && is.null(getOption("showErrorCalls")))
options(showErrorCalls = TRUE)

local({dp <- Sys.getenv("R_DEFAULT_PACKAGES")
if(identical(dp, "")) ## it fact methods is done first
dp <- c("datasets", "utils", "grDevices", "graphics",
"stats", "methods")
else if(identical(dp, "NULL")) dp <- character(0)
else dp <- strsplit(dp, ",")[[1]]
dp <- sub("[[:blank:]]*([[:alnum:]]+)", "\1", dp) # strip whitespace
options(defaultPackages = dp)
})

Expand R_LIBS_* environment variables.

Sys.setenv(R_LIBS_SITE =
.expand_R_libs_env_var(Sys.getenv("R_LIBS_SITE")))
Sys.setenv(R_LIBS_USER =
.expand_R_libs_env_var(Sys.getenv("R_LIBS_USER")))

local({
if(nzchar(tl <- Sys.getenv("R_SESSION_TIME_LIMIT_CPU")))
setSessionTimeLimit(cpu = tl)
if(nzchar(tl <- Sys.getenv("R_SESSION_TIME_LIMIT_ELAPSED")))
setSessionTimeLimit(elapsed = tl)
})

.First.sys <- function()
{
for(pkg in getOption("defaultPackages")) {
res <- require(pkg, quietly = TRUE, warn.conflicts = FALSE,
character.only = TRUE)
if(!res)
warning(gettextf('package %s in options("defaultPackages") was not found', sQuote(pkg)),
call. = FALSE, domain = NA)
}
}

called at C level in the startup process prior to .First.sys

.OptRequireMethods <- function()
{
pkg <- "methods" # done this way to avoid R CMD check warning
if(pkg %in% getOption("defaultPackages"))
if(!require(pkg, quietly = TRUE, warn.conflicts = FALSE,
character.only = TRUE))
warning('package "methods" in options("defaultPackages") was not found',
call. = FALSE)
}

if(nzchar(Sys.getenv("R_BATCH"))) {
.Last.sys <- function()
{
cat("> proc.time()\n")
print(proc.time())
}
## avoid passing on to spawned R processes
## A system has been reported without Sys.unsetenv, so try this
try(Sys.setenv(R_BATCH=""))
}

local({
if(nzchar(rv <- Sys.getenv("R_RNG_VERSION")))
suppressWarnings(RNGversion(rv))
})

.sys.timezone <- NA_character_
.First <- NULL
.Last <- NULL
###-- R -- Unix Specific ----

.Library <- file.path(R.home(), "library")
.Library.site <- Sys.getenv("R_LIBS_SITE")
.Library.site <- if(!nzchar(.Library.site)) file.path(R.home(), "site-library") else unlist(strsplit(.Library.site, ":"))
.Library.site <- .Library.site[file.exists(.Library.site)]

invisible(.libPaths(c(unlist(strsplit(Sys.getenv("R_LIBS"), ":")),
unlist(strsplit(Sys.getenv("R_LIBS_USER"), ":")
))))
local({
popath <- Sys.getenv("R_TRANSLATIONS", "")
if(!nzchar(popath)) {
paths <- file.path(.libPaths(), "translations", "DESCRIPTION")
popath <- dirname(paths[file.exists(paths)][1])
}
bindtextdomain("R", popath)
bindtextdomain("R-base", popath)
assign(".popath", popath, .BaseNamespaceEnv)
})
local({

we distinguish between R_PAPERSIZE as set by the user and by configure

papersize <- Sys.getenv("R_PAPERSIZE_USER")
if(!nchar(papersize)) {
lcpaper <- Sys.getlocale("LC_PAPER") # might be null: OK as nchar is 0
papersize <- if(nchar(lcpaper))
if(length(grep("(_US|_CA)", lcpaper))) "letter" else "a4"
else Sys.getenv("R_PAPERSIZE")
}
options(papersize = papersize,
printcmd = Sys.getenv("R_PRINTCMD"),
dvipscmd = Sys.getenv("DVIPS", "dvips"),
texi2dvi = Sys.getenv("R_TEXI2DVICMD"),
browser = Sys.getenv("R_BROWSER"),
pager = file.path(R.home(), "bin", "pager"),
pdfviewer = Sys.getenv("R_PDFVIEWER"),
useFancyQuotes = TRUE)
})

non standard settings for the R.app GUI of the macOS port

if(.Platform$GUI == "AQUA") {
## this is set to let RAqua use both X11 device and X11/TclTk
if (Sys.getenv("DISPLAY") == "")
Sys.setenv("DISPLAY" = ":0")

## this is to allow gfortran compiler to work
Sys.setenv("PATH" = paste(Sys.getenv("PATH"),":/usr/local/bin",sep = ""))

}## end "Aqua"

de-dupe the environment on macOS (bug in Yosemite which affects things like PATH)

if (grepl("^darwin", R.version$os)) local({
## we have to de-dupe one at a time and re-check since the bug affects how
## environment modifications propagate
while(length(dupes <- names(Sys.getenv())[table(names(Sys.getenv())) > 1])) {
env <- dupes[1]
value <- Sys.getenv(env)
Sys.unsetenv(env) ## removes the dupes, good
.Internal(Sys.setenv(env, value)) ## wrapper requries named vector, a pain, hence internal
}
})

local({
tests_startup <- Sys.getenv("R_TESTS")
if(nzchar(tests_startup)) source(tests_startup)
})

R Site Profile: /usr/lib64/R/etc/Rprofile.site

(File does not exist)

R User Profile: /home/my_username/.Rprofile

(File does not exist)

R Site Environ: /usr/lib64/R/etc/Renviron.site

(File does not exist)

R User Environ: /home/my_username/.Renviron

(File does not exist)

R Temporary Directory

/tmp/RtmpRwRZoL

Files in R Temporary Directory

rs-graphics-5d5b92ea-3115-4218-91b8-f8cc483555ae

Log file: /home/my_username/.local/share/rstudio/log/rdesktop.log

(Not Found)

Log file: /home/my_username/.local/share/rstudio/log/rsession-my_username.log

2022-02-15T10:40:29.010314Z [rsession-my_username] ERROR Parent terminated; LOGGED FROM: void {anonymous}::detectParentTermination() src/cpp/session/SessionMain.cpp:1431 # NOTE THAT THE ERROR MESSAGE IS FROM WHEN I KILL THE RSTUDIO PROCESS.

User prefs: /home/my_username/.config/rstudio/rstudio-prefs.json

{}

System prefs: /etc:/etc/xdg:/usr/share/rstudio/rstudio-prefs.json

(Not Found)

User state: /home/my_username/.local/share/rstudio/rstudio-desktop.json

{
"context_id": "A8CA201B",
"error_handler_type": "traceback"
}

I also had a similar issue. I ended up adding a repository with weekly build

https://gitlab.com/aur1/rstudio

I then installed the newly built rstudio-desktop.

Let me know if it solved the problem for you too.
Thanks

1 Like

I have the same issue on EndeavourOS.
I have tried rstudio-desktop-preview-bin on AUR instead of the stable version, but it didn't fix the problem.

But the method posted by @dickoah works. Thanks.

1 Like

I suspect that there might have been an update to Electron that caused this. For now, I've disabled sandboxing. In order to have RStudio launch without sandboxing from the command line, I added the following line to .bashrc :
export RSTUDIO_CHROMIUM_ARGUMENTS="--no-sandbox"

In order to launch RStudio without sandboxing from desktop environments, filemanagers, etc, I had to edit /usr/share/applications/rstudio.desktop. I changed the line:
Exec=/usr/bin/rstudio-bin %f
to
Exec=bash -c "/usr/bin/rstudio-bin %f --no-sandbox"

Of course, I'll have to give @dickoah's solution a try since disabling sandboxing doesn't sound like a smart thing to do.

1 Like

I have exactly the same issue on Kubuntu. Disabling sandboxing works, but I agree it sounds like a bad idea in the long run.
Can't get the method posted by @dickoah to work, at least not with that repository. Any others worth trying?

@devnulljp That solution is specific to Arch-based Linux distributions. So, that repo won't work on Ubuntu. Or rather, you can't use apt-get to install from that repo since it does not provide a Debian package. I strongly suspect that this bug is being caused by an update to Electron/Chromium.

Edit: I edited my response in order to clarify that you can't install with apt-get since it is not deb package.

Unfortunately, on my system, installing RStudio from that repo fails. I also can't make heads or tails from the compilation errors. I suspect that the PKGBUILD might be missing some dependency.

My workaround is also not ideal. Updates to RStudio overwrites the rstudio.desktop file. I discovered this after reinstalling RStudio. I've never done this before, but I guess I could use pacman hooks to update the rstudio.desktop file after any update to RStudio. This just seems like such a pain.

There is an open issue on Github that appears to be related to this problem:
https://github.com/rstudio/rstudio/issues/9854
I have commented on it to highlight the fact that this does not only affect Ubuntu.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.