minidlna가 클라이언트와의 연결을 닫는 이유는 무엇입니까?

minidlna가 클라이언트와의 연결을 닫는 이유는 무엇입니까?

운영 체제: NixOS 불안정한 애플리케이션:미니 식당

나는 데비안과 TV에서 minidlna를 성공적으로 사용하고 있습니다. 하지만 NixOS를 사용하는 데 문제가 있습니다.

내 NixOS 구성은 다음과 같습니다( /etc/nixos/configuration.nix).

#DLNA
services.minidlna.enable = true;
services.minidlna.settings = {
  friendly_name = "PCMEDIA";
  media_dir = ["V,/mnt/ORION/DLNA/"];
  log_level = "debug";
};

TV로 DLNA 서버에 연결하려고 할 때 기록되는 로그입니다.

$ sudo journalctl --unit minidlna -r
May 06 08:08:54 nixos minidlnad[40642]: EXT:
May 06 08:08:54 nixos minidlnad[40642]: Date: Sat, 06 May 2023 02:38:54 GMT
May 06 08:08:54 nixos minidlnad[40642]: Server: 5.15.93 DLNADOC/1.50 UPnP/1.0 MiniDLNA/1.3.1
May 06 08:08:54 nixos minidlnad[40642]: Content-Length: 2196
May 06 08:08:54 nixos minidlnad[40642]: Connection: close
May 06 08:08:54 nixos minidlnad[40642]: Content-Type: text/xml; charset="utf-8"
May 06 08:08:54 nixos minidlnad[40642]: upnphttp.c:1277: debug: HTTP RESPONSE: HTTP/1.1 200 OK
May 06 08:08:54 nixos minidlnad[40642]: 
May 06 08:08:54 nixos minidlnad[40642]: X-PANASONIC-DMP-Profile: MPEG_PS_PAL JPEG_SM PV_DIVX_DIV3 PV_DIVX_DIV4 PV_DIVX_DIVX PV_DIVX_DX50 PV_DRM_DIVX_DIV3 PV_DRM_DIVX_DIV4 PV_DRM_DIVX_DIVX P>
May 06 08:08:54 nixos minidlnad[40642]: X-PANASONIC-Registration: (hexadecimal number)
May 06 08:08:54 nixos minidlnad[40642]: Host: 192.168.1.180:8200
May 06 08:08:54 nixos minidlnad[40642]: User-Agent: Panasonic MIL DLNA CP UPnP/1.0 DLNADOC/1.50
May 06 08:08:54 nixos minidlnad[40642]: upnphttp.c:916: debug: HTTP REQUEST: GET /rootDesc.xml HTTP/1.1
May 06 08:08:54 nixos minidlnad[40642]: clients.c:357: debug: Client found in cache. [Panasonic/entry 0]
May 06 08:08:54 nixos minidlnad[40642]: minidlna.c:170: debug: HTTP connection from 192.168.1.184:58601
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:710: debug: SSDP M-SEARCH from 192.168.1.184:50051 ST: urn:schemas-upnp-org:device:MediaServer:2, MX: 1, MAN: "ssdp:discover"
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:710: debug: SSDP M-SEARCH from 192.168.1.184:50051 ST: urn:schemas-upnp-org:device:MediaServer:2, MX: 1, MAN: "ssdp:discover"
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:265: debug: Sending M-SEARCH response to 192.168.1.184:50050 ST: urn:schemas-upnp-org:device:MediaServer:
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:710: debug: SSDP M-SEARCH from 192.168.1.184:50050 ST: urn:schemas-upnp-org:device:MediaServer:1, MX: 1, MAN: "ssdp:discover"
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:265: debug: Sending M-SEARCH response to 192.168.1.184:50050 ST: urn:schemas-upnp-org:device:MediaServer:
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:710: debug: SSDP M-SEARCH from 192.168.1.184:50050 ST: urn:schemas-upnp-org:device:MediaServer:1, MX: 1, MAN: "ssdp:discover"
May 06 08:07:54 nixos minidlnad[40642]: <root xmlns="urn:schemas-upnp-org:device-1-0"><specVersion><major>1</major><minor>0</minor></specVersion><device><deviceType>urn:schemas-upnp-org:dev>
May 06 08:07:54 nixos minidlnad[40642]: <?xml version="1.0"?>

minidlna를 작동시키는 방법은 무엇입니까? 내 TV뿐만 아니라 VLC나 다른 DLNA 지원 애플리케이션에서도 작동하지 않습니다.

답변1

/mnt/ORION/DLNA/이름과 권한을 확인하려면 이와 같은 것을 사용하십시오 ls -ld /mnt/ORION/DLNA.

또한 대신

media_dir = ["V,/mnt/ORION/DLNA/"];

노력하다

media_dir = V,/mnt/ORION/DLNA

(괄호, 따옴표, 후행 슬래시가 없습니다.맨페이지), 그렇지 않으면 유효한 경로가 없어져 조기 종료의 원인이 될 수 있습니다.

답변2

minidlna지정된 '미디어 디렉터리'에 액세스할 수 없습니다. NixOS는 minidlna사용자로 실행됩니다 minidlna. 따라서 해당 사용자는 minidlna미디어 디렉터리의 지정된 위치에 액세스할 수 있는 사용자 그룹에 추가되어야 합니다.

/etc/nixos/configuration.nix:

services.minidlna.enable = true;
services.minidlna.settings = {
  friendly_name = "Movies";
  media_dir = ["V,/mnt/ORION/DLNA/"];

  # so changes in media dirs are updates in the server listing
  # also make sure "inotify-tools" packages is installed
  inotify = "yes"; 
  #log_level = "debug";
};

users.users.minidlna = {
  extraGroups = [ "users" ];
};

또한 시스템 사용자로 실행하려는 경우에는 지우기 또는 일반 사용자 minidlna로 실행해야 할 수도 있습니다 ./var/cache/minidlnadb_dir

관련 정보