Serve aiuto nella creazione del servizio Automator per eseguire attività simili a una disinstallazione residua

1

Ho avuto un problema con un programma che uso pesantemente ogni giorno, dove si comporta come se si stesse riprendendo da un arresto anomalo anche quando veniva chiuso correttamente e tutti i file salvati. L'app è FontLab Studio, non che dovrebbe essere importante. Quello che succede è che carica tutti i file su cui ho lavorato di recente, che possono essere diverse decine, e anche se faccio clic su tutti loro, succede molte altre volte nel corso della giornata. Oppure, qualcosa lo fa andare in crash mentre sto uscendo da questi file, quindi devo riavviarlo e ricominciare da capo.

Quello che sto facendo per evitarlo è eseguire AppCleaner, il programma di disinstallazione gratuito ed eliminare tutto tranne l'App stessa e le informazioni sulla licenza. Funziona alla grande, ma vista la frequenza che questo sta diventando necessario, mi piacerebbe essere in grado di creare qualcosa a cui potrei accedere in modo molto veloce, come un oggetto Applescript che potrei inserire nel mio dock. Oppure un servizio di Automator situato nelle voci di menu contestuali.

Non conosco alcun oggetto Applescript, ma ho provato a creare un flusso di lavoro di Automator. Il primo passaggio, "Trova elementi selezionati del Finder". Uno ha una posizione statica, il secondo potrebbe cambiare, non ne sono sicuro.

~/Library/Saved Application State/com.fontlab.studio5.savedState

/var/db/BootCaches/34D6C504-2F5B-416F-9C91-0C9D019BF446/app.com.fontlab.studio5.playlist

Il secondo passo nel flusso di lavoro è quello di spostarsi nel cestino, ed è lì che non riesce. Sospetto perché questi richiedono una password? Se possibile, sarebbe bello se potessi inserirmi una volta e ricorda, altrimenti, come ne avrò bisogno per chiedermi di inserire la mia passkey. Non conosco il modo migliore per fare tutto ciò.

Ho appena avuto un altro pensiero, anche se potrebbe non funzionare in quanto richiederebbe che FontLab fosse aperto al momento, sarebbe quello di farlo con uno script Python, perché FontLab è parzialmente costruito in python e può installare script di terze parti. Sono aperto a qualsiasi aiuto che qualcuno possa offrire.

Grazie in anticipo!

    
posta Moscarda 25.07.2016 - 09:59
fonte

1 risposta

0

Non ho ancora installato FontLab Studio allo scopo di fornire una soluzione alla tua situazione, sotto OS X El Capitan 10.11.5, ho fatto quanto segue:

  • In un terminale in /private/var/db/BootCaches , utilizzando sudo , mkdir e touch ho creato una directory denominata 34D6C504-2F5B-416F-9C91-0C9D019BF446 e in tale directory un file denominato app.com.fontlab.studio5.playlist .

  • Nel Finder, nella Libreria della mia cartella Home > Salvato la cartella Stato applicazione, ho duplicato una cartella e rinominato la copia in: "com.fontlab.studio5.savedState"

In questo modo è stato possibile replicare i percorsi ei file di destinazione con i privilegi appropriati per testare la seguente applicazione AppleScript.

In Script Editor ho usato il seguente codice per creare il Reset FontLab Studio.app e l'ho salvato nella cartella Applicazioni di Macintosh HD e poi lo ho trascinato sul Dock in modo da averlo prontamente disponibile per fare clic su

try
    do shell script "rm -r \"$HOME/Library/Saved Application State/com.fontlab.studio5.savedState\" /private/var/db/BootCaches/*/app.com.fontlab.studio5.playlist" with administrator privileges
end try

Quando clicco su Reimposta FontLab Studio Dock Tile mostra la finestra di dialogo della password, come mostrato sotto, per consentirmi di digitare la mia password. Ho digitato la mia password e premuto invio. Ecco fatto, l'app ha fatto ciò che era stato programmato per fare.

Note:

  • Datochequestocodiceètestato,suggeriscodicopiarloeincollarlocomeinScriptEditorequindisalvarlocomeapplicazionediqualsiasinomedesideri.

  • $HOMEvieneutilizzatoperché~può/willavolteerroreinAppleScriptoAutomator,asecondadelsuousospecifico.Normalmente~èespansoalvaloredellaVariabiled'ambientediHOMEequindidisolitouso$HOMEsu~perevitareerrorichepuò/genereràavolte.

  • Lasostituzionedi*per34D6C504-2F5B-416F-9C91-0C9D019BF446èintensionale,inmododaadattarsiallapossibilemodificadelnome.

  • Ilcomandotryvieneutilizzatoinmododaevitareunerroresesieseguenuovamentel'applicazioneReimpostaFontLabStudioprimacheifiledidestinazionevenganoricreatie,sel'unool'altrononesiste,continuaaeliminareilaltro.

  • /varèuncollegamentosimbolicoa/private/vartuttaviapreferiscousareilpercorsoassolutosulcollegamentosimbolicoincasicomequesto.

  • L'usodelcomandormèintrinsecamentepericoloso,specialmenteseusatoconprivilegielevatie/ocaratterijolly,quindiatalfinesiiassolutamentesicurochenoncisianoerrorinellatualineadicomandoechegliobiettivisonogliobiettiviprevisti.Questoèilmotivopercuihoprovatoilmiocodiceprimadipostarlo.Puoiancheinserireilcomandormconecho,adesempioechorm...equindiesaminarel'outputnelriquadroEventi/risultatidell'editordiScriptequindirimuovereechoprimadisalvareloscript.

L'immaginesottodiessapermostrarel'evidenziazionesintatticaepervisualizzarel'interarigadicomandodelcomandodoshellscript

Seseil'unicoutentedelcomputeretipiacenondoverdigitarelapasswordquandosiesegueilresetdell'applicazioneFontLabStudio,quindimodificailcomandodoshellscriptusandolaseguentesintassi:

doshellscript"command" user name "me" password "mypassword" with administrator privileges

Esempio:

do shell script "rm -r \"$HOME/Library/Saved Application State/com.fontlab.studio5.savedState\" /private/var/db/BootCaches/*/app.com.fontlab.studio5.playlist" user name "me" password "mypassword" with administrator privileges

Si noti che quando il codice dello script viene salvato, il valore di user name e password vengono salvati in testo leggibile all'interno del file binario "main.script" del bundle dell'applicazione. Pertanto, utilizza questo metodo a tuo rischio poiché è considerato un rischio per la sicurezza archiviare nomi utente e password archiviati in modo non crittografato.

    
risposta data 25.07.2016 - 18:16
fonte

Leggi altre domande sui tag