มันขึ้นอยู่กับนิยามของคำว่า "booted" ของคุณ ฉันคิดว่าคุณต้องการให้มันทำงานทันทีหลังจากเริ่มเก็ตตี้ ในการทำเช่นนี้คุณจะต้องเพิ่มบริการของคุณลงใน/etc/systemd/system/getty.target.wants/
ไดเรกทอรี คุณควรตรวจสอบให้แน่ใจว่าไฟล์ของคุณใช้รหัสที่คล้ายคลึงกับบริการอื่น ๆ ในไดเรกทอรีนี้ หากต้องการเรียกใช้บริการที่กำหนดเองในการบูทและปิดเครื่อง (เพียงส่งเสียงบี๊บเมนบอร์ดของฉัน) ฉันใช้สคริปต์ต่อไปนี้ใน/etc/systemd/system/getty.target.wants/service_name.service
[Unit]
After=systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service
Before=getty.target
IgnoreOnIsolate=yes
[Service]
ExecStart=/usr/bin/myinitscript.sh start
ExecStop=/usr/bin/myinitscript.sh stop
Type=oneshot
RemainAfterExit=true
[Install]
WantedBy=basic.target
/usr/bin/myinitscript.sh
สามารถใช้งานได้และมี Shebang ตั้งแต่เริ่มต้น
โปรดทราบว่าไม่ใช่ทุกอย่างที่จะเริ่มต้นที่จุดนี้ในการบู๊ต แต่นี่คือจุดที่พร้อมท์การเข้าสู่ระบบปรากฏต่อผู้ใช้
แม้ว่าจะใช้Before=
และAfter=
มันก็เป็นที่เข้าใจและใช้งานได้จริงสำหรับฉัน ฉันไม่พบคำตอบที่ให้ข้อมูลเพียงพอ นอกจากนี้ยังช่วยให้คุณสามารถใช้ทั้งสองอย่างExecStart=
และExecStop=
แทนที่จะ จำกัด เฉพาะType=simple
บริการที่เหมือนกัน