W jednej sesji lub po ponownym uruchomieniu / wylogowaniu?
Jacob Vlijm
@JacobVlijm najlepiej nawet uporczywie podczas restartu / wylogowania.
orschiro
O ile link Parto nie stanowi rozwiązania, opcje / integracja wiersza poleceń nautilus jest dość ograniczona. Nie ma opcji odczytu aktualnie otwartego katalogu ani zmiany go z wiersza poleceń. Pamiętanie tego, czego nie widzisz, wydaje mi się niemożliwe. W ramach jednej sesji możliwa byłaby opcja trick & cheat.
Jacob Vlijm
@JacobVlijm umysł wyjaśnia, jak osiągnąć pamięć w ciągu jednej sesji? To byłaby świetna rzecz na początek. :)
Niestety, nautilus nie oferuje opcji wiersza poleceń do odczytu otwartego katalogu swoich okien, ani nie ma opcji wysłania istniejącego okna do innego katalogu. Ponieważ nie pamiętasz tego, czego nie widzisz, na pierwszy rzut oka zabrakło opcji.
jednak
Musimy nie robić tego xdotool, co nautilusnie, ale przynajmniej udawać opisywane zachowanie. Możemy to zrobić w taki sposób, aby „uwierzyłbyś”, gdybyś nie wiedział, jak to się robi.
Chociaż poniższe rozwiązanie nie przetrwa restartu, okno „zapamiętywania” (ewentualnie z kartami) i wszystkie otwarte katalogi są bardzo możliwe w ciągu jednej sesji. Ponieważ wspomniałeś, że jesteś zainteresowany „drugim wyborem”, oto jest.
Jak to działa; proces
Chociaż nie możemy zamknąć okno i zachować swoje zakładki i otworzył katalogi, my może uczynić istniejący okno pozornie (i całkowicie) zniknie z pomocą xdotool.
Jeśli następnie zmienimy zachowanie programu nautilusuruchamiającego w taki sposób, że najpierw szuka możliwych niezapapowanych okien do ponownego mapowania, przed otwarciem nowego, faktycznie mamy dokładnie takie samo zachowanie, jakbyśmy nautiluspamiętali ostatnio używane okna.
Jak skonfigurować
Skopiuj poniższy skrypt do pustego pliku i zapisz go jako remember.py
#!/usr/bin/env python3import subprocessimport os
app ="nautilus"
wfile = os.environ["HOME"]+"/.unmapped_"+appdef get(cmd):# simply a helper functionreturn subprocess.check_output(cmd).decode("utf-8").strip()def check_windowtype(w_id):# check the type of window; only unmap "NORMAL" windowsreturn"_NET_WM_WINDOW_TYPE_NORMAL"in get(["xprop","-id", w_id])def get_pid(app):# (try to) get the pid of the application try:return get(["pgrep", app])except subprocess.CalledProcessError:passdef get_matches(pid):# get the window list, select the valid (real) app's windows
ws = get(["wmctrl","-lpG"]).splitlines()
matches =[w.split()for w in ws if pid in w]return[w for w in matches if check_windowtype(w[0])==True]try:# try to read the file with unmapped windows
wininf =[l.split()for l in open(wfile).readlines()]exceptFileNotFoundError:# if there are no, unmap the current app's windows
filebrowserwins = get_matches(get_pid(app))if filebrowserwins:
open(wfile,"wt").write(("\n").join((" ").join(l)for l in filebrowserwins))for w in[w[0]for w in filebrowserwins]:
subprocess.Popen(["xdotool","windowunmap", w])else:
arg ="--new-window"if app =="nautilus"else""
subprocess.Popen([app, arg])else:# re- map unmapped windowsfor w in wininf:
wid = w[0]; geo = w[3:7]
subprocess.call(["xdotool","windowmap", wid])
subprocess.Popen(["wmctrl","-ir", wid,"-e","0,"+(",").join(geo)])
os.remove(wfile)
Skrypt potrzebuje zarówno wmctrla xdotool:
sudo apt-get install wmctrl xdotool
Skopiuj program nautilusuruchamiający z /usr/share/applicationsdo~/.local/share/applications
i poszukaj pierwszej linii, zaczynając od Exec=. Zmień to na:
Exec=python3 /path/to/remember.py
Zapisz i zamknij plik.
Utwórz skrót klawiaturowy za pomocą tego samego polecenia: Wybierz: Ustawienia systemu> „Klawiatura”> „Skróty”> „Skróty niestandardowe”. Kliknij „+” i dodaj polecenie:
python3 /path/to/remember.py
Teraz wyloguj się i zaloguj ponownie
Jak używać
Użycie jest bardzo proste:
Aby otworzyć okno, wykonaj jak zwykle: kliknij program uruchamiający nautilus. Zakładki w oknie, jak chcesz:
Aby definitywnie zamknąć okno , zamknij je, klikając pole „zamknij” ( x ) okna.
Aby zachować okno (okna) + wszystkie jego zakładki:
naciśnij klawisz skrótu. Okno zniknie (pozornie zamknięte).
Następnym razem, gdy klikniesz program uruchamiający, okna nautilusa pojawią się dokładnie tak jak ostatnim razem, nawet pozycje okien zostaną zachowane.
Otóż to
Uwaga
W testach, które przeprowadziłem, nie mogłem znaleźć żadnych wad (14.04). Jeśli możesz je spotkać, proszę wspomnieć!
W sekcji Jak używać -sugerowałem, aby kliknąć ikonę nautilus, aby odwzorować możliwe niezmapowane okna. Klawisz skrótu zrobi to samo, dzięki czemu można zobaczyć, co jest dla Ciebie najwygodniejsze. Ponadto, jeśli otworzyłeś folder podwójnym kliknięciem po cofnięciu mapowania na więcej folderach, niezmapowane foldery nadal zostaną ponownie mapowane przez skrót.
EDYTOWAĆ:
Użytkownicy Nemo
Użytkownicy Nemo mogą równie dobrze skorzystać z powyższego rozwiązania, ale:
Najłatwiejszym sposobem uzyskania dostępu do folderów jest tworzenie zakładek. Nie będziesz mieć otwartych kart, ale możesz przynajmniej szybko zobaczyć foldery, które chcesz (i jeśli o tym pomyślisz, zakładki działają jak karty).
Wystarczy otworzyć folder w Nautilusie, przejść do menu Zakładki i dodać zakładkę.
Odpowiedzi:
(Bardzo) ograniczone opcje wiersza poleceń nautilus
Niestety, nautilus nie oferuje opcji wiersza poleceń do odczytu otwartego katalogu swoich okien, ani nie ma opcji wysłania istniejącego okna do innego katalogu. Ponieważ nie pamiętasz tego, czego nie widzisz, na pierwszy rzut oka zabrakło opcji.
jednak
Musimy nie robić tego
xdotool
, conautilus
nie, ale przynajmniej udawać opisywane zachowanie. Możemy to zrobić w taki sposób, aby „uwierzyłbyś”, gdybyś nie wiedział, jak to się robi.Chociaż poniższe rozwiązanie nie przetrwa restartu, okno „zapamiętywania” (ewentualnie z kartami) i wszystkie otwarte katalogi są bardzo możliwe w ciągu jednej sesji. Ponieważ wspomniałeś, że jesteś zainteresowany „drugim wyborem”, oto jest.
Jak to działa; proces
Chociaż nie możemy zamknąć okno i zachować swoje zakładki i otworzył katalogi, my może uczynić istniejący okno pozornie (i całkowicie) zniknie z pomocą
xdotool
.Jeśli następnie zmienimy zachowanie programu
nautilus
uruchamiającego w taki sposób, że najpierw szuka możliwych niezapapowanych okien do ponownego mapowania, przed otwarciem nowego, faktycznie mamy dokładnie takie samo zachowanie, jakbyśmynautilus
pamiętali ostatnio używane okna.Jak skonfigurować
Skopiuj poniższy skrypt do pustego pliku i zapisz go jako
remember.py
Skrypt potrzebuje zarówno
wmctrl
axdotool
:Skopiuj program
nautilus
uruchamiający z/usr/share/applications
do~/.local/share/applications
dla 15.04 i późniejszych:
dla wcześniejszych wersji Ubuntu:
otwórz lokalną kopię za pomocą gedit:
(w przypadku
15.04 +
)i poszukaj pierwszej linii, zaczynając od
Exec=
. Zmień to na:Zapisz i zamknij plik.
Utwórz skrót klawiaturowy za pomocą tego samego polecenia: Wybierz: Ustawienia systemu> „Klawiatura”> „Skróty”> „Skróty niestandardowe”. Kliknij „+” i dodaj polecenie:
Teraz wyloguj się i zaloguj ponownie
Jak używać
Użycie jest bardzo proste:
Aby otworzyć okno, wykonaj jak zwykle: kliknij program uruchamiający nautilus. Zakładki w oknie, jak chcesz:
Aby definitywnie zamknąć okno , zamknij je, klikając pole „zamknij” ( x ) okna.
Aby zachować okno (okna) + wszystkie jego zakładki:
naciśnij klawisz skrótu. Okno zniknie (pozornie zamknięte).
Następnym razem, gdy klikniesz program uruchamiający, okna nautilusa pojawią się dokładnie tak jak ostatnim razem, nawet pozycje okien zostaną zachowane.
Otóż to
Uwaga
EDYTOWAĆ:
Użytkownicy Nemo
Użytkownicy Nemo mogą równie dobrze skorzystać z powyższego rozwiązania, ale:
W sekcji głównej skryptu zmień:
w:
W punkcie 3 użyj:
W punkcie 4 użyj:
Testowany, okazał się działać z nemo
źródło
Polecam użycie innego menedżera plików, jeśli nie masz nic przeciwko, ponieważ Nautilus nie ma tej funkcji .
Oto jedna alternatywna aplikacja, która załatwia sprawę : SpaceFM
Oto jak go zainstalować.
Ma bogate funkcje, takie jak, oczywiście, ponowne otwieranie ostatnich zakładek .
Aby ustawić go jako domyślny menedżer plików:
xdg-mime default spacefm.desktop inode/directory
źródło
Wypróbuj te skrypty, aby zapisać i przywrócić zakładki menedżera plików nautilus. https://github.com/susurri/nautilus_save_tabs/
źródło
Najłatwiejszym sposobem uzyskania dostępu do folderów jest tworzenie zakładek. Nie będziesz mieć otwartych kart, ale możesz przynajmniej szybko zobaczyć foldery, które chcesz (i jeśli o tym pomyślisz, zakładki działają jak karty).
Wystarczy otworzyć folder w Nautilusie, przejść do menu Zakładki i dodać zakładkę.
źródło