Automatyczne szyfrowanie / deszyfrowanie plików: wykrywanie pliku jest zamknięte w aplikacji Mate / Gnome

1

Piszę skrypt bash, aby automatycznie odszyfrować plik do edycji i zaszyfrować go z powrotem po zamknięciu pliku. Typ pliku może być dowolny: zwykły tekst, dokument biurowy itp. Korzystam z Linux Mint z Mate.

Utknąłem: nie mogę niezawodnie wykryć, czy plik został zamknięty w aplikacji, aby skrypt mógł kontynuować szyfrowanie go z powrotem i usuwanie odszyfrowanej wersji.

Pierwsza wersja skryptu po prostu używała vima z plikami tekstowymi. Skrypt dzwonił do niego bezpośrednio i nie szedł dalej, dopóki vim nie został zamknięty. Teraz, gdy chcę to zrobić z innymi plikami, wypróbowałem następujące rzeczy:

xdg-open: kończy działanie natychmiast po wywołaniu aplikacji powiązanej z typem pliku. W ten sposób skrypt trwa i nie przynosi pożytku.

Zmodyfikowana funkcja xdg-open do wywoływania powiązanej aplikacji: uruchamia ją w bieżącym skrypcie, więc teraz widzę wyjście z programu. Działa tylko wtedy, gdy aplikacja jeszcze nie działała. Jeśli tak, nowy proces jest zakończony, a skrypt kontynuowany.

Więc próbuję teraz zobaczyć, jak jakiś plik został zamknięty w już działającej aplikacji. Obecnie eksperymentuje z pluma / gedit i inotifywait. To też nie działa - natychmiast po otwarciu pliku wykrywa zdarzenie CLOSE_NOWRITE, CLOSE.

Czy w ogóle można to wykryć bez konkretnych haków do różnych zastosowań? Być może jakieś haki X?

Dziękuję Ci.

Queeq
źródło

Odpowiedzi:

1

Nie, nie ma haków X dla czegoś takiego. Będziesz musiał zrobić coś specyficznego dla każdej aplikacji, ponieważ wszystkie one będą obsługiwały dostęp do plików w różny sposób.

Iain
źródło