Perintah Linux

Cara Menjalankan Perintah dan Skrip Linux secara automatik pada Sistem Reboot

Cara Menjalankan Perintah dan Skrip Linux secara automatik pada Sistem Reboot
Menjalankan aplikasi dan skrip secara automatik pada permulaan boleh berguna untuk mengautomasikan tugas dan acara boot biasa. Artikel ini akan menerangkan beberapa kaedah yang dapat digunakan untuk melancarkan aplikasi dan skrip pada reboot baru atau login baru.

Permohonan Permulaan

Ubuntu dan pengedaran berasaskan GNOME lain disertakan dengan aplikasi yang hanya disebut "Permulaan Permulaan". Ia dapat digunakan untuk mengurus aplikasi dan skrip yang dijalankan pada sistem reboot atau log masuk yang baru.

Lancarkan aplikasi "Permulaan Permulaan" dari peluncur aplikasi dan klik pada butang "Tambah" untuk menambahkan entri baru.

Isi bidang "Nama" dan "Perintah" sesuai dengan kebutuhan Anda dan kemudian klik pada butang "Tambah" untuk menyelesaikan pembuatan entri baru. Entri yang dibuat dalam tangkapan layar di bawah akan mengirim peringatan "Buat Cadangan" sebagai pemberitahuan sistem pada setiap but semula / masuk. Anda boleh menggantinya dengan perintah anda sendiri atau dengan jalan penuh skrip bash anda. Anda juga dapat menggunakan perintah sistem yang ada atau yang dapat dijalankan yang biasanya terletak di berbagai folder "bin" di seluruh sistem fail.

Seperti yang dinyatakan di atas, peringatan sandaran ditunjukkan pada setiap but semula.

Sistemd

Systemd adalah daemon dan pengurus perkhidmatan yang mengandungi pelbagai utiliti untuk menguruskan proses sistem dan komponen OS. Dalam bentuknya yang sederhana, ia biasanya digunakan untuk memulakan dan menamatkan perkhidmatan dalam kitaran boot baru.

Systemd dapat digunakan untuk melancarkan aplikasi secara otomatis atau menjalankan skrip pada boot baru. Untuk membuat pemberitahuan peringatan sandaran yang sama seperti yang dijelaskan di atas, pertama anda harus membuat folder dan fail yang diperlukan dengan menjalankan perintah di bawah:

$ mkdir -p ~ /.config / systemd / pengguna
$ nano ~ /.config / systemd / user / backup_reminder.perkhidmatan

Ganti "nano" dengan perintah penyunting teks kegemaran anda. Ganti "backup_reminder" dengan nama lain yang anda sukai.

Tampal kod di bawah di backup_reminder.fail perkhidmatan dibuat menggunakan arahan di atas.

[Unit]
Penerangan = Menghantar peringatan sandaran pada setiap but semula
PartOf = sesi grafik.sasaran
[Perkhidmatan]
ExecStart = bash -c 'tidur 10; notifikasi-hantar "Buat Sandaran" '
Taip = oneshot
[Pasang]
WantedBy = sesi grafik.sasaran

Kod di atas cukup mudah. Ini mengirimkan pemberitahuan "Buat Cadangan" 10 saat setelah sesi grafik dimuat (sekali setiap but semula atau masuk).

Jalankan arahan di bawah ini untuk mengaktifkan perkhidmatan sehingga dapat dijalankan secara automatik pada setiap but semula.

$ chmod 644 ~ /.config / systemd / user / backup_reminder.perkhidmatan
$ systemctl - pengguna mengaktifkan backup_reminder.perkhidmatan
$ systemctl - pengguna daemon-tambah nilai
$ but semula

Ini hanyalah contoh ringkas menjalankan perintah asas semasa boot menggunakan systemd. Anda juga boleh membuat perkhidmatan lanjutan dengan pelbagai syarat dan pelbagai perintah. Untuk maklumat lebih lanjut, rujuk halaman man sistemd dengan menjalankan perintah di bawah:

$ man systemd

