Cómo ejecutar una aplicación de automatización que ejecuta una aplicación X11 a través de shell script varias veces

0

Tengo un Applescript para lanzar xemacs, pero pensé que sería bueno tener algo en lo que pudiera soltar archivos (y tener una aplicación para elegir de menús contextuales en el submenú "abrir con"), así que intenté hacer una aplicación Automator.

Llamé a la aplicación "XEmacs Opener.app" y funciona ... una vez. Pero no abrirá nuevas ventanas de XEmacs (a menos que haga clic en el botón Ejecutar del propio automatizador) hasta que se cierre la primera.

Intenté ejecutar el script de shell con nohup, usé '&' para ponerlo en segundo plano y luego llamar a exit, pero esto no resuelve el problema:

nohup /sw/bin/xemacs "$@" &
exit

Aquí hay una captura de pantalla en caso de que no haya explicado completamente cómo está configurado:

También intenté llamar a xemacs sin ningún argumento. Entonces, ¿cómo puedo obtener esto para abrir varias instancias de xemacs o no es posible?

    
pregunta hepcat72 05.11.2014 - 19:55

2 respuestas

3

Lo descubrí. Solo necesito dirigir la salida a / dev / null:

/sw/bin/xemacs "$@" &> /dev/null &

Fácil peasy. La salida estaba siendo agarrada por el script de shell. A medida que redirige tanto el error estándar como el error estándar a / dev / null (es decir, el olvido), el resto del flujo de trabajo deja de esperar y termina.

    
respondido por el hepcat72 05.11.2014 - 20:26
1

Tu pregunta me inspiró para juguetear un poco. No tengo xemacs ni uso emacs, así que probé un editor de texto en las ventanas de terminal usando iterm.

También puedes usar un segundo nivel de direccionamiento indirecto en Automator. Hice esto para Joe (el propio editor de Joe).

Estollamaaunasegundaaplicación(Untitled.app)abriendounarchivoalavez,permitiendocomillassimplesalrededordelargumentoajoe,permitiendoespaciosenlosnombresderutadelosarchivos(abiertosdeunoenunodebidoalaprimeraaplicación):

Alsoltarvariosarchivosenlaaplicaciónalmismotiempo,seobtiene:

LaideapodríausarseconlosemacsdeOSXparaaquellosqueestánacostumbradosalassesionestty,teniendoencuentaqueestasecuenciadecomandosnoseocupadelosespaciosenblancoenlosnombresderutacomoestán.

TambiénpuedescambiarelargumentoaleditorenUntitled.appysoltarlosarchivosenUntitled.appdirectamente:

COMMAND="cd '$PWD'; joe -mouse -wordwrap $1 $2 $3 $4 $5; exit"

Y cualquier argumento nulo no se abrirá. Cualquier exceso de archivos caerá en el piso según el orden del buscador. Obtendrá todos los archivos, hay argumentos para abrir en la misma sesión de terminal:

Y,porsupuesto,hayunpardeaplicacionesdeEmacsparaCocoabasecomo Emacs para Mac OS X , que a partir de la fecha parece probable Compatible con Yosemite.

    
respondido por el user90735 05.11.2014 - 22:49

Lea otras preguntas en las etiquetas