Odpowiedzi:
Próbowałeś używać su - foo
?
Aktualizacja na podstawie komentarzy:
Puste -
mówi su
o konieczności pełnego logowania. To znaczy (ze strony podręcznika),
Środowisko jest odrzucane, z wyjątkiem HOME, SHELL, PATH, TERM i USER. HOME i SHELL są modyfikowane jak wyżej. USER jest ustawiony na docelowy login. PATH jest ustawiony na `` / bin: / usr / bin ''. TERM jest importowany z bieżącego środowiska. Wywołana powłoka jest docelowym loginem, a su zmieni katalog na katalog domowy docelowego logowania.
Tak więc, jeśli potrzebujesz innych zmiennych środowiskowych, takich jak DISPLAY
otwieranie programów korzystających z serwera okien, musisz pominąć puste -
.
mate myfile
i pojawia się błąd „nie udało się połączyć z WindowServer”. To nie jest krytyczna poprawka, ale byłoby dobrze, aby to działało.
open -a TextMate myfile
.
su foo
mógłbym to zrobić. Pominięcie -
zachowuje wartości zmiennych środowiskowych.
W systemie MacOS X. login
$ login
login: your username
hasło: your password
Ostatnie logowanie: Dzień Miesiąc Data GG: MM: SS on ttys000
$ whoami
twoja nazwa użytkownika
Miałem problemy z uruchomieniem nano
po użyciu su - admin
do edycji .bashrc
pliku. Podczas dostosowywania rozmiaru okna tekst byłby zniekształcony. Odpowiedź, którą znalazłem poniżej, wyjaśnia dlaczego i poprowadziła mnie we właściwym kierunku.
„Emulator terminala wyśle sygnał zmiany okna (SIGWINCH) do powłoki, która została uruchomiona wraz z emulatorem terminala. Powłoka ma przekazać ją swoim potomkom - ale po przejściu na inne konto użytkownika (używając su lub w inny sposób), nie będzie w stanie zasygnalizować tej powłoce, ponieważ działa ona jako inny użytkownik. Zatem powłoka su'd i wszelkie uruchamiane z niej programy będą nadal używać starego rozmiaru okna, nie zważając na fakt, że prawdziwe okno rozmiar się zmienił. ” - telcoM
su - foo
?