A configuração do ambiente ao fornecer -
é muito mais completa. Na página do manual:
The optional argument - may be used to provide an environment
similar to what the user would expect had the user logged in directly.
Em particular, SESSION_MANAGER
está faltando se você usar su root
.
Você pode produzir os ambientes usando env | sort > /var/tmp/XXX.env
com XXX
sendo diferente para a invocação -
e root
e, em seguida, compare a saída usando diff. Na minha configuração (Ubuntu 12.04), isso resulta em cerca de duas vezes mais linhas no caso su -
(53 x 27).