Skip to content

surauEMKA

مَا زِلتَ طالبًا

Menu
  • Home
  • Pendidikan
  • Ke-NU-an
  • Bahtsul Masail
  • PKB
  • Kitab Kuning
    • Ihya Ulumiddin
    • Nashoihul Ibad
    • Idhotun Nasyiin
    • Jurumiyah
    • Alala
    • Akhlaq lil Banin
Menu

Cara Menjalankan Program Linux Saat Startup dengan systemd

Posted on September 17, 2023 by Manarul Ikhsan

systemd adalah perangkat lunak yang memungkinkan Anda meluncurkan program Linux saat boot pada sebagian besar distribusi Linux, termasuk Ubuntu. Anda dapat dengan mudah membuat layanan terintegrasi menggunakan systemd, yang dapat dikontrol menggunakan systemctl. systemd memungkinkan program Anda untuk menulis ke jurnal, sehingga lebih mudah untuk melacak dan memantau aktivitas layanan.

Perlu meluncurkan program Linux saat boot? Perangkat lunak systemd menyediakan cara untuk melakukannya di distro Linux mana pun dengan systemd — yang merupakan sebagian besar dari mereka saat ini, termasuk Ubuntu. Kami akan memandu Anda melalui proses pembuatan layanan terintegrasi —dan bahkan membahasnya di jurnal.

Menjalankan Program saat Startup dengan systemd

Terkadang perangkat lunak yang Anda instal di komputer Anda menghubungkan dirinya ke dalam proses startup Linux, sehingga program tersebut secara otomatis diluncurkan setiap kali komputer dinyalakan. Anda dapat dengan mudah mencapai perilaku yang sama dengan program dan skrip Anda sendiri, atau program lain apa pun yang ada di komputer Anda. Ini berguna jika Anda menghosting beberapa jenis server yang ingin Anda jalankan segera setelah mesin dihidupkan (seperti Server Minecraft!), atau jika Anda memiliki perangkat lunak khusus lain yang ingin Anda jalankan tanpa perlu memulainya secara manual.

Program yang diluncurkan saat startup dikendalikan oleh systemd, manajer sistem dan layanan. systemd adalah proses pertama yang dijalankan saat startup. Itu selalu memiliki ID proses (PID) 1. Setiap proses lain yang berjalan di komputer Anda dimulai oleh systemd, atau oleh proses yang systemd telah dimulai.

Program yang berjalan di latar belakang disebut daemon atau layanan. Huruf “d” di akhir systemd adalah singkatan dari daemon. Pada artikel ini, kami akan membuat layanan contoh. Untuk mencentang semua kotak, layanan kami harus:

Terintegrasi dengan systemd melalui file unit layanan Diluncurkan saat startup Dapat dikontrol menggunakan systemctl, antarmuka kontrol untuk systemdDapat menulis ke jurnal

Kami akan mendemonstrasikan cara mengatur layanan sistem yang diluncurkan ketika Anda memulai sistem Anda dengan systemd. Untuk meluncurkan program grafis saat Anda masuk, gunakan manajer startup desktop Anda.

Membuat Program Layanan untuk systemd untuk Memulai

Kita harus memiliki program yang akan diluncurkan systemd. Kami akan membuat skrip sederhana, yang disebut “htg.sh”. Tutorial ini menggunakan editor teks Gedit, tetapi Anda dapat menggunakan editor teks apa pun yang Anda sukai.

touch htg.sh

gedit htg.sh

Editor gedit akan terbuka. Salin dan tempel teks berikut ke editor.

#!/bin/bashecho “htg.service: ## Mulai ##” | systemd-cat -p info while :doTIMESTAMP=$(tanggal ‘+%Y-%m-%d %H:%M:%S’)echo “htg.service: stempel waktu ${TIMESTAMP}” | systemd-cat -p infosleep 60done

Simpan perubahan Anda dan tutup editor.

Skrip tidak melakukan banyak hal, tetapi ada beberapa poin yang perlu diperhatikan.

Kedua garis gema disalurkan melalui systemd-cat, sebuah program yang mengambil output dari suatu program dan mengirimkannya ke jurnal. Entri ke jurnal diberi prioritas. Kami menggunakan opsi -p (prioritas) untuk menunjukkan bahwa pesan kami hanya untuk informasi (info). Itu bukanlah kesalahan atau peringatan penting. Ada perulangan while yang tak ada habisnya. Variabel TIMESTAMP diatur ke tanggal dan waktu saat ini. Ini diformat menjadi pesan dan dikirim ke jurnal. Skrip kemudian tertidur selama 60 detik. Setelah 60 detik, putaran diulangi. Jadi, skrip ini menulis pesan dengan stempel waktu ke jurnal satu kali per menit.

