Score:1

How can I log in and run a bash file at boot?

ธง cn

I got myself a minecraft server that turns on and off on specific hours but I don't want to type the commands every time it should start playing and let it run those commands after boot. I found an old askubuntu thread (for 12.04) where this is handled and let it run as root. But for security reasons, I don't want it to run as root. I would like to still be able to type in commands to like stop the server, so it cannot run my bash script somewhere hidden.

waltinator avatar
it flag
อ่าน `man 5 crontab` และใช้ฟิลด์วันที่พิเศษ `@reboot`
bac0n avatar
cn flag
ฟังดูเหมือนคุณต้องการสคริปต์ [startup](https://askubuntu.com/a/1089789/986805) ธรรมดา ซึ่งควรใช้เป็นเทมเพลตโดยมี `Group=`, `User=` [คำสั่ง](https:/ /manpages.ubuntu.com/manpages/focal/man5/systemd.exec.5.html) คุณอาจระบุผู้ใช้กลุ่มอื่น (ฉันจะแนะนำ `/usr/local/lib/systemd/system` แทน `/etc /systemd/ระบบ`).
Score:1
ธง cn

คุณสามารถลองใช้รายการ crontab สำหรับผู้ใช้ของคุณ

คำสั่งในการรันคำสั่ง att boot คือ "@reboot"

ตัวอย่างรายการ crontab:

@reboot cd /home && sh ./myscript.sh
Irsu85 avatar
cn flag
และ... ฉันจะตั้งค่ารายการ crontab นั้นได้อย่างไร
Level9 avatar
cn flag
รันคำสั่ง `crontab -e`
Irsu85 avatar
cn flag
ขอบคุณครับ พรุ่งนี้จะลองทำดูครับ
bac0n avatar
cn flag
การจัดเก็บสคริปต์ใน `/home` ไม่ใช่เรื่องปกติ (หรือแนะนำ) นอกจากนี้ยังควรใช้เส้นทางแบบเต็มไปยังคำสั่งของคุณ การระบุเชลล์บนบรรทัดคำสั่ง `/bin/sh script.sh` จะส่ง *interpret directive* `#!` เป็นความคิดเห็นปกติแทนตัวแปล *specified* และหากแตกต่างกันอาจทำให้ฟีเจอร์ไม่สอดคล้องกัน
Irsu85 avatar
cn flag
สคริปต์ของฉันไม่ได้อยู่ในบ้าน แต่อยู่ใน /home/myUserName/survival
Irsu85 avatar
cn flag
ดูเหมือนจะไม่ทำงาน แต่สิ่งนี้ทำให้ฉันมีความคิดเกี่ยวกับสิ่งที่ฉันกำลังค้นหา ขอบคุณ
Irsu85 avatar
cn flag
อัปเดต ฉันได้ค้นคว้าเพิ่มเติมแล้วและดูเหมือนว่าฉันใช้คำสั่งผิด...
Score:0
ธง tr

ในการเรียกใช้คำสั่งโดยอัตโนมัติทุกครั้งที่ระบบบูท:

  • ค้นหา "แอปพลิเคชันเริ่มต้น" ในเส้นประแล้วเปิด

  • คลิกเพิ่มสำหรับชื่อให้ใส่ "เริ่มเซิร์ฟเวอร์ Minecraft" และภายใต้ "คำสั่ง" ให้ใส่คำสั่งของคุณที่ใช้เพื่อเริ่มเซิร์ฟเวอร์ Minecraft ของคุณ

  • กดเพิ่มและตอนนี้สคริปต์ควรทำงานเมื่อรีสตาร์ท/เริ่มต้น

สนุก!

jp flag
Dan
หากการติดตั้ง Ubuntu ใช้เวอร์ชันเซิร์ฟเวอร์แทนเวอร์ชันเดสก์ท็อป จะไม่สามารถทำได้เนื่องจากไม่มีวิธีเข้าถึงโปรแกรม GUI แม้ว่าสำหรับกรณีเหล่านี้ ฉันจะแนะนำหน่วย systemd ตามที่แนะนำโดยความคิดเห็น @bac0n ด้านบน เนื่องจากคุณมักจะต้องการการควบคุมที่ง่ายกว่าเพื่อหยุดและรีสตาร์ทซอฟต์แวร์ดังกล่าว
jackw11111 avatar
tr flag
อา บ้าไปแล้ว ฉันแค่คิดว่าฉันจะแบ่งปันวิธีนี้เป็นทางเลือกที่ไม่ค่อยเข้าใจการเขียนโปรแกรม
jp flag
Dan
ฉันไม่ได้หมายความว่าเป็นคำตอบที่ผิด จะบ่นหรืออะไรทำนองนั้น ขออภัยหากฟังดูเหมือน! คำตอบคือดีอย่างแน่นอน แต่ฉันแค่อยากจะพูดถึงมันเป็น "ข้อจำกัดความรับผิดชอบ" สำหรับกรณีเฉพาะนี้
jackw11111 avatar
tr flag
@แดน ดีมาก มันเป็นจุดดีที่ฉันไม่ได้พิจารณา ขอบคุณ! :)
Irsu85 avatar
cn flag
ฉันชอบแนวคิดนี้ แต่ฉันไม่สามารถเข้าถึง GUI ได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา