Avvia / Interrompi Condivisione Internet tramite Terminale in Yosemite senza AppleScript

6

Ok, vedo che questa domanda è stata posta alcune volte prima ( qui , qui , qui e qui ), ma nessuno di questi risponde davvero alla domanda per me.

Non voglio usare i suggerimenti AppleScript forniti per abilitare / disabilitare la Condivisione Internet poiché i futuri aggiornamenti alla GUI delle Preferenze di Sistema potrebbero interrompere l'AppleScript, come nel caso dei post collegati sopra, e la soluzione sembra un po 'maldestra , ad essere onesti.

Su Yosemite, sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist non funziona più poiché non c'è più un .plist chiamato InternetSharing .

Ho provato %codice% che ho visto da qualche altra parte, ma che attiva solo la casella di controllo attuale in Preferenze di sistema e in realtà non abilita IS.

Quindi alla fine, la mia domanda è questa. Quali processi devo chiamare dalla riga di comando per abilitare la Condivisione Internet o, al contrario, quali processi devo eliminare per disabilitare la Condivisione Internet?

    
posta Stuart H 06.03.2015 - 17:53
fonte

3 risposte

3

Mi sono imbattuto in un modo apparentemente stupidamente semplice per abilitare / disabilitare la condivisione in Internet l'altro giorno. C'è solo un po 'di lavoro di preparazione da fare prima.

  1. Apri le Preferenze di Sistema > Rete
  2. Evidenzia l'interfaccia con cui vuoi condividere la tua connessione FROM e fai clic sul carrello sotto l'elenco delle interfacce
  3. Seleziona "Duplica servizio ..."
  4. Assegna un nome al servizio duplicato e salvalo
  5. Imposta il servizio su "DHCP con indirizzo manuale" (perché alcuni server DHCP non assegnano un indirizzo aggiuntivo a un MAC) e inserisci un IP valido

Questo è il lavoro di preparazione fatto. Ora hai solo bisogno di modificare le tue impostazioni IS per condividere dal nuovo servizio invece di quello esistente. Quindi, puoi usare networksetup -setnetworkserviceenabled <networkservice> <on off> per attivare o disattivare il servizio di rete appena creato. In questo modo si disabilita IS in quanto non vi è alcun servizio per ricevere l'accesso a Internet da, e si continua a mantenere l'accesso sul proprio computer perché c'è ancora un'interfaccia attiva connessa alla rete!

    
risposta data 17.04.2015 - 22:15
fonte
1

Per prima cosa, abbatti tutte le interfacce Internet attive usando il comando del terminale:

ifconfig [interface*] down

Quindi un daemon di lancio trovato qui:

/System/Library/LaunchDaemons/com.apple.NetworkSharing.plist

deve essere attivato con il comando launchctl .

quindi apri le interfacce con il comando

ifconfig [interface*] up

* Nota: en0 è l'interfaccia ethernet cablata, mentre en1 è l'interfaccia wifi. L'esecuzione del comando ifconfig di per sé elenca tutte le interfacce, attive o inattive.

    
risposta data 06.03.2015 - 20:31
fonte
0

Ho fatto quanto segue:

  • Duplica la posizione "Automatica". Ho dato al duplicato il nome "Condiviso".
  • Nella posizione "Shared", rinomina l'interfaccia Ethernet in "Ethernet condivisa".
  • Configura la connessione Internet condivisa per utilizzare l'interfaccia "Ethernet condivisa".

Con questa configurazione, quando si passa dalla posizione "Automatica" a quella "condivisa", l'interfaccia "Ethernet condivisa" diventa disponibile / non disponibile e quindi la Condivisione Internet può essere abilitata / disabilitata.

Da qui all'utilizzo della riga di comando, è solo questione di chiamare

networksetup -switchtolocation "Shared"

o

networksetup -switchtolocation "Automatic"

    
risposta data 17.01.2019 - 14:51
fonte

Leggi altre domande sui tag