Saya mencoba menulis fungsi bash sederhana yang tidur dalam jumlah X menit dan kemudian menjalankan perintah sistem tidur (bagi saya itu sudo pm-suspend
karena saya menggunakan Ubuntu) sekarang fungsinya terlihat seperti ini:
function sleepin {
sleep $(bc <<< $1*60); sudo pm-suspend
}
Argumen pertama adalah setelah berapa menit tidur seharusnya terjadi. Masalahnya adalah setelah tidur skrip meminta saya untuk memasukkan kata sandi sudo.
Bagaimana saya harus menulis ulang skrip agar tidak meminta kata sandi sudo setelah tidur?
(Saya sudah mencoba memanggil sudo sleepin 30
tapi itu masih meminta saya untuk kata sandi. Perhatikan bahwa jika panggilan tidur cukup kecil, bash tidak meminta kata sandi, tetapi untuk tidur yang lebih lama akan..)
Jawaban yang Diterima:
Seperti yang disarankan Mat, Anda dapat mengizinkan pengguna menjalankan pm-suspend tanpa kata sandi.
Jalankan sudo visudo
Tambahkan youruser ALL=(root) NOPASSWD: /path/to/pm-suspend