Jak zapobiec tworzeniu pliku „ostatnio używany.xbel”?

11

Chcę trwale uniemożliwić Ubuntu 12.10 utworzenie listy plików „ostatnio używanych”. Ta lista wydaje się być zapisana w pliku:

/home/user/.local/share/recently-used.xbel

Próbowałem usunąć ten plik, ale jest on odtwarzany za każdym razem, gdy rozpoczynam nową sesję logowania. Muszę wiedzieć, jak zapobiec odtwarzaniu tego pliku.

Jason
źródło
Chciałbym też to rozwiązać.
inwersja
Czy ktoś może zgłosić błąd na bugzilla.gnome.org?
int_ua

Odpowiedzi:

12

Aby wyłączyć listę aplikacji opartych na GTK 3 , wykonaj następujące kroki:

rm ~/.local/share/recently-used.xbel

Jeśli NIE MA „~ / .config / gtk-3.0 / settings.ini”, to

mkdir -p ~/.config/gtk-3.0
    echo -e "[Settings]\ngtk-recent-files-max-age=0\ngtk-recent-files-limit=0" > ~/.config/gtk-3.0/settings.ini

Jeśli istnieje „~ / .config / gtk-3.0 / settings.ini”, to

echo -e "\ngtk-recent-files-max-age=0\ngtk-recent-files-limit=0" >> ~/.config/gtk-3.0/settings.ini

(zwróć uwagę na różnicę „>>” a różnica „>”; „>>” dołącza się do pliku, a pojedynczy „>” całkowicie go zastępuje, bez kopii zapasowej, jeśli już istnieje)

W obu przypadkach:

rm ~/.local/share/recently-used.xbel

Aby wyłączyć listę aplikacji opartych na GTK 2 , wykonaj ten krok:

echo gtk-recent-files-max-age=0 >> ~/.gtkrc-2.0

Te kroki są lepsze niż zmiana uprawnień do pliku, ponieważ zapobiegają wyświetlaniu komunikatów o błędach podczas uruchamiania aplikacji opartych na GTK, które korzystają z pliku.

Szczegółowe informacje można znaleźć tutaj - https://alexcabal.com/disablowanie-gnomes-recently-used-file-list-the-better-way/

kingmilo
źródło
Będzie miło, jeśli podasz rzeczywiste kody gtk2i gtk3w swojej odpowiedzi. Ludzie mogą wtedy spojrzeć na link w tle, jeśli chcą. Byłoby pomocne, gdyby link był niedostępny
@ vasa1 Dobry pomysł zrobi to wkrótce.
kingmilo,
1
OK, wprowadziłem zmiany, usunąłem wszystkie zakładki z ostatnio używanego pliku .xbel i zalogowałem się ponownie. Utworzyłem kilka plików. Jak dotąd dobrze wygląda. Chociaż wygląda na to, że niektóre programy mogą mieć własne wewnętrzne listy „ostatnio używane”. Jednym z nich wydaje się LibreOffice Calc.
1
Ostatni punkt :) Ktoś może jeszcze dowiedzieć się, do czego uzyskano dostęp. Zobacz ten kod na przykład: find ~/{Documents,Desktop,Downloads,Music} -ctime -1 -type f -exec bash -c 'select f;do [[ -n $f ]]&&xdg-open "$f"||exit;done' _ '{}' +. Opiera się na sugestiach schragge w tym wątku i nie polega na recently-used.xbel. Konkluzja: jeśli ktoś inny ma dostęp do komputera, „zwykłe” środki nie wystarczą.
1
Uwaga: te ustawienia nie zapobiegają dodatkowym (meld:3588): Gtk-WARNING **: Attempting to store changes into '/home/user/.local/share/recently-used.xbel', but failed: Failed to rename file '/home/user/.local/share/recently-used.xbel.ZT44NX' to '/home/user/.local/share/recently-used.xbel': g_rename() failed
zapisom na
1

