Existe uma maneira de iniciar um aplicativo como outro usuário para que o aplicativo iniciado use as preferências / histórico / recursos do outro usuário e outros?
Por exemplo: eu entrei como Alice e gostaria de iniciar o Firefox como Bob, portanto, o Firefox mostraria o histórico de navegação de Bob em vez do de Alice.
eu tentei
$ su Bob
$ open -a Firefox
Mas sem efeito aparente; de fato, o Monitor de atividades mostra que o processo do Firefox está sendo executado por Alice - não por Bob.
Entendo que precisarei das credenciais de login de Bob, mas isso não é um problema.
fonte
su
se não se desejasudo
. Obrigado!Trace/BPT trap: 5
sudo
abordagem, recebo falhas de login, mesmo que eu use a senha correta para o outro usuário.su
funciona, por outro lado (sem senha para set root)Consulte /apple//a/102105/1860 para saber por
su
que não funciona em todos os aplicativos.bsexec do launchd
Versões recentes do
launchd
têm a capacidade de iniciar aplicativos dentro da sessão de outro usuário; embora os engenheiros da Apple não tenham recomendado seu uso geral.Use a
bsexec
opção no launchctl para direcionar a sessão de usuário apropriada:A abordagem recomendada é escrever um tíquete de trabalho iniciado e reiniciar o Mac - ou solicitar ao usuário que efetue logout e logon novamente.
fonte
Mais um método:
Obrigado ao wysota em: http://www.qtcentre.org/threads/4730-Linux-Bash-Run-a-command-as-another-user
(Passei muito tempo procurando algo que funcionasse em minha situação particular, e achei que eu espalharia a riqueza)
fonte
Você precisa ssh. Ou seja
ssh [email protected]
. Como você disse, você precisará da senha do usuário. Então você pode fazer o que está pedindo. Você precisará habilitar o login remoto em Prefs do Sistema> Compartilhamento:então, você pode simplesmente fazer
open -a Firefox
e o Firefox abrirá como o outro usuário, não o seu.fonte
LSOpenURLsWithRole() failed for the application /Applications/Firefox.app with error -10810.
ao tentaropen -a Firefox
: - |sudo open -na Firefox