Kami akan menyalin skrip ke direktori /usr/local/bin.

sudo cp htg.sh /usr/local/bin

Dan kami perlu membuatnya dapat dieksekusi:

sudo chmod +x /usr/local/bin/htg.sh

Membuat Layanan File Unit

Setiap program yang dijalankan oleh systemd memiliki file definisi, yang disebut file unit layanan. Ini menyimpan atribut tertentu yang dapat digunakan systemd untuk mencari dan meluncurkan program, dan untuk menentukan beberapa perilakunya.

Kita perlu membuat file unit untuk layanan baru kami, namun sebaiknya pastikan tidak ada file unit yang ada yang memiliki nama yang ingin kami berikan pada layanan baru kami.

sudo systemctl list-unit-files –type-service

Anda dapat menelusuri daftar file unit, yang diurutkan berdasarkan abjad, dan memeriksa apakah nama yang ingin Anda gunakan tidak diambil.

Layanan kami akan disebut “htg.service”. Tidak ada file unit yang memiliki nama itu, jadi kita dapat melanjutkan dan membuat file unit kita.

sudo gedit /etc/systemd/system/htg.service

Editor gedit akan terbuka. Salin dan tempel teks berikut ke editor:

[Unit]Description= Service ContohWants=network.targetAfter=syslog.target network-online.target[Service]Type=simpleExecStart=/usr/local/bin/htg .shRestart=on-failureRestartSec=10KillMode=process[Install]WantedBy=multi-user.target

Simpan perubahan Anda dan tutup editor.

Entri memiliki arti berikut. Ini adalah entri yang khas. Layanan sederhana kami sebenarnya tidak memerlukan sebagian besar darinya, tetapi menyertakannya memungkinkan kami menjelaskannya. NbspDeskripsi: Ini adalah deskripsi teks dari layanan Anda. Ingin: Layanan kami ingin — tetapi tidak memerlukan — jaringan sudah aktif sebelum layanan kami dimulai. After: Daftar nama unit yang harus dimulai setelah layanan ini berhasil dimulai, jika layanan tersebut belum berjalan. Jenis: Sederhana. systemd akan menganggap layanan ini dimulai segera setelah proses yang ditentukan oleh ExecStart telah di-fork. ExecStart: Jalur menuju proses yang harus dimulai. Mulai ulang: Kapan dan apakah layanan harus dimulai ulang. Kami telah menyetelnya ke “saat gagal”. RestartSec: Berapa lama menunggu sebelum mencoba memulai ulang layanan. Nilai ini dalam hitungan detik. KillMode: Mendefinisikan bagaimana systemd harus mematikan proses jika kita meminta systemctl untuk menghentikan layanan. Kami menyetelnya ke “proses”. Hal ini menyebabkan systemd menggunakan sinyal SIGTERM pada proses utama saja. Jika layanan kami adalah program non-sepele dan bukan skrip sederhana, kami akan menyetelnya ke “campuran” untuk memastikan bahwa setiap proses yang muncul juga dihentikan. WantedBy: Kami menetapkan ini ke “multi-user.target”, yang berarti layanan harus dimulai selama sistem berada dalam keadaan di mana banyak pengguna dapat masuk, baik antarmuka pengguna grafis tersedia atau tidak.

File unit tidak harus dapat dieksekusi, tetapi izin pada file unit harus membatasi siapa yang dapat mengeditnya. Anda tidak ingin pengguna jahat atau nakal mengubah file unit sehingga menjalankan program yang berbeda sama sekali.

Perintah ini akan memberikan izin membaca dan menulis kepada pemilik, dan izin membaca ke grup. Orang lain tidak akan memiliki izin.

sudo chmod 640 /etc/systemd/system/htg.service

Kita dapat meminta systemctl memeriksa sintaks file unit kita, bahkan jika layanan belum berjalan. Kesalahan apa pun akan dilaporkan. (Sebenarnya, bagian “.service” adalah opsional untuk sebagian besar perintah.)

systemctl status htg.service

Tidak ada kesalahan yang disorot, yang berarti file unit kami benar secara sintaksis.

Memulai Layanan Secara Otomatis dengan Perintah systemd

Saat Anda menambahkan file unit baru atau edit yang sudah ada, Anda harus memberi tahu systemd untuk memuat ulang definisi file unit.

sudo systemctl daemon-reload

