0 votos

llamando a abrir desde el terminal con la ruta del archivo smb y la vista previa como aplicación se abre el buscador en lugar de la vista previa

Estoy tratando de abrir un archivo en un recurso compartido smb en la vista previa de la terminal. El siguiente comando abre la carpeta que contiene en finder en lugar del archivo en vista previa.

open -a /Applications/Preview.app "smb://myshare._smb._tcp.local/path/to/file/my_file.pdf"

Actualización 1: He probado con y sin el modificador -a. En ambos casos ocurre lo mismo: el finder se abre con la última carpeta (/ruta/a/archivo). La vista previa ya está asociada a los PDF, por lo que debería abrirse automáticamente.

1voto

klanomath Puntos 19587

Sólo tiene que utilizar /Applications/Preview.app/Contents/MacOS/Preview /path/to/file.pdf en lugar de /Applications/Preview.app /path/to/file.pdf y debería funcionar.

1voto

Mapad Puntos 3033

1.) Su situación no está relacionada con la open comando. Antes de poder pasar la ruta de un archivo compartido remoto como parte de un argumento, el recurso compartido debe establecerse primero en un punto de montaje. Aquí hay una ilustración para mostrar lo que sucede--o no lo hace con el más simple de los comandos:

ls smb://myshare._smb._tcp.local/path/to/file/my_file.pdf

De hecho, referenciar un archivo de la manera que has descrito -invocando su ruta a través de una petición de montaje- hace que esa ruta se convierten en un punto de montaje. La ventana del Finder que mencionaste ver:

... el buscador se abre con la última carpeta (/ruta/a/archivo) ...

representa el último directorio conocido que el sistema pudo utilizar para crear un recurso compartido montable. Ejecuta el comando como lo hiciste, y mira en /Volumes para ver a qué me refiero. Es probable que no sea el nombre del recurso compartido que estás acostumbrado a ver en esa máquina.

2.) Al utilizar open como un comando para lanzar una aplicación que está presente en /Aplicaciones (o en ~/Aplicaciones), no es necesario proporcionar su ruta completa o su extensión. Aunque las páginas del manual parecen indicar lo contrario por su presentación, el comando open -a Preview equivale a open -a /Applications/Preview.app

3.) Por ello, si los servicios de lanzamiento asocian un tipo de archivo concreto con una aplicación por defecto -como ocurre con los archivos .pdf y otros archivos de imagen con Vista Previa, por ejemplo- no es necesario incluir el nombre de la aplicación en el argumento. El comando open /path/to/my_file.pdf equivale a open -a Preview /path/to/my_file.pdf

4.) No soy muy listo en lo que respecta a UNIX, así que mi siguiente intento de solución será sin duda mejorado pronto por alguien que tenga los conocimientos de los que yo carezco.

Empezaré con la forma más sencilla que conozco para montar un sistema de archivos remoto (no requiere crear un nodo /dev como con mount o creando un directorio de punto de montaje como con mount_smbfs ).

open smb://myshare._smb._tcp.local/share_name/ (las comillas no son necesarias)

El recurso compartido se montará en /Volumes, y podrá abrir el archivo en Vista Previa con este comando:

open /Volumes/share_name/path_to_file/my_file.pdf

Los dos comandos pueden combinarse en una sola línea con && :

open smb://myshare._smb._tcp.local/share_name/ && open /Volumes/share_name/path_to_file/my_file.pdf

He probado todo lo anterior [OS X 10.9.5], y a menos que haya cometido un error en alguna parte, debería funcionar. Buena suerte.

0voto

Hamid Rohani Puntos 359

Suponiendo que tenga USERNAME y PASSWORD como credenciales para conectarse al myshare._smb._tcp.local puede utilizar curl en un shell para leer el contenido del archivo y pasarlo a través de una tubería a la aplicación de Vista Previa:

$ curl smb://USERNAME:PASSWORD@myshare._smb._tcp.local/path/to/file/my_file.pdf | open -f -a Preview

Si tiene un shell POSIX (por ejemplo, bash, zsh, ... [NO fish]) puede utilizar la salida de sustitución de procesos de redirección a la entrada de Preview:

$ open -f -a Preview < <(curl smb://USERNAME:PASSWORD@myshare._smb._tcp.local/path/to/file/my_file.pdf)

Y si quieres usar una tubería con nombre:

$ mkfifo /tmp/my_pipe
$ curl smb://USERNAME:PASSWORD@myshare._smb._tcp.local/path/to/file/my_file.pdf > /tmp/my_pipe & open -f -a Preview < /tmp/my_pipe
$ rm /tmp/my_pipe

-1voto

Steve Guidi Puntos 160

No acabas de probar "open -a Preview /path-to-your-file.pdf"

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X