Creé un acceso directo a través de la opción "hacer enlace". Cuando entro en la carpeta de este acceso directo, no puedo ver ninguna carpeta encima, así que no puedo navegar fácilmente hacia ellas.
¿Hay alguna manera de subir una carpeta en la GUI? Tal vez una tecla de acceso rápido? (No se puede hacer cd ..
esta vez ^ __ ^).
En Windows, por ejemplo, puedo navegar de la manera que describo, aquí hay una imagen de Win10 que lo explica:
nautilus
symbolic-link
JohnDoea
fuente
fuente
Alt+up key
Respuestas:
¿Por qué esta es una pregunta desafiante?
La pregunta tiene algunos desafíos:
nautilus
no se comunica directamente desde la línea de comandos, por ejemplo, para obtener el directorio activo actualmente, ni puede "enviar" la carpeta actualmente abierta (-ventana) a otro directorio desde la línea de comandos."NAUTILUS_SCRIPT_CURRENT_URI"
, Nautilus no devuelve la ruta real a la carpeta actual, pero "ve" el enlace como si fuera una carpeta real.Por lo tanto, la solución es tan sucia como se pone; Necesitamos encontrar soluciones. A continuación, cuatro opciones para resolver el problema.
1. haga clic derecho para subir un nivel
Para obtener la ruta real al directorio actual, tenemos que recuperar información del enlace. Podemos hacerlo usando
ls -l
el enlace, que generará, por ejemplo:donde la sección posterior
->
es la ruta real dentro del enlace simbólico, o, usandopython
:Al usar esto en un
nautilus
script, podemos obtener indirectamente la ruta real al archivo o carpeta actual.Entonces, si tenemos el camino, ¿cómo hacemos que el nautilus suba un nivel?
Nuevamente, no podemos resolver esto y mantener nuestras manos limpias. Para subir un nivel, primero editamos un poco la ruta encontrada, desde:
dentro
luego, usando
xdotool
para simular Ctrl+ L(el acceso directo de GUI para insertar una ruta en una ventana de nautilus, ya que no hay una opción cli para mover a otro directorio usando la ventana actual ), y luegoxclip
pegar la ruta editada + Enter, tenemos una solución de trabajo !En la práctica
Estamos en una carpeta, abierta desde un enlace ("Enlace a Telegram") en mi escritorio. La carpeta real es una subcarpeta de mi
Downloads
carpeta:Luego, si hacemos clic derecho en cualquiera de los archivos dentro de la carpeta para ejecutar el script:
Automáticamente, se inserta la ruta al directorio superior:
Y, también automáticamente, Returnse presiona, y subimos un nivel de directorio hacia arriba:
La secuencia de comandos
Como instalar
El script necesita ambos
xdotool
yxclip
:crear, si aún no existe, el directorio
Copie el script anterior en un archivo vacío, guárdelo como
level_up
(sin extensión)~/.local/share/nautilus/scripts
y hágalo ejecutableAhora debería poder ejecutar el script haciendo clic derecho en un archivo (cualquiera)> scripts> level_up:
[ EDITAR ] Cambié el script anterior para pegar la ruta en la
nautilus
ventana, en lugar dexdotool
escribirlo . Seneeds
xclip
instalará, pero es una mejora importante, especialmente en caminos muy largos.2. Alternativamente, abra una nueva ventana nautilus en el directorio superior
Usted podría evitar el uso de
xdotool
, al hacer el guión abrir una nueva ventana de Nautilus, en el directorio de los padres. El guión sería aún más corto:En este caso, no necesitaría instalar
xdotool
. Incluso podríamos extender el script cerrando la ventana original y colocando la nueva ventana exactamente en la misma posición (y tamaño).La desventaja es que el historial de la ventana original se pierde de esta manera.
3. Una solución adicional: forma alternativa de crear (automáticamente) enlaces
No es relevante para los enlaces existentes, pero cuando se usa desde la GUI, un script nautilus para crear automáticamente
.desktop
archivos ejecutables al hacer clic derecho puede ser útil:haga clic derecho en el directorio para crear un acceso directo (que se comporta como un enlace)
A diferencia de los enlaces simbólicos, estos enlaces lo llevarán a la carpeta real, sin comportarse como una carpeta en sí:
La secuencia de comandos
Cómo utilizar
make_link
(sin extensión)~/.local/share/nautilus/scripts
y hágalo ejecutable.desktop
creará un archivo ejecutable en el mismo directorio, muévalo a otro lugar si es necesario; La ruta vinculada es absoluta.Dale al enlace un ícono distintivo
Puede dar al enlace alternativo un icono distintivo. Si busca dentro del directorio
/usr/share/icons
"carpeta", aparecen numerosas opciones válidas.Si en la secuencia de comandos
"Icon=folder",
se reemplaza la línea porIcon=stock_folder-copy,
(use el nombre del icono sin extensión), el resultado en mi sistema es:Por supuesto, también puede usar su propio icono personalizado, pero si usa rutas completas (no use
~
), debe incluir la extensión del icono.4. Vaya al directorio superior con una tecla de acceso directo
Probablemente la opción más conveniente; con la ventana de nautilus al frente, presione una tecla de acceso directo para mover un directorio hacia arriba.
La secuencia de comandos
Usar
Para esta solución, ambos
xclip
yxdotool
Deben estar en su sistema.Copie el script en un archivo vacío, guárdelo como
level_up.py
(en cualquier lugar).Agréguelo a una tecla de acceso directo: elija: Configuración del sistema> "Teclado"> "Accesos directos"> "Accesos directos personalizados". Haga clic en "+" y agregue el comando:
Nota : las opciones de acceso directo son un poco limitadas en este caso, ya que el script en sí simularáCtrl+L, yCtrl+Alt+Lhará que cierre la sesión ...Ctrl+\funcionó bien en mi sistema.
Explicación
Este script también simula Ctrl+ L, pero en lugar de usar nautilus '
"NAUTILUS_SCRIPT_CURRENT_URI"
, usaxclip
para copiar la ruta seleccionada automáticamente en la ventana de nautilus. Al igual que la opción 1, el script calcula la ruta real y deriva el directorio superior.Esta opción puede ser útil si prefiere que el teclado utilice el botón derecho.
fuente
O para Ubuntu 14.04, nautilus 3.10-1, con el
xdotool
paquete agregado, solo use lo siguiente en su.local/share/nautilus/scripts/updirtree
archivo:La cita final solo debe contener una nueva línea o return (
0x0a
). Elpwd
de dentro Nautilus produce un resultado diferente que cuando se ejecuta desde una fiesta / Terminal - devuelve la ruta real, no el camino a través del enlace.Estoy de acuerdo en que no tiene sentido, es indocumentado y ni siquiera puedo entender qué tipo de entorno de ejecución ejecuta el código (no puedo encontrar ningún shell que produzca ese resultado), pero funciona. Es un truco, por eso incluí la versión de nautilus. ¿Quién sabe cuánto tiempo funcionará? Podría romperse en la próxima actualización de nautilus (o el intérprete desconocido), pero para mí, funciona en enlaces a ubicaciones montadas, enlaces a lugares en el árbol de directorios o simplemente ubicaciones simples en el árbol de directorios.
fuente
$(pwd)
es el directorio de trabajo del shell , no de nautilus . Ver help.ubuntu.com/community/NautilusScriptsHowtoxclip
pegar la ruta, que no está sujeta a la longitud de la ruta.Una solución limpia pero necesita reconstrucción de origen al revertir esta confirmación :
Instrucciones de construcción:
Fuente de descarga:
Descargar dependencias de compilación
Realice la modificación necesaria desde el parche anterior
Editar
src/nautilus-mime-actions.c
Construir e instalarlo
Para probar sin instalación
Para instalarlo
Esto hará que Nautilus resuelva los enlaces en su ruta de destino. Por cierto, esto se informó como error hace algún tiempo. Si cree que esta es una característica, envíe otro informe de error, solicitando un interruptor de configuración o un acceso directo específico para ello.
Referencia: ¿Cómo puedo evitar que Nautilus desreferencia los enlaces simbólicos? [cerrado]
fuente
/usr/local/bin/
, por lo que el sistema siempre ejecutará la copia modificada, como se indica en$PATH