Aby ukryć niektóre pliki i foldery przed niewykwalifikowanymi oczami, zmodyfikowałem ich nazwy, umieszczając kropkę na początku nazwy. Działa, a pliki są ukryte. Wścibscy ludzie, którzy nie są wykwalifikowani, ich nie zobaczą. Za pomocą Nautilusa włączam i wyłączam „pokazywanie ukrytych plików” za pomocą kombinacji klawiszy Ctrl- H. W porządku. Ale nigdy nie wiem, czy pozostawię tę funkcję włączoną, czy wyłączoną.
Chciałbym napisać skrypt bash, który automatycznie uruchamia się co, powiedzmy, co 10 minut i wyłącza funkcję „pokaż ukryte pliki”. Byłbym więc pewien, że wścibskie oczy nigdy nie zobaczą ukrytych plików. Problem polega na tym, że:
- Nie wiem, jakiej instrukcji bash użyć, jeśli w ogóle. Jestem pewien, że skrypty bash mogą zrobić prawie wszystko, więc pomóżcie!
- Nie wiem, jak automatycznie uruchamiać skrypt bash co xx sekund lub minut.
Jak mam to zrobić?
Odpowiedzi:
Możesz użyć,
gsettings
aby uzyskać łatwy dostęp do odpowiedzialnego ustawienia wdconf
rejestrze z wiersza poleceń.Ustawienie wyświetlania ukrytych plików (o nazwach rozpoczynających się od
.
) znajduje się w schemacieorg.gtk.Settings.FileChooser
i jest wywoływaneshow-hidden
.Dozwolone wartości to
true
(pokaż ukryte pliki) lubfalse
(nie pokazuj ich).Oto więc polecenia, aby włączyć lub wyłączyć wyświetlanie ukrytych plików:
Aby automatycznie uruchamiać to polecenie co x minut, istnieją dwa dobre zasoby do nauczenia się, jak to osiągnąć:
Korzystanie
cron
(minimalna rozdzielczość to 1 minuta): help.ubuntu.com: Cron How-toZauważ, że
cron
uruchamia zadania z bardzo ograniczonym zestawemenv
zmiennych, które nie obejmująDBUS_SESSION_BUS_ADDRESS
, ale są potrzebnegsettings
do działania. Musimy więc sami zadbać o ustawienie tej zmiennej w uruchamianym skrypcie, jeśli jest to potrzebnePrzygotowałem dla ciebie skrypt (z pomocą @JacobVlijm, który połączył mnie z tą odpowiedzią na Stack Overflow autorstwa @Radu Rădeanu ), który rozwiązuje ten problem i może być uruchamiany bezpośrednio przez
cron
:Bez użycia
cron
: Jak wykonać polecenie co 10 sekund (bez crona)?źródło
DBUS_SESSION_BUS_ADDRESS
zmienną środowiskową, aby edytowanie ustawień gset działało.Będę musiał sprawdzić inne wydania, ale w dniach 14.04 i 15.10
gsettings
polecenie sprawdzania widoczności ukrytych plików to:Aby ustawić wartość na
false
(nie pokazuj ukrytych plików):lub
true
:1. Skrypt do (ponownego) ustawienia wartości to:
Aby uruchomić:
reset_hidden.py
uruchom go za pomocą polecenia:
gdzie odstęp czasu jest w sekundach, np
Dodaj go do aplikacji startowych
Aby dodać go do aplikacji startowych: Dash> Aplikacje startowe> Dodaj. Dodaj polecenie:
2. Uruchom polecenie z crona
Jeśli wolisz uruchamiać polecenie z crona zamiast skryptu w tle, ważna zmienna środowiskowa nie jest ustawiona:
edycja / ustawianie ustawień z crona działa tylko wtedy, gdy najpierw ustawisz zmienną .
Jeśli chcesz uruchomić go z crona, spraw, aby cron uruchomił poniższy skrypt:
3. Bardziej elegancko, wykorzystując czas bezczynności
Jeśli pracujesz na komputerze, prawdopodobnie nie chciałbyś, aby pliki nieoczekiwanie się ukrywały podczas pracy.
Korzystając z poniższego skryptu, pliki zostaną ukryte po dowolnym czasie bezczynności. Konfiguracja jest dokładnie taka
[1]
sama, ale<interval>
teraz jest czas<idle_time>
(w sekundach), zanim pliki powinny się ukryć (ponownie).Skrypt potrzebuje
xprintidle
:Scenariusz
źródło
gconftool-2
dlanautilus-file-management-properties
strony man: http://manpages.ubuntu.com/manpages/hardy/man1/gconftool-2.1.htmlcrontab -e
do swojego harmonogramu. strona: https://help.ubuntu.com/community/CronHowtoźródło
gconf
jest przestarzały i nie jest już używany przez przynajmniej Nautilusa. W moim systemie 15.10 twoje ustawienie nie jest już dostępne. Powinieneś także opisać kroki jaśniej, zamiast tylko dawać wskazówki.