저는 아치 리눅스를 사용합니다.
SSDM을 디스플레이 관리자로 사용하고 있지만 다음을 통해 비활성화했습니다.
sudo systemctl disable sddm
이 파일을 가져올 때 에코 되도록 코드를 /etc/profile
에 넣었습니다.$HOME/.bash_profile
$HOME/.bashrc
내 $HOME/.bash_profile
것이 소싱 중입니다 $HOME/.bashrc
(이와 같이 이런 일이 발생하면 에코할 코드를 추가했습니다).
if [[ -f ~/.bashrc ]]; then
echo "$HOME/.bash_profile is sourcing $HOME/.bashrc"
. ~/.bashrc
fi
다음 변수를 내보내고 있습니다 $HOME/.bashrc
.
export R_LIBS_USER='MY_VALUE'
컴퓨터를 시작합니다.
사용자 이름과 비밀번호를 묻는 프롬프트(TUI/명령줄)가 표시됩니다.
나는 그것들을 넣고 Enter를 쳤다.
/etc/profile
소스입니다.
$HOME/.bash_profile
소스입니다. 후자의 소스 $HOME/.bashrc
. 이는 R_LIBS_USER
내보내기가 진행 중임을 의미합니다.
프롬프트로 리디렉션됩니다.
나는 다음을 원한다:
sudo systemctl start ssdm
SSDM은 이 셸의 하위 항목이므로 R_LIBS_USER
.
SSDM이 열리고 Wayland KDE 세션이 시작됩니다.
이 세션은 SSDM의 하위 세션이므로 R_LIBS_USER
.
KDE에서 RStudio를 엽니다.
하지만 R_LIBS_USER
그것은 여전히 기본값이지 내가 하고 있는 일은 아닙니다 $HOME/.bashrc
.
다음 명령을 사용하여 R의 변수 값을 표시합니다.
Sys.getenv("R_LIBS_USER")
내 추론이 어디서 실패했나요?
답변1
SSDM은 이 쉘의 하위이므로
아니요, 그렇지 않습니다. 이는 init
지침에 따라 systemd(따라서 이전에 프로세스라고 불림)에 의해 시작됩니다 systemctl
.
그래서 이것이 당신의 사슬이 끊어지는 곳입니다.