arch-linux
with xorg
및 을 사용하면 dwm
환경 변수가 전체 시스템에 적용되지 않는 것 같습니다. 예를 들어 NNN
파일 브라우저를 시작할 때수동 시작터미널 에뮬레이터( st
) 모두북마크를 사용할 수 있습니다(NNN은 환경 변수를 통해 설정을 로드합니다. 여기서는 .profile
파일 내부에 설정하고 .bashrc
파일에서 로드합니다.) 그러나 -keybind를 통해 NNN을 시작 dwm
하면북마크를 사용할 수 없습니다(!)(여기서 NNN은 st -e nnn
보다 정확한 방식, 즉 { "st", "-e", "nnn", NULL };
파일 내부를 통해 시작됩니다.) 따라서 이 경우에는 여기의 환경 변수가 로드되지 않은 것 같습니다.config.h
dwm
이유를 아시나요? 아니면 이 문제를 어떻게 해결해야 할까요?
.profile
파일 내용을 추가하도록 편집되었습니다 .
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
편집-2: 내부에 북마크 로딩 라인을 추가했습니다..bashrc
export NNN_BMS='h:~/;d:~/Documents/'
답변1
.profile
Bourne 기반 쉘(예: /bin/sh
및 bash
)로 읽습니다. 그러한 쉘이 시작되지 않으면 .profile
읽혀지지 않습니다. 쉘 dwm
없이 nnn
부팅하는 것 같습니다 st
.
환경 변수가 상위 프로세스(이 경우 dwm 및 모든 선행 항목)에 설정된 경우 생성된 모든 하위 프로세스에서 상속됩니다. X를 시작한 방법에 따라 이를 수행하는 방법은 여러 가지가 있습니다. 더 많은 맥락 없이 열거하기에는 너무 많지만 아마도 in ~/.xinitrc
또는 out 일 것입니다 ~/.xsession
.
또 다른 방법은 PAM을 사용하는 것입니다. 기본적으로 아치에서는 $HOME/.pam_environment
로그인할 때 읽고 NAME=VALUE
쌍을 넣을 수 있다고 생각합니다.