Skrip contoh error.sh
:
#! /bin/bash
zenity --error --text='Something very bad has happened!'
Saya incron-config
:
~/Documents IN_MOVED_TO ~/scripts/error.sh
Jika saya menjalankan error.sh
terminal GUI muncul dialog, tetapi tidak dalam skenario incron di atas.
Bagaimana saya bisa membuat kemudahan untuk memunculkan dialog itu ketika saya memindahkan file di folder Dokumen?
Untuk menjalankan perintah GUI pada cron, Anda harus memberi tahu cron tampilan apa yang harus digunakan oleh program. Untuk itu Anda gunakan: export DISPLAY =: 0
Untuk pemberitahuan zenity setiap 30 menit, edit dengan
crontab -e
dan atur pekerjaan seperti:Detail cara: tautan
sumber
Ada solusi lain yang mungkin jika Anda ingin berfungsi terlepas dari nama pengguna, dengan menemukan pengguna aktif layar X, menggunakan ConsoleKit (perintah
ck-list-sessions
). Dengan asumsi skrip di bawah ini dijalankan sebagai root, ia akan menampilkan pesan zenity kepada pengguna aktif saat ini di komputer Anda:Skrip awk kecil hanya untuk mem-parsing daftar-ck-sesi dan mengeluarkan nama pengguna dan tampilan pengguna yang aktif (juga bisa mengharuskan itu koneksi lokal jika Anda ingin mengecualikan ssh -X pengguna, jika Anda mau).
(Saya menggunakan ini dalam skrip cadangan yang berjalan saat mencolokkan drive USB.)
sumber