Jika Anda ingin layanan diluncurkan saat startup, Anda harus mengaktifkannya:

sudo systemctl aktifkan htg

Mengaktifkan layanan tidak memulainya, itu hanya mengatur itu akan diluncurkan pada saat boot. Untuk memulai layanan sekarang, Anda harus menggunakan systemctl dengan opsi mulai.

sudo systemctl start htg

Memverifikasi Layanan

Setelah memulai layanan secara manual atau setelah me-reboot komputer, kami dapat memverifikasi bahwa layanan kami berjalan dengan benar.

sudo systemctl status htg.service

Status layanan ditampilkan untuk kami.

Titik hijau berarti layanan kami aktif dan berjalan dengan lancar. Nama layanannya adalah “htg.service”, dan deskripsi panjangnya adalah yang kami sediakan di file unit. Kami diperlihatkan file unit mana yang telah dimuat “/etc/systemd/system/htg.service”. Layanan ini aktif, dan waktu peluncuran layanan dicantumkan untuk kami. PID-nya adalah 7762. Ada dua tugas yang terkait dengan layanan ini. Total memori sebesar 928 Kibibyte digunakan oleh layanan ini. Grup kontrol mencakup skrip “htg.sh” dan perintah tidur, yang diluncurkan oleh “htg.sh.” Seringkali, perintah sleep akan melakukan pekerjaan untuk layanan ini.

Kami juga diperlihatkan 10 entri jurnal terakhir yang dihasilkan oleh layanan ini. Tidak mengherankan, semuanya berjarak satu menit.

Menghentikan dan Menonaktifkan Layanan

Jika Anda perlu menghentikan layanan, Anda dapat melakukannya dengan perintah ini:

sudo systemctl stop htg.service

Ini menghentikan layanan, tetapi tidak mencegahnya untuk memulai ulang berikutnya kali komputer di-reboot. Untuk menghentikan layanan yang diluncurkan saat startup, Anda harus menonaktifkannya:

sudo systemctl menonaktifkan htg.service

Jika layanan sedang berjalan, perintah ini tidak menghentikannya. Ini hanya memberitahu systemd untuk tidak meluncurkan layanan pada reboot berikutnya.

Jika Anda ingin menghentikan layanan dan mencegahnya diluncurkan saat startup, gunakan kedua perintah.

Tips Layanan

Pastikan program Anda berjalan seperti yang diharapkan sebelum Anda mencoba meluncurkannya sebagai service.

Linux Commands

Files

tar·pv·cat·tac·chmod·grep·diff·sed·ar·man·pushd·popd·fsck·testdisk·seq·fd·pandoc·cd·$PATH·awk·join·jq·fold· uniq·journalctl·tail·stat·ls·fstab·echo·less·chgrp·chown·rev·look·strings·type·rename·zip·unzip·mount·umount·install·fdisk·mkfs·rm·rmdir·rsync· df·gpg·vi·nano·mkdir·du·ln·patch·convert·rclone·shred·srm·scp·gzip·chattr·cut·find·umask·wc· tr

Processes

alias·screen·top·nice·renice·progress· strace·systemd·tmux·chsh·history·at·batch·free·which·dmesg·chfn·usermod·ps·chroot·xargs·tty·pinky·lsof·vmstat·timeout·wall·yes·kill·sleep·sudo· su·time·groupadd·usermod·groups·lshw·shutdown·reboot·halt·poweroff·passwd·lscpu·crontab·tanggal·bg·fg·pidof·nohup·pmap

Networking

netstat·ping·traceroute·ip·ss·whois·fail2ban· bmon·dig·finger·nmap·ftp·curl·wget·who·whoami·w·iptables·ssh-keygen·ufw·arping·firewalld

