แอปพลิเคชั่นเริ่มต้น
อูบุนตูและการแจกแจงบน GNOME อื่น ๆ มาพร้อมกับแอพพลิเคชั่นที่เรียกว่า Startup Applications สามารถใช้สำหรับจัดการแอพและสคริปต์ที่ทำงานบนระบบใหม่หรือเข้าสู่ระบบใหม่
เปิดแอป Startup Applications จากตัวเรียกใช้งานแอปพลิเคชันและคลิกที่ปุ่ม Add เพื่อเพิ่มรายการใหม่
กรอกข้อมูลในช่อง Name และ Command ตามความต้องการของคุณ จากนั้นคลิกที่ปุ่ม Add เพื่อสร้างรายการใหม่ให้เสร็จสิ้น รายการที่สร้างในภาพหน้าจอด้านล่างจะส่งการแจ้งเตือน Make a Backup เป็นการแจ้งเตือนระบบทุกครั้งที่รีบูต / เข้าสู่ระบบ คุณสามารถแทนที่ด้วยคำสั่งของคุณเองหรือด้วยเส้นทางแบบเต็มของสคริปต์ทุบตีของคุณ คุณยังสามารถใช้คำสั่งระบบหรือไฟล์เรียกทำงานที่มีอยู่ซึ่งปกติจะอยู่ในโฟลเดอร์ bin ต่างๆ ทั่วทั้งระบบไฟล์
ตามที่ระบุไว้ข้างต้น การแจ้งเตือนการสำรองข้อมูลจะแสดงทุกครั้งที่รีบูต
Systemd
Systemd เป็นภูตและตัวจัดการบริการที่มียูทิลิตี้ต่างๆ เพื่อจัดการกระบวนการของระบบและส่วนประกอบระบบปฏิบัติการ ในรูปแบบที่เรียบง่าย โดยทั่วไปจะใช้เพื่อเริ่มต้นและสิ้นสุดบริการในรอบการบูตใหม่
Systemd สามารถใช้เพื่อเปิดแอปโดยอัตโนมัติหรือเรียกใช้สคริปต์ในการบูตเครื่องใหม่ ในการสร้างการแจ้งเตือนการสำรองข้อมูลแบบเดียวกันที่อธิบายข้างต้น ก่อนอื่นคุณต้องสร้างโฟลเดอร์และไฟล์ที่จำเป็นโดยเรียกใช้คำสั่งด้านล่าง:
$mkdir -NS~/.config/ระบบ/ผู้ใช้$นาโน~/.config/ระบบ/ผู้ใช้/backup_reminder.service
แทนที่ nano ด้วยคำสั่งของโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ แทนที่ backup_reminder ด้วยชื่ออื่นที่คุณต้องการ
วางรหัสด้านล่างในไฟล์ backup_reminder.service ที่สร้างโดยใช้คำสั่งด้านบน
[หน่วย]Description=ส่งตัวเตือนการสำรองข้อมูลทุกครั้งที่รีบูต
PartOf=graphical-session.target
[บริการ]
ExecStart=bash -c 'sleep 10; แจ้ง-ส่ง 'ทำการสำรองข้อมูล''
Type=oneshot
[ติดตั้ง]
WantedBy=graphical-session.target
รหัสด้านบนค่อนข้างตรงไปตรงมา จะส่งการแจ้งเตือน Make a Backup 10 วินาทีหลังจากโหลดเซสชันกราฟิก (ทุกครั้งที่รีบูตหรือเข้าสู่ระบบ)
เรียกใช้คำสั่งด้านล่างเพื่อเปิดใช้งานบริการเพื่อให้สามารถทำงานโดยอัตโนมัติทุกครั้งที่รีบูต
$chmod 644~/.config/ระบบ/ผู้ใช้/backup_reminder.service$ systemctl--ผู้ใช้ เปิดใช้งานbackup_reminder.service
$ systemctl--ผู้ใช้daemon-reload
$ รีบูต
นี่เป็นเพียงตัวอย่างง่ายๆ ของการรันคำสั่งพื้นฐานในการบู๊ตโดยใช้ systemd คุณยังสามารถสร้างบริการขั้นสูงที่มีหลายเงื่อนไขและหลายคำสั่ง สำหรับข้อมูลเพิ่มเติม โปรดดูที่หน้า man systemd โดยรันคำสั่งด้านล่าง:
$ชายระบบโปรดทราบว่าตัวอย่างนี้อธิบายการสร้างบริการใหม่ที่ไม่ต้องการการเข้าถึงรูท และเหมาะสำหรับแอปที่เริ่มต้นอัตโนมัติที่ไม่ต้องการการอนุญาตรูท หากคุณต้องการเริ่มสคริปต์อัตโนมัติที่ต้องการการเข้าถึงรูท คุณต้องสร้างบริการ systemd ใหม่ในไดเร็กทอรี /etc/systemd/system แทนโฟลเดอร์ ~/.config/systemd/user และละเว้น –user switch ในคำสั่งที่กล่าวถึงข้างต้น
งานครอน
Cron เป็นเครื่องมือที่สามารถรันงานที่กำหนดเวลาไว้เป็นระยะตามเงื่อนไขที่ผู้ใช้กำหนด งานตามกำหนดการเหล่านี้ถูกสร้างขึ้นใน Crontab ในรูปแบบที่กำหนดไว้ล่วงหน้า พูดง่ายๆ ก็คือ Crontab บอก Cron ว่างานใดที่ควรทำงาน ณ เวลาใด
เช่นเดียวกับ systemd งาน crontab สามารถใช้เพื่อเปิดแอปและเรียกใช้สคริปต์โดยอัตโนมัติเมื่อบูต ในการเพิ่มงาน cron ใหม่ ให้รันคำสั่งด้านล่าง:
$crontab-และเพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายของไฟล์ข้อความ (เปิดใช้งานเทอร์มินัล GNOME โดยอัตโนมัติทุกครั้งที่รีบูต):
SHELL=/bin/bash@reboot สลีป 30 && DISPLAY=:0 gnome-terminal
คุณสามารถใช้คำสั่งของคุณเองหรือระบุพาธแบบเต็มไปยังเชลล์สคริปต์ได้
โปรดทราบว่าไม่เหมือนกับ systemd ตรงที่ cron ตรวจไม่พบว่ามีการโหลดเซสชันแบบกราฟิกหรือไม่ คุณต้องระบุระยะเวลารอโดยประมาณจนกว่าเซิร์ฟเวอร์ X จะโหลดและตัวระบุการแสดงผล คุณสามารถทราบเกี่ยวกับ display ID ของคุณได้โดยการรันคำสั่งด้านล่าง:
$โยนออก $DISPLAYความล่าช้าก่อนดำเนินการคำสั่งหรือสคริปต์ขึ้นอยู่กับการกำหนดค่าระบบและเวลาบูต
Rc.local
อีกวิธีหนึ่งในการเรียกใช้สคริปต์และคำสั่งเมื่อเริ่มต้นคือการใช้ไฟล์ rc.local โปรดทราบว่าในการทดสอบของฉัน ฉันไม่สามารถเลื่อนการเรียกใช้สคริปต์ได้จนกว่าเซสชันกราฟิกจะทำงานจริง การเพิ่มการหน่วงเวลาพักเครื่องจะทำให้เกิดความล่าช้าในการแสดงหน้าจอเข้าสู่ระบบเอง ด้วยเหตุนี้ ฉันจึงไม่ประสบความสำเร็จในการเรียกใช้แอปกราฟิกเมื่อเริ่มต้นระบบโดยใช้ไฟล์ rc.local การแก้ไข rc.local ยังต้องมีการเข้าถึงรูท ซึ่งแตกต่างจากตัวอย่างอื่นๆ ทั้งหมดที่อธิบายไว้ข้างต้น
ในการเพิ่มคำสั่ง / สคริปต์ลงในไฟล์ rc.local ให้รันคำสั่งด้านล่าง (สร้างไฟล์ rc.local ใหม่หากไม่มีอยู่):
$sudo นาโน /ฯลฯ/rc.localเพิ่มคำสั่งของคุณระหว่าง #! /bin/bash และออก 0 บรรทัดดังแสดงด้านล่าง:
#! /bin/bashเส้นทาง/to/my_script.sh
ทางออก 0
ทำให้ไฟล์ rc.local สามารถเรียกใช้งานได้โดยรันคำสั่งด้านล่าง:
$sudo chmod+ x/ฯลฯ/rc.localเพียงรีบูตเพื่อให้สคริปต์เริ่มต้นมีผล
บทสรุป
นี่เป็นวิธีการบางส่วนที่สามารถใช้เพื่อเรียกใช้สคริปต์และแอปโดยอัตโนมัติเมื่อเริ่มต้นระบบ หากคุณต้องการเรียกใช้สคริปต์ที่ไม่ต้องการการเข้าถึงรูท ฉันขอแนะนำให้ใช้แอป Startup Applications GUI หากคุณต้องการเรียกใช้แอพและสคริปต์ด้วยการเข้าถึงรูท เราขอแนะนำให้คุณสร้างบริการ systemd ระดับระบบ
เกี่ยวกับผู้เขียน
Nitesh Kumar
ฉันเป็นนักพัฒนาซอฟต์แวร์อิสระและนักเขียนเนื้อหาที่รัก Linux, ซอฟต์แวร์โอเพ่นซอร์ส และชุมชนซอฟต์แวร์ฟรี
ดูกระทู้ทั้งหมด