私はアーチLinuxを使用しています。
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
。
それで、これはあなたの鎖が壊れる場所です。