รันโปรแกรม python เมื่อเริ่มต้นระบบใน tty4


0

ฉันต้องการตั้งค่าโปรแกรมที่จะทำงานโดยอัตโนมัติใน tty4 (หากเป็นไปได้หากไม่สามารถเรียกใช้งานได้ใน tty อื่น ๆ ) เมื่อเริ่มต้นระบบ
สคริปต์ python ของฉันอยู่ที่ /home/vakus/main.py
ฉันไม่มี GUI คอนโซลเท่านั้น
ฉันไม่พบสิ่งใดที่สามารถแก้ปัญหาของฉันได้

ขอโทษสำหรับภาษาอังกฤษของฉัน


อูบุนตูรุ่นใด lsb_release -r
meuh

รุ่น Ubuntu 15.04
vakus

คุณใช้ systemd หรือพุ่งพรวด? ถ้า systemctl status พูดอะไรมากมายมันเป็น systemd ถ้า ps alx|grep upstart แสดงกระบวนการหลายอย่างที่มันพุ่งพรวด
meuh

มันไม่มี ps alx|grep upstartแต่มันมีคำหลายครั้ง systemd. ถ้าสิ่งนี้อาจช่วยให้ฉันใช้ virtualbox สำหรับ ubuntu
vakus

คำตอบ:


0

ฉันไม่มีอูบุนตูด้วย systemd แต่ฉันมี fedora 20 อยู่ด้วยดังนั้นฉัน สมมติว่าพวกเขามีความคล้ายคลึงกัน คุณอาจต้องเปลี่ยนชื่อไฟล์เล็กน้อย

ขั้นแรกให้สร้างไฟล์บริการ systemd คุณควรหาไฟล์ดังกล่าวจำนวนมากใน /lib/systemd/system/ หรือคล้ายกัน

sudo bash <<\!eof
cat > /lib/systemd/system/mystuff.service <<\!
[Unit]
Description=Run my stuff from systemd
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/bin/python /home/vakus/main.py <>/dev/tty4
Restart=no
[Install]
WantedBy=multi-user.target
!
!eof

ฉันเคยใช้ <> เพื่อทำให้เชลล์เปิด / dev / tty4 สำหรับ stdin และ stdout ตรวจสอบว่าไม่มี เก็ตตี้ รันบน tty4 และหยุดและปิดใช้งานหากมี

systemctl status getty@tty4.service
sudo systemctl stop getty@tty4.service
sudo systemctl disable getty@tty4.service

จากนั้นเปิดใช้งานบริการของคุณเพื่อเริ่มการบูทและทำให้ systemd สังเกตได้ทันที:

sudo systemctl enable mystuff.service
sudo systemctl daemon-reload

เปิดใช้งานบริการทันทีเพื่อดูว่าใช้งานได้และตรวจสอบสถานะ:

sudo systemctl start mystuff.service
systemctl status mystuff.service
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.