Jawaban:
Ada dua pendekatan utama untuk melakukan itu:
systemdlayanan.Karena itu Anda memerlukan dua file: skrip dan .servicefile (file konfigurasi unit).
Pastikan skrip Anda dapat dieksekusi dan baris pertama ( shebang ) adalah #!/bin/sh. Kemudian buat .servicefile dalam /etc/systemd/system(file teks biasa, sebut saja vgaoff.service).
Sebagai contoh:
/usr/bin/vgaoff/etc/systemd/system/vgaoff.serviceSekarang, edit file unit. Isinya tergantung pada cara kerja skrip Anda:
Jika vgaoffhanya mematikan gpu, misalnya:
exec blah-blah pwrOFF etc
maka isi vgaoff.serviceharus:
[Unit]
Description=Power-off gpu
[Service]
Type=oneshot
ExecStart=/usr/bin/vgaoff
[Install]
WantedBy=multi-user.target
Jika vgaoffdigunakan untuk mematikan GPU dan juga untuk menghidupkan kembali, misalnya:
start() {
exec blah-blah pwrOFF etc
}
stop() {
exec blah-blah pwrON etc
}
case $1 in
start|stop) "$1" ;;
esac
maka isi vgaoff.serviceharus:
[Unit]
Description=Power-off gpu
[Service]
Type=oneshot
ExecStart=/usr/bin/vgaoff start
ExecStop=/usr/bin/vgaoff stop
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Untuk mematikan:
[Unit]
Description=Power-off gpu
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo OFF > /whatever/vga_pwr_gadget/switch"
[Install]
WantedBy=multi-user.target
Untuk mematikan dan menghidupkan:
[Unit]
Description=Power-off gpu
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo OFF > /whatever/vga_pwr_gadget/switch"
ExecStop=/bin/sh -c "echo ON > /whatever/vga_pwr_gadget/switch"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Setelah selesai dengan file, aktifkan layanan:
systemctl enable vgaoff.service
Ini akan mulai secara otomatis pada boot berikutnya. Anda bahkan dapat mengaktifkan dan memulai layanan sekaligus
systemctl enable --now vgaoff.service
pada systemd v.220(pada setup yang lebih tua Anda harus memulainya secara manual).
Untuk lebih jelasnya lihat systemd.servicehalaman manual.
Pemecahan masalah .
Mulai di sini:
Bagaimana cara melihat log lengkap systemdlayanan?
systemdkode keluar layanan dan penjelasan informasi status
echo SOMETHING > /some/filedilakukan (atau perintah lain apa pun sebenarnya) harus membiasakan diri dengan dasar-dasar CLI sebelum mencoba menjalankan hal-hal pada sistem mereka. Selain itu, FYI, baca cara mematikan dGPU pada beberapa model laptop, lihat apakah perintah yang digunakan di sana dapat diganti dengan sesuatu seperti yang Anda sarankan. Juga, untuk mengembalikan file asli, Anda biasanya menginstal ulang paket yang memilikinya.