만들려고 노력 중이야유딕스 접착제Raspbian Raspberry Pi에서 작업 중입니다. SSH를 통해 수동으로 시작하면 정상적으로 작동합니다 udisks-glue
. 그러나 부팅 시 자동으로 시작되도록 하고 싶습니다.
그러므로스크립트나를 위해 데몬을 시작 했습니다 /etc/init.d/udisks-glue
(지침에 따라).여기). 정상적으로 작동하지만 디스크가 drwx------
루트 권한( )으로 마운트되었습니다. pi
대신 이 스크립트가 사용자로 데몬을 시작하도록 할 수 있습니까 root
?
내가 시도한 것
1) 위 스크립트를 수정하고 교체하십시오.
DAEMON="/usr/bin/udisks-glue"
그리고
DAEMON="exec su - pi -c /usr/bin/udisks-glue"
이 실행이 실패했습니다.
2) 이 줄을 사용자 정의 스크립트에 대한 참조로 바꾸고 exec su - pi -c /usr/bin/udisks-glue
하드 드라이브를 연결하면 마운트되지 않습니다. 그러나 올바르게 실행되는 프로세스가 나타났습니다. 를 보면 (둘 다 루트로 실행 중) 수동으로 시작하면 위와 동일한 출력이 표시됩니다 ps aux | grep [u]disks
.udisks-glue
pi
udisks-daemon
ps
udisks-glue
3) 편집을 시도하고 /etc/rc.local
줄을 추가 했습니다.
su pi -c "/usr/bin/udisks-glue &"
udisks-glue
이는 로 실행되지만 pi
작동하지 않는 (2)와 동일한 결과를 갖습니다 .
4) 에 따르면이 페이지, 루트로 udisks-glue를 실행하되 모든 사람에게 설치 권한을 부여하십시오. 이는 FAT 파일 시스템에서 작동하지만 ext4도 마운트할 수 없습니다. ( pi
어쨌든 마운트를 사용자가 소유하기를 원합니다.)
답변1
나는 가지고있다같은 문제요전.
해결책:
구성을 수정하세요.
/etc/polkit-1/localauthority/50-local.d/50-mount-as-pi.pkla
다음 내용으로 파일을 만듭니다 .[Media mounting by pi] Identity=unix-user:pi Action=org.freedesktop.udisks.filesystem-mount ResultAny=yes
초기화 스크립트를 수정하세요.
실행하려는 사용자가 포함된 변수를 추가합니다
udisks-glue
.NAME=udisks-glue PIDFILE=/var/run/udisks.pid DAEMON="/usr/bin/udisks-glue" DAEMONUSER=pi <-- add this line
start-stop-daemon
변수를 사용하도록 호출을 수정합니다$DAEMONUSER
.start) log_daemon_msg "Starting Automounter" "$NAME" --> start-stop-daemon --start --exec $DAEMON --chuid $DAEMONUSER log_end_msg $? ;; stop) log_daemon_msg "Stopping Automounter" "$NAME" --> start-stop-daemon --stop --exec $DAEMON --user $DAEMONUSER log_end_msg $? rm -f $PIDFILE ;;
(참고:
-- -p $PIDFILE
첫 번째 호출에서 해당 부분을 제거했습니다. 일반 사용자 계정에는 쓰기 권한이 없을 수 있으므로/var/run
위에서 수행한 작업을 수행하거나$PIDFILE
변수를 일반 사용자가 쓸 수 있는 경로로 변경하면 됩니다.)
귀하가 취한 조치에 대한 의견:
이것은 작동하지 않습니다. 이 변수는 호출 시 매개변수
$DAEMON
로 사용됩니다 . 이 주장은--exec
start-stop-daemon
실행 가능 파일exec
, 그리고 동시에내장 케이스.그렇게 하면 초기화 스크립트가 손상됩니다. 이 방법으로 시작 하면 작동하지만 중지하는 것은 실제 데몬 프로세스( )를 중지하는
udisks-glue
것처럼 작동하지 않습니다 . 그 외에도 데몬 모드로 시작하면 디버그 메시지가 생성되지 않습니다. 대화형 셸에서 다음 명령을 실행하는 경우:start-stop-daemon
/path/to/your/helper/script.sh
/usr/bin/udisks-glue
udisks-glue
# su pi -c "/usr/bin/udisks-glue -f"
다음과 같은 내용이 표시될 수 있습니다.
Device file /dev/sdb1 inserted Trying to automount /dev/sdb1... Failed to automount /dev/sdb1: Not Authorized Device file /dev/sdb inserted
이는 드라이브가 마운트되지 않는 이유를 설명할 수 있습니다.
사실 2와 똑같습니다. 추가 참고 사항: 기본값은 데몬화
&
이므로 끝에 있는 앰퍼샌드( )는 중복됩니다 .udisks-glue
마찬가지로
udisks-glue
포그라운드에서 실행하면 FAT가 아닌 파일 시스템의 문제를 설명할 수 있습니다.Device file /dev/sdb1 inserted Trying to automount /dev/sdb1... Failed to automount /dev/sdb1: Mount option dmask=0 is not allowed Device file /dev/sdb inserted
또한 ext4 마운트 지점의 소유자를 변경하려면
chown
설치 후에 소유자를 변경해야 합니다.