
읽기 및 절전(with openvt -w
)이 모두 실행되지만( read -p
메시지가 표시됨) 부팅을 일시 중지하지 못합니다.
나는 다음에서 다양한 옵션 조합을 시도했습니다 /etc/systemd/system/<service>
.
Type=oneshot
TimeoutSec=5000
StandardInput=tty
사용 사례는 서비스 스크립트 실행이 중지된 후에만 GUI를 로드하는 것입니다. GUI가 로드되고 /home을 로컬 파티션(기본값)으로 "고정"하기 전에 선택적으로 sshfs(여러 사용자 및 호스트 이름 옵션도 포함)를 /home으로 마운트해야 합니다.
답변1
"부팅 일시 중지"는 systemd에 정확하게 적용되지 않습니다. systemd는 여러 서비스를 병렬로 실행합니다.
그러나 서비스에 "종속성"을 추가하면 "부팅을 일시 중지해야 하는" 시점을 지정하고 서비스를 기다릴 수 있습니다.
위 사용 사례의 경우 다음을 추가하세요 /etc/systemd/system/<service>
.
[Unit]
Description=commands to run before GUI loads
Before=display-manager.service
이렇게 하면 강제 display-manager.service
로 <service>
. 나의 경우에는,<service>
내 경우사용자 입력(연결되지 않은 독자의 경우) 효과적으로 "부팅을 일시 중지"합니다.
회의론을 표현한 다른 댓글 작성자에 대한 아래 댓글도 있습니다.
이런 종류의 사용 사례가 있습니다. 즉, 암호화된 파티션을 잠금 해제하는 것입니다. systemd의 버그(bugs.freedesktop.org/show_bug.cgi?id=88483)로 인해 기본 systemd 메커니즘을 사용하여 부팅하는 동안 암호화된 다중 장치 Btrfs 배열을 잠금 해제할 수 없습니다. 자신만의 시스템 서비스 파일을 만들어야 하며 이 답변에는 몇 시간 동안 시도한 후에 내 서비스 파일에 필요한 비트가 누락되었습니다. 고마워요.