Przykładowy skrypt error.sh
:
#! /bin/bash
zenity --error --text='Something very bad has happened!'
Mój incron-config
:
~/Documents IN_MOVED_TO ~/scripts/error.sh
Jeśli uruchomię error.sh
w terminalu GUI pojawia się okno dialogowe, ale nie w powyższym scenariuszu incron.
Jak mogę ustawić zenity na wyświetlanie tego okna dialogowego podczas przenoszenia pliku w folderze Dokumenty?
Aby uruchomić polecenie GUI na cronie, musisz powiedzieć cronowi, jakiego wyświetlacza powinien używać program. Do tego używasz: eksport DISPLAY =: 0
Aby otrzymywać powiadomienie zenity co 30 minut, edytuj za pomocą
crontab -e
i ustaw zadanie takie jak:Szczegółowe instrukcje: link
źródło
Istnieje inne możliwe rozwiązanie, jeśli chcesz, aby działało niezależnie od nazwy użytkownika, znajdując aktywnego użytkownika wyświetlacza X, używając ConsoleKit (polecenie
ck-list-sessions
). Zakładając, że poniższy skrypt jest uruchamiany jako root, wyświetli komunikat zenity dla bieżącego aktywnego użytkownika na twoim komputerze:Mały skrypt awk służy tylko do analizowania sesji ck-list i wysyłania nazwy użytkownika oraz wyświetlania aktywnego użytkownika (może również wymagać, aby było to połączenie lokalne, jeśli chcesz wykluczyć użytkowników ssh -X, jeśli chcesz).
(Używam tego w skrypcie zapasowym, który działa po podłączeniu dysku USB).
źródło