2023. 5. 29. 15:00

윈도우에서 잘 쓰던 NFC 카드 라이브러리를 리눅스로 포팅했는데 다음과 같은 에러가 났습니다.

 

Unhandled exception. PCSC.Exceptions.NoServiceException: The Smart card resource manager is not running.

 

 

1. 원인

'PC/SC Smart Card Daemon'이 설치되 있지 않아서 나는 오류입니다.

(참고 : ubuntu manuals - pcscd.8 )

 

윈도우는 기본 설치되어 있지만 리눅스는 사용하는 이미지에 따라 다릅니다.

 

설치가 되어있는지 확인해 봅시다.

아래 명령어를 입력하면 설치된 버전이 나옵니다.

pcscd -v

 

설치가 돼있다면 아래 명령어로 데몬이 동작 중인지 확인할 수 있습니다.

sudo service pcscd status

 

설치가 되어 있는데 실행 중이 아니라면 아래 명령어로 데몬을 실행시킬 수 있습니다.

sudo service pcscd start

 

 

2. 설치하기

설치된 아래 명령어로 'PCSCD'를 설치해 줍니다.

(참고 : howtoinstall - How to install pcscd on Ubuntu )

sudo apt-get update
sudo apt-get install pcscd

 

이제 잘 찾습니다.

 

자동으로 데몬이 실행되지 않는 경우도 있습니다.

이런 경우 아래 명령어로 수동으로 켜주세요.

sudo service pcscd start

 

 

3. 'PCSCD' 자동 실행 설정

재부팅만 하면 자동으로 데몬이 올라오질 않습니다.

보통 데몬은 설치하면 자동 실행설정이 자동으로 되는데 이놈은 이상하게 안 올라오네요.

 

검색해 보니 버그라고 합니다.

참고 : Ubuntu pcsc-lite package Bugs - pcscd.socket is disabled after installation

 

해당 글의 #22 답변을 보면 아래 명령어를 통해 수동으로 자동 실행 설정을 할 수 있다고 합니다.

$ sudo systemctl enable pcscd
$ sudo systemctl enable pcscd.socket

 

저도 이 명령어를 사용하니 자동 실행이 됩니다.

 

 

마무리

이건 찾으면 바로 나오는 건데 정리해 둡니다.

 

그나저나 데몬이 안 올라오는 버그는 꽤 오래된 거 같은데 아직도 안 고쳐졌군요...