MacOS - Abrir manualmente como solo lectura

Espero que esta no sea una pregunta repetida: la búsqueda arrojó principalmente varias versiones de personas que tenían el problema opuesto.

¿Hay alguna manera de abrir manualmente un archivo como de solo lectura?

El caso de uso sería un archivo al que generalmente quiero acceso de escritura, pero en una ocasión particular quiero estar muy seguro de que no lo modificaré accidentalmente. Por ejemplo, un documento compartido que a veces necesito editar pero que actualmente solo quiero ver. Como ahorrador compulsivo/instintivo, esta sería una forma útil de protegerme de mí mismo.

Estoy ejecutando Big Sur 11.2.1 en una Macbook Air de principios de 2014.

Soluciones obvias:

  • Obtener información, cambiar mis permisos a solo lectura, abrir; una vez terminado, cierre, vuelva a cambiar mis permisos: Esto es una molestia.
  • Abrir, guardar inmediatamente como: Idealmente, quiero bloquearme antes de tener la oportunidad de romper el archivo.
  • Duplique el archivo, abra la versión 'borrador'; en general, elimine la versión borrador una vez que haya terminado: sigue siendo una especie de molestia, pero es el mejor Plan BI que se me ocurre.

Pensamientos finales:

  • Me imagino que esto se puede hacer desde la Terminal, y estoy feliz de saber cómo hacerlo, pero cualquier tipo de método GUI sería mejor.
  • Me imagino que hay una manera de crear un servicio para esto. No estás seguro por dónde empezar.

¡¡Gracias!!

Lo más probable es que alguien aquí conozca algún comando de terminal o AppleScript, sin embargo, sigo pensando que debe ejecutarlo presionando algún tipo de botón o programa. Presionar cmd + D para duplicar y luego abrir un archivo parece básicamente la misma cantidad de pasos y molestias.
Algo como f=/path/to/your/file; chmod -w "$f"; open -Wn "$f"; chmod +w "$f"quizás, pero requeriría algo más de lógica para cubrir todos los casos (por ejemplo, archivos que ya son de solo lectura, archivos que openno saben cómo abrir, etc.).
El bit inmutable también se puede activar y desactivar usando chflags uchg filenamey chflags nouchg filename. El bit inmutable esencialmente establece que el archivo no esté sujeto a cambios, por lo que no se puede editar ni eliminar. Un intento de editar dicho archivo resultará en una ventana emergente que preguntará si el usuario desea Duplicar y abrir, Cancelar o Desbloquear. El indicador uchg es el mismo mecanismo utilizado para bloquear y desbloquear archivos a través del comando Obtener información.

Respuestas (2)

Puede hacer esto en Finder con una simple pulsación de tecla y un clic.

Antes de abrir su archivo, haga esto:

  • Seleccione el archivo en Finder
  • Presione Command-I(es lo mismo que Obtener información en el menú Archivo)
  • Marque la casilla junto a Bloquear en la sección General.

Esto establece el bit inmutable, lo que significa que no puede cambiar el archivo de ninguna manera.

Deje abierta la ventana Obtener información y, cuando haya terminado, desmarque la casilla Bloquear para desbloquear el archivo.

Puede crear Servicios (o Acciones rápidas) para bloquear y desbloquear archivos, y asociar una pulsación de tecla con ellos, pero creo que es difícil con el esfuerzo. Si desea crearlos, ejecute Automator y cree una nueva acción rápida. Esto es lo que necesitas:Acción de bloqueo

Guárdelo con el nombre Lock.

Modifique cambiando el uchga nouchgy guárdelo como Bloquear.

Ahora estos aparecen como Servicios y en el submenú de Acción rápida del Finder.

También puede asociarlos con pulsaciones de teclas en Preferencias del sistema - Teclado - Accesos directos - Servicios. Elegí las combinaciones de teclas Control Command Ly Shift Control Command L.

Pegue el siguiente código AppleScript en un nuevo documento Script Editor.app y luego guárdelo como una aplicación. Llamé a mi versión como "Abrir archivo como Locked.app"

Este código de AppleScript me funciona con la última versión de macOS Big Sur.

tell application "Finder"
    set selectedFinderItems to selection
    if (count of items of selectedFinderItems) is not 1 ¬
        or class of item 1 of selectedFinderItems is not document file then
        activate
        display alert "Make Sure Only 1 FILE Is Selected" giving up after 4 ¬
            buttons {"OK"} default button "OK"
        return
    end if
    if locked of item 1 of selectedFinderItems is false then
        set locked of item 1 of selectedFinderItems to true
        open item 1 of selectedFinderItems
    else
        set locked of item 1 of selectedFinderItems to false
        activate
        display alert "Your File Is Now Unlocked" giving up after 3 ¬
            buttons {"OK"} default button "OK"
    end if
end tell

Después de guardar su nuevo subprograma, deberá otorgar los privilegios apropiados en las Preferencias del sistema tanto para "Abrir archivo como Locked.app" como para Finder.app, como se muestra en la siguiente imagen...

ingrese la descripción de la imagen aquí

Agregué un ícono personalizado de un candado a mi versión de "Abrir archivo como aplicación bloqueada". En Finder, puede agregar su aplicación a la barra de herramientas para acceder fácilmente manteniendo presionada la tecla "comando" mientras arrastra la aplicación a la herramienta. bar.

ingrese la descripción de la imagen aquí

Ahora, cada vez que tenga un solo archivo seleccionado en Finder, haga clic en su nueva aplicación en la barra de herramientas de Finder. Ese archivo se establecerá como bloqueado y luego se abrirá en la aplicación predeterminada para archivos de ese tipo.

ingrese la descripción de la imagen aquí

Ese archivo permanecerá bloqueado. Para desbloquear el archivo, simplemente asegúrese de que esté seleccionado en Finder y una vez más haga clic en "Abrir archivo como bloqueado.app" en la barra de herramientas de Finder (como se muestra en el siguiente .gif).

ingrese la descripción de la imagen aquí