2009-12-17 2 views
2

나는 리눅스에 삽입 된 USB 스틱을 자동으로 마운트 할 유틸리티를 개발 중이다. 나는 D-Bus에 장치가 삽입되었을 때 알림을 받기 위해 묶었습니다. 그러나 삽입 된 USB 스틱에 매핑 된/dev에있는 장치를 확인해야합니다. D 버스 알림을 받고 USB 시스템에 pyUSB (0.4)를 스캔합니다. USB_MASS_STORAGE_DEVICE 클래스를 필터링하고 추가 또는 제거 된 기기를 볼 수 있습니다. 이 장치를 마운트하여 사용 가능한 공간을 쿼리하고 응용 프로그램에보고하여 충분한 여유 공간이 있는지 확인하여 데이터를 쓸 수 있도록해야합니다.리눅스 USB 매핑 질문

저는이 작업을 위해 python을 사용하고 있습니다. 우리의 목표물 배포판이 무엇인지 알지 못하지만 단지 적어도 2.6이 될 것입니다.

편집 : 제 질문은/dev에있는 어떤 장치가 pyUSB에서 얻은 buss 장치 번호에 매핑되는지 어떻게 결정합니까? .

+0

는 어떻게 교체 않았다 내장 리눅스는 USB 스틱이 삽입 될 때 일어나는 동작을 마운트 :

여기에 새로운 USB 장치의 통지와 함께 장치 파일 이름을 얻는 방법의 좋은 예입니다? –

답변

0

왜 파일 시스템 마운트 "OS" 모듈을 사용

os.system ("mount ... ") 

을 아니면 "는 popen"출력 사용을 검사 할 경우 :

l = op.popen ("mount ....").readlines() 
+0

일단 내가 무엇을 마운트해야할지 알 것입니다. 즉, mount의 첫 번째 인수는 장치입니다. 그게 내가 알아 내려고하는거야. – Therealstubot

0

무엇 dmesg 출력을 사용하는 방법에 대한 장치 이름을 찾으려면 (sdc1 등 ...)

dbus가 당신에게 뭔가를 말한 후에 바로 사용하십시오. USB에 삽입되었습니다. . 당신은 할 수있다 tail dmesg 예를 들면

+0

"원 자성"이 부족하기 때문에이 솔루션이 마음에 들지 않았습니다. 이것이 나를 결코 행복하게하지는 못하지만, 이것은 최후의 수단으로 작용할 것입니다. – Therealstubot

+0

다른 방식으로 듣는 것만 큼 다르지 않습니다. 이 또한 듣고 그냥 문자열을 확인합니다. – dusoft