¿Cómo ocultar (en Thunar y Nautilus) un directorio sin poner un punto en su nombre?

¿Cómo ocultar (en Thunar y Nautilus) un directorio sin poner un punto en su nombre?

Normalmente los programas de Linux almacenan la configuración del usuario en directorios ~/.*. Pero desafortunadamente algunos desarrolladores (de algunas aplicaciones que necesito) no siguen esta regla y no comienzan los nombres de las carpetas de almacenamiento de configuración con un punto. Esto da como resultado que carpetas nunca utilizadas por el usuario abarroten (tal vez no sea la palabra correcta, ya que no hay muchas, pero de todos modos molestan) un directorio de inicio. Cambiarles el nombre no es una opción, ya que las aplicaciones no los encontrarán en este caso (y los crearán nuevamente).

¿Hay alguna manera de ocultar una carpeta que no tiene un punto al comienzo de su nombre para que no se muestre en los navegadores de sistemas de archivos comunes (de hecho, uso Thunar de XFCE, junto con Midnight Commander y Krusader, pero no me importaría saber sobre Nautilus también)?

Respuesta1

Nautilo(Actualización: esto también debería funcionar con Thunar ahora)ocultará cualquier archivo o carpeta que aparezca en el archivo .hiddenubicado en el mismo directorio.

Hay dos formas de ocultar una carpeta en Nautilus:

Guión Nautilus

  1. Guarde el siguiente código en un nuevo archivo en su carpeta de inicio. Nombralo Hide.

    #!/usr/bin/env python
    
    import commands
    from os.path import join
    
    
    files = commands.getoutput("echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
    cwd = commands.getoutput("echo $NAUTILUS_SCRIPT_CURRENT_URI")
    cwd = cwd[7:]
    
    for f in files.split(" /"):
    
        f = f.split("/")[-1]
    
        commands.getoutput("echo "+f+" >> "+join(cwd, ".hidden"))
    
  2. Ejecute el siguiente comando para instalar el script:

    cp Hide ~/.local/share/nautilus/scripts/ && chmod u+x ~/.local/share/nautilus/scripts/Hide
    
  3. En Nautilus, seleccione uno o más archivos/carpetas y haga clic derecho. SeleccionarEsconderdesde elGuionesmenú:

    ingrese la descripción de la imagen aquí

    Vuelva a cargar la ubicación actual ( F5) y los archivos/carpetas seleccionados se ocultarán.

Línea de comando

Supongamos que desea ocultar una carpeta llamada "Grandes éxitos de Rick Astley", simplemente ejecute el siguiente comando:

echo "Rick Astley's Greatest Hits" >> .hidden

Respuesta2

Abra synaptic y busque "nautilus-hide", instálelo. Cerrar sesión e iniciar sesión. Ahora haga clic derecho en cualquier archivo o carpeta. Ahora verá una opción "Ocultar" en el menú contextual.

No modificará el nombre pero ocultará la carpeta.

Respuesta3

Yo modifiquéEl buen guión de Alvin.para ser (con suerte) más Pythonic (y potencialmente más rápido si se agregan muchos archivos, ya que .hiddense abre solo una vez):

#!/usr/bin/env python

import os

files = os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].split()
# According to https://help.ubuntu.com/community/NautilusScriptsHowto
# the list is newline-delimited, which is split()'s default separator

# No need for NAUTILUS_SCRIPT_CURRENT_URI
cwd = os.path.dirname(files[0])
# Assuming all selected files are in the same path, I cannot imagine why not

# Instead of relying on "echo ... >> ..." use Python's IO:
with open(os.path.join(cwd, ".hidden"), "a") as hidden:
    hidden.write("\n".join(
        [os.path.basename(f) for f in files.split()]))

información relacionada