Perhatikan bahawa contoh ini menerangkan untuk membuat perkhidmatan baru yang tidak memerlukan akses root dan sesuai untuk memulakan aplikasi secara automatik yang tidak memerlukan izin root. Sekiranya anda ingin memulakan skrip secara automatik yang memerlukan akses root, anda harus membuat perkhidmatan systemd baru di direktori "/ etc / systemd / system" dan bukannya "~ /.folder config / systemd / user "dan hilangkan suis" -pengguna "dalam perintah yang disebutkan di atas.

Pekerjaan Cron

Cron adalah alat yang dapat menjalankan tugas berjadual secara berkala mengikut keadaan yang ditentukan oleh pengguna. Pekerjaan berjadual ini dibuat di Crontab dalam format yang telah ditentukan. Secara sederhana, Crontab memberitahu Cron pekerjaan mana yang harus dijalankan pada waktu apa.

Seperti systemd, pekerjaan crontab dapat digunakan untuk melancarkan aplikasi dan menjalankan skrip secara automatik semasa boot. Untuk menambah pekerjaan cron baru, jalankan arahan di bawah:

$ crontab -e

Tambahkan baris berikut di akhir fail teks (melancarkan terminal GNOME secara automatik pada setiap but semula):

SHELL = / bin / bash
@reboot sleep 30 && DISPLAY =: 0 gnome-terminal

Anda boleh menggunakan arahan anda sendiri atau menyediakan jalan penuh ke skrip shell.

Perhatikan bahawa tidak seperti systemd, cron tidak dapat mengesan sama ada sesi grafik telah dimuat atau tidak. Anda harus menentukan jangka masa menunggu sehingga pelayan X dimuat dan pengecam paparan. Anda boleh mengetahui tentang ID paparan anda dengan menjalankan perintah di bawah:

$ echo $ TAMPILAN

Kelewatan sebelum pelaksanaan perintah atau skrip bergantung pada konfigurasi sistem dan masa boot anda.

Rc.tempatan

Kaedah lain untuk menjalankan skrip dan perintah pada permulaan adalah dengan menggunakan "rc.fail tempatan. Perhatikan bahawa dalam ujian saya, saya tidak dapat menangguhkan pelaksanaan skrip sehingga sesi grafik ditayangkan. Menambah sebarang kelewatan tidur menyebabkan kelewatan dalam memaparkan skrin masuk itu sendiri. Oleh kerana itu, saya tidak berjaya menjalankan aplikasi grafik pada permulaan menggunakan rc.fail tempatan. Penyuntingan rc.tempatan juga memerlukan akses root, tidak seperti contoh lain yang dijelaskan di atas.

Untuk menambahkan perintah / skrip ke rc.fail tempatan, jalankan arahan di bawah ini (buat rc baru.fail tempatan jika tidak ada):

$ sudo nano / etc / rc.tempatan

Tambahkan arahan anda antara "#! / bin / bash "dan baris" exit 0 ", seperti yang ditunjukkan di bawah:

#! / bin / bash
jalan / ke / my_script.sh
keluar 0

Buat rc.fail tempatan yang boleh dilaksanakan dengan menjalankan perintah di bawah:

$ sudo chmod + x / etc / rc.tempatan

Cukup reboot agar skrip permulaan berkuat kuasa.

Kesimpulannya

Ini adalah beberapa kaedah yang dapat digunakan untuk menjalankan skrip dan aplikasi secara automatik pada permulaan. Sekiranya anda ingin menjalankan skrip yang tidak memerlukan akses root, saya akan mengesyorkan menggunakan aplikasi GUI "Permulaan Permulaan". Sekiranya anda ingin menjalankan aplikasi dan skrip dengan akses root, saya akan mencadangkan anda untuk membuat perkhidmatan systemd peringkat sistem.

Mengenai Pengarang

Nitesh Kumar

Saya adalah pembangun perisian bebas dan penulis kandungan yang meminati Linux, perisian sumber terbuka dan komuniti perisian percuma.

Lihat semua catatan
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...
Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...