질문
안녕하세요, 저는 FreeBSD를 처음 접했고 UNIX 시스템을 처음 접했습니다. 나는 FreeBSD 매뉴얼을 읽고 있는데 지금까지는 마음에 듭니다. 내 목표는 Wayland에 강 타일링 창 관리자를 설치하는 것입니다. 문제가 발생했는데 설명서에서 읽은 내용에 따르면 이 문제가 다음에서 발생한다고 생각됩니다.다른 Wayland 신디사이저도 마찬가지입니다. 한마디로 문제는 XDG_RUNTIME_DIR
무효/불인정이다.
추가 정보 및 내가 취한 조치
하드웨어:
- 레노버 씽크패드 T480s
- 8세대 인텔 코어 i7
- 울트라 HD 그래픽 620
- 24GB RAM
소프트웨어:
- FreeBSD 13.1 출시
- 웨이랜드 1.21.0
- River 0.2.4 (최신 포트 브랜치에서 바이너리로 설치)
지금까지 내가 취한 조치는 다음과 같습니다.매뉴얼의 Wayland 섹션:
- 비디오 그룹에 사용자 추가:
# pw groupmod video -m myUsername
- Wayland 및 좌석 관리 데몬 설치:
# pkg install wayland seatd
- 에 추가
.shrc
:XDG_RUNTIME_DIR=/var/run/user/`id -u` 내보내기 - 적절한 그래픽 드라이버를 설치합니다:
# pkg install drm-kmod
/etc/rc.conf
그런 다음, 다음 명령을 실행하여 파일에 모듈을 추가합니다.# sysrc kld_list+=i915kms
- 신디사이저를 설치했습니다.
# pkg install river
seatd
시스템 서비스를 활성화하고 실행합니다.# sysrc seatd_enable=”YES”
# service seatd start
- 복사됨posix 쉘의 구성 예도착하다:
~/.config/river/init
- Riverwm 시작:
# river
실수
오류 출력은 다음과 같습니다.
info(wlroots): [wayland] error: XDG_RUNTIME_DIR is invalid or not set in the environment
분명히 문제는 XDG_RUNTIME_DIR
인식 부족으로 귀결됩니다. 다음에 무엇을 해야할지 모르겠습니다. 이에 대한 매뉴얼의 내용은 다음과 같습니다.
XDG_RUNTIME_DIR
대부분의 신디사이저가 디렉터리에서 구성 파일을 검색한다는 점은 주목할 가치가 있습니다 . 여기에 포함된 예제에서는~/.config
임시 파일과 구성 파일을 구분하는 매개 변수를 사용하여 구성 파일을 지정합니다. 특정 구성 파일을 로드하려면 각 신디사이저의 별칭을 구성하는 것이 좋습니다.
그러나 River의 문서에서는 River가 구성 파일을 얻는 위치를 설명합니다.
$XDG_CONFIG_HOME/river/init
시작 시 River는 실행 파일이 있으면 실행합니다.$XDG_CONFIG_HOME
설정하지 않으면 사용~/.config/river/init
됩니다.
질문
하나를 만들어야 합니까 XDG_RUNTIME_DIR
? 내 경로를 정의했지만 .shrc
내 /var/run/user
시스템에는 존재하지 않습니다. 생성해야 하는 경우 특정 파일로 채워야 합니까? Welland는 분명히 그것이 시작되기를 고대하고 있습니다. River는 오류가 없다고 보고했습니다.
어떤 도움이라도 대단히 감사하겠습니다! 누군가가 나에게 올바른 방향을 알려주거나 시스템에 대한 나의 이해의 격차를 메울 수 있기를 바랍니다. 해결책을 얻는 것도 좋습니다! :)
답변1
River 제작자와 다른 훌륭한 사용자들로부터 도움을 받을 수 있었습니다.irc.libera.chat의 #river 채널.
해결책
유일한 요구 사항 XDG_RUNTIME_DIR
은 해당 파일이 존재하고 700개의 권한을 가진 사용자가 소유해야 한다는 것입니다.
다시 말해서:
/var/run/user/
사용자 ID로 이름 이 지정된 디렉터리를 만듭니다. 제 경우에는1001
(의 출력 ) 입니다id -u
. 당연히user
디렉토리가 존재하지 않으면 먼저 생성됩니다.- 일단
/var/run/user/yourUserId
존재하면 사용자가 소유자이고 권한이 다음과 같이 설정되어 있는지 확인하십시오700
(사용자는 할 수rwx
있고 다른 사람은 다른 권한을 갖지 않음).# chown yourUsername /var/run/user/yourUserId
# chmod 700 /var/run/user/yourUserId
- 셸의 rc 파일(예: .shrc, .bashrc)에 다음 콘텐츠를 추가합니다.
export XDG_RUNTIME_DIR=/var/run/user/`id -u`