
좋습니다. 간단한 질문이 있습니다. Live CD가 있는데 컴퓨터가 다시 시작되거나 중지될 때 CD를 꺼내고 싶습니다.
실행 후 CD가 잘 나옵니다 /usr/bin/eject -m
. 문제는 예상할 수 있듯이 이제 파일을 읽을 수 없기 때문에 OS가 충돌한다는 것입니다. 따라서 /sbin/reboot
액세스할 수 없기 때문에 재부팅이 발생하지 않습니다 . (재부팅하기 전에 해보았 reboot --help > /dev/null
으나 아직 읽을 수 없는 다른 파일들이 있습니다...)
어쨌든 팝업을 만들어야 할 것 같습니다.마지막 한가지그런 일이 일어날 것입니다. 이게 내가 가지고 놀아야 할 강아지인 것 같은데 systemd
...낭비한 게 확실해시간나는 평생 동안 그것을 찌르고 찌르는 데 보냈고 내가 무엇을 했든 어떤 상황에서도 실제로 CD가 나오지 않았습니다. 이유는 모르겠습니다. 나는 그것을 이라고 부르는 다양한 방법을 시도했지만 eject
아무 일도 일어나지 않았습니다.
가장 쉬운 달리기 방법을 알려줄 수 있는 사람이 있나요 eject
? ( umount.target
나중에 해보는게 좋을 것 같아요 ...)
답변1
결국 내 동료는 다음 기사를 발견했습니다.
http://lists.freedesktop.org/archives/systemd-devel/2012-September/006573.html
/lib/systemd/system/eject.service
어쨌든, 나는 다음 을 포함하는 파일을 만들었습니다.
[Unit]
Description=Eject the DVD
Before=final.target
After=shutdown.target
DefaultDependencies=no
[Service]
Type=oneshot
ExecStart=/usr/bin/eject -m
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
[Install]
WantedBy=shutdown.target
systemctl enable eject.service
그러려면 아직 달려야 해요 .하다아무것. 하지만 이제는 systemd
내가 원했던 것처럼 종료 전에 CD가 배출됩니다.
...안타깝게도 운영 체제가 꺼낸 CD의 나머지 파일을 찾을 수 없으면 여전히 세그폴트가 발생합니다. 위의 파일을 조정해 보았습니다 After=unmount.target
.당신은 생각할 것이다파일 시스템을 마운트 해제한 후 스크립트를 실행합니다. 하지만 아니요, 여전히 세그폴트입니다.
부팅 시 Live CD 이미지를 RAM에 복사하는 방법을 알아내야 할 것 같습니다. 하지만 이는 완전히 다른 질문입니다...
답변2
다음 사항이 도움이 될 수 있습니다.
/etc/init.d/halt.local에 팝업 명령 추가
또한 /etc/init.d/sculpture 템플릿을 보고 이를 사용자 정의하여 시스템 종료, 아무 키를 눌러 CDROM 꺼내기 등과 같은 일부 출력을 추가할 수도 있습니다.
실행 레벨 디렉토리 /etc/rc0.d에 링크된 /etc/init.d에서 스크립트를 보십시오(일시 중지).
답변3
우분투를 사용할 수 있습니다eject -m; reboot -f
답변4
실행 권한이 있는 Eject.shutdown이라는 파일을 생성합니다./usr/lib/systemd/시스템 종료/.
#!/bin/sh
/usr/bin/eject -T
원천:시스템 종료 논리
또한보십시오:종료하기 전에 CD 꺼내기