Come eseguire un'app di automazione che avvia più volte un'app X11 tramite script di shell

0

Quindi ho un Applescript per lanciare xemacs, ma ho pensato che sarebbe bello avere qualcosa su cui poter rilasciare i file (e avere un'app da scegliere tra i menu contestuali nel sottomenu "apri con"), quindi ho provato a fare un'app di Automator.

Ho chiamato l'app "XEmacs Opener.app" e funziona ... una volta. Ma non avvierà nuove finestre XEmacs (a meno che non faccia clic sul pulsante Esegui dallo stesso automator) finché non viene chiuso il primo.

Ho provato a eseguire lo script della shell con nohup, ho usato "&" per metterlo in secondo piano e chiamare in seguito exit, ma questo non risolve il problema:

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

Ecco uno screenshot nel caso in cui non spiegassi completamente come è impostato:

Ho anche provato a chiamare xemacs senza argomenti. Quindi, come posso ottenere questo per aprire più istanze di xemacs o non è possibile?

    
posta hepcat72 05.11.2014 - 19:55
fonte

2 risposte

3

L'ho capito. Devo solo indirizzare l'output a / dev / null:

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

Facile pisello. L'output è stato afferrato dallo script della shell. Poiché ridistrai sia l'uscita standard che l'errore standard a / dev / null (ad esempio, oblio), il resto del flusso di lavoro si interrompe e termina.

    
risposta data 05.11.2014 - 20:26
fonte
1

Sono stato ispirato dalla tua domanda a armeggiare un po '. Non ho xemacs o uso emacs, quindi ho provato un editor di testo in windows del terminale usando iterm.

Puoi anche usare un secondo livello di riferimento indiretto in Automator. Ho fatto questo per joe (il proprietario di Joe).

Ciòchiamaunasecondaapp(Untitled.app)cheapreunfileallavoltaconsentendoallevirgolettesingoleattornoall'argomentodijoe,consentendospazineinomideipercorsiperifile(apertiunoallavoltaacausadellaprimaapp):

Rilasciodipiùfilecontemporaneamentenell'applicazione:

L'ideapotrebbeessereusatacongliemacdiOSXperquelliusatinellesessioniditty,notandochequestoscriptnontrattalospaziobianconeinomideipercorsicosìcom'è.

Puoianchemodificarel'argomentodell'editorinUntitled.apperilasciaredirettamenteifilesuUntitled.app:

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

E qualsiasi argomento nullo non verrà aperto. Qualsiasi file in eccesso cadrà sul pavimento in base all'ordine del cercatore. Otterrai tutti i file per gli argomenti aperti nella stessa sessione terminale:

EnaturalmentecisonounpaiodiapplicazioniemacsbasatesuCocoacome Emacs per Mac OS X , che dalla data sembra essere probabile Compatibile con Yosemite.

    
risposta data 05.11.2014 - 22:49
fonte

Leggi altre domande sui tag