Przekonałem się, że majstrowanie przy ostatnio używanym pliku l.xbe nie ma żadnego wpływu (przynajmniej na Ubuntu 17.04+). Możesz go usunąć, wyczyścić, / dev / null, ustawić na niezmienny, strzelić w jakikolwiek sposób, a to nie zadziała. Na przykład Nautilus ma wbudowaną sekcję „Ostatnio używane” w panelu bocznym - i nie można go w żaden sposób usunąć i przetrwa on wycierany plik .xbel.

Na GNOME / Ubuntu zrób to (co zadziałało dla mnie):

  1. Otwórz terminal i uruchom gnome
$ gnome-control-center
  1. Przejdź do „Grupy prywatności” i kliknij „Prywatność” wprowadź opis zdjęcia tutaj

  2. Kliknij „Użycie i historia”, aw następnym oknie dialogowym ustaw „Ostatnio używane” na WYŁ .

Zaraz po wykonaniu tej czynności możesz zobaczyć listę „Ostatnio używane” w Nautilusie pustą. (Spowoduje to również wyczyszczenie pliku .xbel - sprawdź.) Gotowe.

isync
źródło
1

Tak jak poprzednio, cokolwiek robisz, zawsze tam jest. Ale możesz sprawić, by był niezmienny, aby przestał się rejestrować i pozostał pusty. Polecenie: sudo chattr + i ~ / .local / share / latest-used.xbel. System, a także ty, nie będzie w stanie nic z tym zrobić, dopóki nie zmienisz + i (niezmienne). To jest polecenie odwrotne, aby ponownie uruchomić ponowne logowanie: sudo chattr -i ~ / .local / share / niedawno-używany.xbel. (Tylko jeśli z jakiegoś powodu chcesz ponownie użyć ostatnio używanego). Udało mi się wyczyścić logi, przenosząc folder do / dev / shm i zamykając komputer. Folder wraca pusty.

Candu
źródło
0

Do tej pory ten plik jest odtwarzany, nawet jeśli chcesz go rootować lub uczynić niezmiennym. Nawet jeśli ustawisz maksymalny wiek na 0, nadal pamięta katalogi.

Wdrożyłem obejście, które usuwa ten plik co 5 minut. Jest to bardzo nieprzyjemne obejście: utwórz pozycję cron, która często usuwa plik:

crontab -e

# clear gtk recently used list every 5 minutes
*/5 *   *   *   *   echo "" > .local/share/recently-used.xbel

Niektóre aplikacje nadal domyślnie korzystają z ostatnio używanej listy, ale to spełnia twoje pytanie, aby trwale uniemożliwić Ubuntu 12.10 utworzenie listy „ostatnio używanych” plików.

odwracać
źródło
-1

Zakładając, że jest to tylko ten plik, którego nie można zapisać, możesz spróbować zmienić jego uprawnienia, aby nie można było uzyskać do niego dostępu.

Najpierw usuń plik. Następnie utwórz nowy, pusty. Następnie dostosuj jego uprawnienia.

cd ~/.local/share
rm recently-used.xbel
touch recently-used.xbel
chmod 000 recently-used.xbel

Jeśli chcesz, możesz nawet zmienić jego własność, aby żaden program nie był uruchomiony, ponieważ użytkownik może zmienić swoje uprawnienia i napisać do niego:

sudo chown root:root recently-used.xbel

Niektóre programy mogą powodować błędy (z ostatecznym dostosowaniem lub bez).

Eliah Kagan
źródło
Masz pojęcie, które programy zapisują w tym pliku?
Widzę ten plik (xml) w Lubuntu, który nie ma Zeitgeist, AFAIK.
Dostaję tylko monit. Tak, moja to czysta instalacja Lubuntu.
1
@ Aplikacje oparte na vasa1 GTK zapisują do tego pliku.
kingmilo,
Programy GTK wysyłają błąd do stderr, jeśli plik ten jest chmod do roota, co niezwykłe, plik jest odtwarzany jako użytkownik jako właściciel. Jakie tajemnicze! To rozwiązanie nie działa.
inwertowany