Finder Services: impossibile visualizzare / eseguire il servizio specifico

0

Non riesco a far funzionare il Finder predefinito "Nuovo terminale nella cartella", a prescindere da cosa. Ho provato ogni trucco che ho trovato online.

Quindi ho creato un nuovo servizio e appare nell'elenco dei servizi, ma ancora una volta, non riesco a farlo comparire nel menu dei servizi effettivi e non funziona il mapping di un tasto di scelta rapida.

Il kicker è che questo esatto servizio ha funzionato negli ultimi mesi senza problemi . All'improvviso ha smesso di funzionare. Non ho aggiornato il sistema operativo o altro.

Sono su Sierra.

Lo script è il seguente:

on run {input, parameters}

    tell application "Finder"

        set myWin to window 1

        set theWin to (quoted form of POSIX path of (target of myWin as alias))

        tell application "Terminal"

            activate

            tell window 1

                do script "cd " & theWin

            end tell

        end tell

    end tell

    return input

end run

Ho davvero bisogno che questo servizio funzioni, mi fa risparmiare così tanto tempo e odio davvero come non sia una funzione os affidabile.

    
posta Karric 02.02.2018 - 15:25
fonte

1 risposta

1

macOS Sierra ha due Servizi terminal integrati , Nuovo terminale nella cartella e Nuova scheda Terminale nella cartella .

Vai a Preferenze di sistema > Tastiera > Scelte rapide > Servizi > File e cartelle , quindi seleziona uno o entrambi e aggiungi una scorciatoia da tastiera, se lo desideri.

Quindi in Finder puoi selezionare una cartella , fare clic con il pulsante destro e selezionare il servizio dai servizi menu di scelta rapida o dal Finder > Servizi o usa la scorciatoia da tastiera se assegnata.

Non è necessario utilizzare AppleScript a meno che tu non lo desideri.

Ecco alcuni esempi AppleScript codice che funzionano su di me:

try
    tell application "Finder"
        set theTargetPath to quoted form of (POSIX path of (target of front window as string) as string)
    end tell
    tell application "Terminal"
        do script "pushd " & theTargetPath & "; clear"
        activate
    end tell
end try

Nota: il esempio codice AppleScript è proprio questo e a parte l'uso di try istruzione , non impiega alcuna gestione degli errori aggiuntiva e intende solo mostrare uno dei molti modi in cui eseguire un'attività. L'onere è sempre sull'utente di aggiungere / utilizzare la gestione degli errori appropriata come necessario / voluto.

    
risposta data 02.02.2018 - 16:02
fonte

Leggi altre domande sui tag