¿Es posible conservar mis pestañas abiertas entre el cierre y la apertura del administrador de archivos Nautilus?
Preferiblemente incluso en diferentes cierres de sesión y reinicios.
¿Es posible conservar mis pestañas abiertas entre el cierre y la apertura del administrador de archivos Nautilus?
Preferiblemente incluso en diferentes cierres de sesión y reinicios.
Respuestas:
Desafortunadamente, nautilus no ofrece opciones de línea de comandos para leer el directorio abierto de sus ventanas, ni tiene ninguna opción para enviar una ventana existente a otro directorio. Como no puede recordar lo que no ve, nos estamos quedando sin opciones a primera vista.
sin embargo
Tenemos que xdotool
, no hacer lo nautilus
que no, sino al menos fingir el comportamiento que usted describe. Podemos hacerlo de tal manera que "lo creería" si no supiera cómo se hace.
Aunque la solución a continuación no sobrevive a un reinicio, la ventana "recordar" (posiblemente con pestañas) y todos los directorios abiertos es muy posible dentro de una sesión. Como mencionó estar interesado en eso como una "segunda opción", aquí está.
Aunque no podemos cerrar una ventana y preservar sus pestañas y directorios abiertos, nos podemos hacer una ventana existente en apariencia (y totalmente) desaparece, con la ayuda de xdotool
.
Si posteriormente cambiamos el comportamiento del nautilus
iniciador de tal manera que primero busque posibles ventanas no asignadas para reasignarlas, antes de abrir una nueva, efectivamente tenemos exactamente el mismo comportamiento como si nautilus
recordara las últimas ventanas utilizadas.
Copie el script a continuación en un archivo vacío, guárdelo como remember.py
#!/usr/bin/env python3
import subprocess
import os
app = "nautilus"
wfile = os.environ["HOME"]+"/.unmapped_"+app
def get(cmd):
# simply a helper function
return subprocess.check_output(cmd).decode("utf-8").strip()
def check_windowtype(w_id):
# check the type of window; only unmap "NORMAL" windows
return "_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:
pass
def 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()]
except FileNotFoundError:
# 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 windows
for 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)
El script necesita ambos wmctrl
y xdotool
:
sudo apt-get install wmctrl xdotool
Copie el nautilus
iniciador de /usr/share/applications
a~/.local/share/applications
para 15.04 y posterior:
cp /usr/share/applications/org.gnome.Nautilus.desktop ~/.local/share/applications
para versiones anteriores de Ubuntu:
cp /usr/share/applications/nautilus.desktop ~/.local/share/applications
abra la copia local con gedit:
gedit ~/.local/share/applications/org.gnome.Nautilus.desktop
(en caso de 15.04 +
)
y busca la primera línea, comenzando con Exec=
. Cámbielo a:
Exec=python3 /path/to/remember.py
Guarde y cierre el archivo.
Cree un método abreviado de teclado con el mismo comando: Elija: Configuración del sistema> "Teclado"> "Métodos abreviados"> "Métodos abreviados personalizados". Haga clic en "+" y agregue el comando:
python3 /path/to/remember.py
Ahora cierre sesión y vuelva a iniciarla
El uso es muy simple:
Para abrir una ventana, haz lo de siempre: haz clic en el iniciador de nautilus. Pestaña la ventana como quieras:
Para cerrar una ventana definitivamente , ciérrela haciendo clic en el cuadro "cerrar" ( x ) de la ventana .
Para preservar la (s) ventana (s) + todas sus pestañas:
presione la tecla de acceso directo. Las ventanas se desvanecerán (aparentemente cerradas).
La próxima vez que haga clic en el iniciador, las ventanas de nautilus aparecerán exactamente como la última vez, incluso se conservarán las posiciones de las ventanas.
Eso es
Los usuarios de Nemo pueden usar igualmente la solución anterior, pero:
En la sección principal del script, cambie:
app = "nautilus"
dentro:
app = "nemo"
En el punto 3, use:
cp /usr/share/applications/nemo.desktop ~/.local/share/applications
En el punto 4, use:
gedit ~/.local/share/applications/nemo.desktop
Probado, demostró estar trabajando con nemo
Recomiendo usar otro administrador de archivos en su lugar si está bien, ya que Nautilus no tiene esa función .
Aquí hay una aplicación alternativa que hace el truco: SpaceFM
Aquí se explica cómo instalarlo.
Tiene características ricas como, por supuesto, volver a abrir las últimas pestañas .
Para convertirlo en el administrador de archivos predeterminado :
xdg-mime default spacefm.desktop inode/directory
Pruebe estos scripts para guardar y restaurar pestañas del administrador de archivos nautilus. https://github.com/susurri/nautilus_save_tabs/
La forma más fácil de acceder a las carpetas es marcar. No mantendrá sus pestañas abiertas, pero al menos puede ver las carpetas que desea rápidamente (y si lo piensa, los marcadores actúan como pestañas).
Simplemente abra una carpeta en Nautilus, vaya al menú Marcador y agregue un marcador.