질문

질문

질문

안녕하세요, 저는 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`
    

관련 정보