È altamente improbabile che funzioni con un account ospite, poiché tutto viene cancellato al momento del logout.
Se hai creato un account utente "amici" senza password e hai dato loro l'accesso utente "standard", potrebbe essere possibile (anche se certamente non sarà carino).
Innanzitutto, poiché apparentemente Valve non ha idea di quanto sia facile usare NSDistributedNotificationCenter
per trasmettere messaggi tra account utente, hanno impostato l'app Steam per impedire l'esecuzione di più istanze. In altre parole, affinché un ospite possa avviare Steam.app nell'account utente amici, non può essere eseguito in nessun altro account utente. Se lo è, per prima cosa dovresti entrare in quell'account utente, quindi tornare all'account utente degli amici. (Servono circa 10 righe di codice per far sì che Steam trasmetta un messaggio a tutti gli altri account utente che il Steam che stai lanciando ora ha il controllo, e tutte le altre istanze potrebbero chiudersi, ma Valve è abbastanza sfidato con tali cose) .
Quindi, a condizione che non sia in esecuzione in un altro account utente, funzionerebbe. Tuttavia, data la ridicola quantità di file e dati che Steam vuole essere in grado di scrivere all'interno del proprio bundle di applicazioni (all'interno del pacchetto Steam.app), potrebbe essere meglio creare una copia separata dell'applicazione, in particolare per quell'utente . Essendo il motivo, l'applicazione Steam assumerà la proprietà di chiunque l'abbia installata per la prima volta, e quando un altro utente tenta di utilizzarla, non avrà permessi di scrittura sul pacchetto dell'applicazione. Puoi anche provare a modificare il pacchetto per assegnargli autorizzazioni meno restrittive. (Questa intera cosa può essere gestita usando uno strumento di aiuto semplice e privilegiato).
Quindi, purché tu disponga di una copia di Steam a cui l'account utente degli amici ha accesso in scrittura, allora passiamo al vero divertimento, ovvero i diversi GB di file .gcf che costituiscono il contenuto del gioco . Per impostazione predefinita, i file di gioco sono memorizzati in:
/ Users / < username > / Library / Application Support / Steam / SteamApps /
Poiché un utente non ha accesso ai file di un altro utente (per ovvi motivi), è necessario scaricare nuovamente tutti i file necessari o copiarli dall'altro account utente. Puoi anche provare a riposizionare la cartella SteamApps in una posizione comune a cui tutti gli utenti hanno accesso, come la cartella / Applications /. (Ho scritto un'applicazione che aiuta a creare il collegamento simbolico dopo il processo di trasferimento: link ). Avrai quindi gli stessi problemi con le autorizzazioni come con l'app stessa, quindi dovresti modificarli per assicurarti che siano scrivibili per gli utenti in questione.
Per un account ospite, potrebbe funzionare se si avesse tutto in una posizione centrale, e poi avesse un elemento di accesso globale o un lavoro di avvio nella cartella / Library / LaunchAgents / che eseguiva un paio di operazioni nell'utente ospite account al momento del login. Dovrebbe copiare i file all'interno di / Users / < username > / Library / Application Support / Steam / che sono responsabili per il salvataggio dell'account utente e della password di Steam nella cartella di supporto dell'applicazione dell'utente ospite, in modo che l'utente possa accedere automaticamente senza dover inserire l'ID e la password di Steam ciascuno tempo. Dovrebbe anche essere sicuro che ci sia un link simbolico "SteamApps" all'interno di / Users / < guest > / Library / Application Support / Steam / per indicare la posizione dei file di contenuti del gioco.
In breve, ciò che ti piacerebbe fare, cioè essere in grado di giocare a Steam da un altro account utente sullo stesso Mac, è un desiderio perfettamente ragionevole. Per quanto ne so, è qualcosa che è già possibile nella versione Windows di Steam, senza dover prima passare attraverso 100 cerchi. È anche qualcosa che è completamente possibile per loro aver fatto nella versione di Mac OS X utilizzando una posizione centrale dei dati insieme a uno strumento di supporto privilegiato (ho utilizzato tale approccio nella mia applicazione per gli ultimi 7 anni e funziona bene). Nella sua attuale implementazione, tuttavia, non è possibile farlo nella versione Mac senza alcuni brutti stratagemmi.