Soluzione basata su Windows funzionante
Ho una cartella su una condivisione di rete che funziona perfettamente su Windows. È fondamentalmente un indice di altri file server disponibili. Sembra qualcosa del genere:
\server1\directory
Server2.lnk <-(links to \server2\files)
Server3.lnk <-(links to \server3\files)
Server4.lnk <-(links to \server4\files)
Sto cercando di replicare questa funzionalità in macOS, ma ho riscontrato questi problemi:
Tentativo di utilizzare un alias in macOS
Mi sono collegato a //server2/files
tramite Finder
utilizzando Go -> Connect to Server
. Una volta connesso in Finder
, ho creato un Alias
utilizzando per la cartella //server2/files
. Ho quindi copiato quel Alias
nella posizione //server1/directory
. Il Alias
funziona ... finché utilizzo lo stesso computer da cui ho creato Alias
. Ma se provo ad usarlo da un altro Mac, fallisce.
L'altro mac sembra non riconoscere il file come un file Alias
. Ha un'icona simile a un'icona terminal
, e quando faccio doppio clic su di esso, il mac mi dice che non esiste alcuna Applicazione definita per aprire il file. Ho notato che il file Alias
creato originariamente non sembra avere alcun tipo di estensione, quindi non sono sicuro di come un mac diverso dovrebbe riconoscerlo come un file Alias
.
La cosa bella di un file .lnk
di Windows è che sembra funzionare in modo affidabile e coerente, non importa da quale macchina si acceda a .lnk
, mentre un file mac Alias
sembra in qualche modo dipendere da qualche configurazione del macchina originale in cui è stata creata.
Ad esempio, se apro il file Alias
in vi
, posso vedere tra il codice alterato che include almeno il nome utente utilizzato per accedere alla condivisione, mentre voglio che ogni utente che fa clic su Alias
per accedere alla condivisione utilizzando le proprie credenziali (il mac è unito a AD e gli utenti accedono utilizzando le proprie credenziali AD). Di nuovo, funziona perfettamente con percorsi UNC e file .lnk
.
Tentativo di utilizzare uno script terminale in macOS
Ho provato a creare uno script semplice che monta le condivisioni. Quindi all'interno //server1/directory
ho creato un file Server2.command
con il seguente contenuto:
mkdir /Volumes/Server2
mount_smbfs //server2/files /Volumes/Server2
cd /Volumes/Server2
open .
Il mio problema con questa soluzione è che ho molti server e molti utenti che usano la stessa macchina. Una cosa grandiosa dell'utilizzo dell'opzione Connect to Server
in Finder è che sembra "ripulire" automaticamente la directory /Volumes
. Dopo aver espulso una condivisione o dopo aver terminato una sessione, rimuove la corrispondente cartella /Volumes/Sharename
. Non vedo alcun modo per ottenere lo stesso comportamento se utilizzo questa soluzione basata su terminale.
Domanda
Qualcuno può darmi un buon modo per replicare la funzionalità .lnk
che ho descritto sopra?
So che i collegamenti di Windows funzionano tramite percorsi UNC, mentre in macOS posso accedere solo a queste condivisioni di rete tramite smb
o afp
mounts, ma poiché vedo che l'opzione Connect to Server
funziona quasi come ho bisogno a, ho solo bisogno di un modo per utilizzare la stessa funzionalità, con l'avvertenza che ho bisogno di automatizzarlo, perché non ho intenzione di chiedere ai miei utenti (ho molti utenti che usano la stessa macchina) per creare un Connect to Server
Alias
manualmente.