Recent Posts

  • Fiqh Puasa Syiah – Kelonggaran Dalam Niat Puasa
  • Terjemah Kitab Ihya Ulumiddin Part 44 – Keutamaan Menyampaikan Kebaikan
  • Fiqh Puasa Syiah – Niat Puasa Tetap Sah Meski Siang Hari
  • Terjemah Kitab Ihya Ulumiddin Part 43 – Keutamaan Ilmu Dibanding Menyampaikan Sebuah Hadis yang Baik
  • Terjemah Kitab Ihya Ulumiddin Part 42 – Keutamaan Mendoakan Pengajar Kebaikan
  • Terjemah Kitab Ihya Ulumiddin Part 41 – Keutamaan Mengingat Allah dan Menuntut Ilmu di Dunia
  • Terjemah Kitab Ihya Ulumiddin Part 40 – Keutamaan Berbagi Ilmu dan Hikmah kepada Sesama Muslim
  • Terjemah Kitab Ihya Ulumiddin Part 39 – Bahaya Menyembunyikan Ilmu Agama
  • Terjemah Kitab Ihya Ulumiddin Part 38 – Cara Allah Mencabut Ilmu dari Dunia
  • Terjemah Kitab Ihya Ulumiddin Part 37 – Keutamaan Ilmu yang Bermanfaat bagi Orang Lain
  • Terjemah Kitab Ihya Ulumiddin Part 36 – Keutamaan Mengajarkan Ilmu dan Mengamalkannya
  • Terjemah Kitab Ihya Ulumiddin Part 35 – Keutamaan Dakwah dan Mengajak kepada Jalan Allah
  • Terjemah Kitab Fathul Qarib Sholat Jumat (Part 10): Adab Masuk Masjid Saat Imam Sedang Khutbah Jumat
  • Terjemah Kitab Fathul Qarib Sholat Jumat (Part 9): Adab Mendengarkan Khutbah dan Pengecualiannya
  • Terjemah Kitab Ihya Ulumiddin Part 34 – Kewajiban Menyampaikan Ilmu dan Larangan Menyembunyikannya
  • GNOME Founder Attacks Omarchy Founder as “Lazy, Racist, Ignorant”
  • Why I Stopped Using Plain Command Line Docker and Use Portainer 3.0 To Make My Home Projects Fun Again
  • Why I Switched to a Proper Firewall Box with OPNSense for My Homelab Stuff
  • Fixing Windows Error 0x80070005 Hyper-V Export Access Denied Error the Right Way
  • Fixing Hyper V Export Errors and Building a Better Virtual Machine Setup (error 0x80070002, 0x80070005)
  • Fixing the Dreaded Windows Audio Service Stuck on Stopping Error
  • Windows SIM Error, Unknown error 0xc1420127
  • How I’m Building a Cat Breeding Management App with Python Qt6 + Microsoft Litebox, in 1 Week
  • Why Windows Keeps Nuking Your GPU Drivers (And How to Take Back Control)
  • Why I Finally Ditched Mainstream Windows Cleaners (And Why I Use ‘Kudu’ Instead)
  • Canonical: Ubuntu coming soon to Snapdragon X2 Series platforms
  • Finally, wolfSSL adds post-quantum algorithms!
  • How to Run Gemma Embedding Models Using Docker
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • How to Hardening Journald on Linux Server (Fedora/AlmaLinux)
  • Block Bad USB on Linux Server with USBGuard
  • How to Secure NetworkManager on Fedora/AlmaLinux
  • How to Secure DNS and NTP in Fedora Linux
  • How to Hardening DNF on Fedora/Almalinux
  • Prompt AI: Impressionist Portrait Art of a Woman
  • Prompt AI: Stylish Man Walking Double Exposure Photo
  • Trying Nemotron 3.5 Super VL: NVIDIA’s Open Multimodal Model Built for Agents That Actually See and Act
  • Pruna AI Release their Qwen-Image 2.1 LoRA Adapter, 6x Faster than Regular Qwen
  • The Rise and Fall of the Coding Holy Grail: Is Stack Overflow Just AI Fuel Now?
  • Zyphra is The Pioneer, Why Everyone is Suddenly Obsessed with AMD and Not Just Nvidia Anymore
  • Stop Trusting Your Prompts to Save Your Business Data
  • How to Automate Your Entire SEO Strategy Using a Swarm of 100 Free AI Agents Working in Parallel
  • How to create professional presentations easily using NotebookLM’s AI power for school projects and beyond
  • How to Master SEO Automation with Google Gemini 3.1 Flash-Lite in Google AI Studio
RSS Error: WP HTTP Error: A valid URL was not provided.

Categories

  • Akhlaq lil Banin
  • Alala
  • Alfiyah Ibnu Malik
  • Apple
  • Bahtsul Masail
  • Bughyatul Mustarsyidin
  • Cerita
  • Download
  • Fathul Qarib
  • Fiqh Syiah
  • Gusdur
  • Idhotun Nasyiin
  • Ihya Ulumiddin
  • Ilmu Umum
  • Jurumiyah
  • Ke-NU-an
  • Kitab Kuning Politik
  • Linux
  • Nashoihul Ibad
  • Pendidikan
  • PKB
  • Review
  • Tokoh
  • Tsaquful Akhyarin Nahdliyah
  • Tutorial
  • Uncategorized
©2026 surauEMKA | Design: Newspaperly WordPress Theme