Kiedy zamykam komputer, chcę pokazać pewne oczekujące zadania, które muszę wykonać przed opuszczeniem biura.
Mam lokalną aplikację do zarządzania tymi zadaniami, więc po prostu chcę uruchomić polecenie i zamknąć się po zabiciu uruchomionej aplikacji.
Próbowałem już z tymi opcjami:
/etc/gdm/PostSession/Default
Działa to tylko wtedy, gdy wybiorę opcję LogOut zamiast Shutdown.
/etc/rc0.d/K01mycustomscript
Wykonaj skrypt po zabiciu X.
$HOME/.bash_logout
Wygląda na to, że nic nie robi.
./app-to-run && sudo shutdown -h now
Nie podoba mi się to z dwóch powodów: monituje o hasło sudo i nie mogę użyć przycisku zamykania laptopa.
Używam Ubuntu 10.04.
Odpowiedzi:
Możesz utworzyć skrypt inicjujący w /etc/init.d/, a następnie skonfigurować za pomocą chkconfig, na którym poziomie pracy chcesz go uruchomić. Nigdy nie zrobiłem tego, co chcesz, ale zacznę na tej trasie.
źródło
/etc/rc0.d/K01mycustomscript
może być konieczne/etc/rc0.d/S01mycustomscript
chmod 755 /etc/rc0.d/K01mycustomscript
lubchmod 755 /etc/rc0.d/S01mycustomscript
)logger 'mycustomscript START'
na początku skryptu, alogger 'mycustomscript END'
na końcu zamknij, a następnie poszukaj wiadomości w dzienniku/var/log/messages
/etc/init.d/
, a następnie tworzenie dowiązań symbolicznych do tego skryptu z odpowiednich katalogów /etc/rc*.d lub użycie narzędzia takiego jakchkconfig
lubupdate-rc.d
utrzymanie dowiązań symbolicznych (patrz wikipedia „Init” strona)źródło
Sprawdź
/etc/rc0.d/README
- mówiMusisz utworzyć skrypt w,
/etc/init.d
a następnie dowiązać symbolicznie, aby/etc/rc0.d/
skrypty działały podczas zamykania.źródło
/etc/init.d
- zalecane./etc/rc0.d
, zaczynając odS
(aby uruchomić ten skrypt, gdy dojdziesz do poziomu 0.źródło
działa / etc / gdm / PostSession / Default sposób:
musisz „naprawić” gdm (lub mdm w moim przypadku) na początku skryptu:
/etc/init/mdm.conf
linia 15: zatrzymaj na poziomie działania [016]
DO:
zatrzymaj się po uruchomieniu poziomu uruchamiania rc [016]
źródło