如何在终端中以其他用户身份登录?


10

我目前以OS X中的普通用户身份登录。

我想启动一个终端会话并以user身份登录foo

这可能吗?


1
您是否尝试过使用su - foo
kraftan

Answers:


16

您是否尝试过使用su - foo

根据评论更新

-告诉su做出一个完整的登录。这意味着(从手册页开始),

除HOME,SHELL,PATH,TERM和USER之外的环境都将被丢弃。如上修改了HOME和SHELL。USER设置为目标登录名。PATH设置为``/ bin:/ usr / bin''。TERM是从您当前的环境导入的。调用的外壳程序是目标登录名的外壳程序,而su将目录更改为目标登录名的主目录。

因此,如果您需要任何其他环境变量,例如DISPLAY打开使用窗口服务器的程序,则必须省略empty -


登录工作正常,但我尝试过mate myfile,但出现“无法连接到WindowServer”错误。这不是关键的解决方法,但是很好地解决这个问题。
macek 2010年

2
@macek:这是因为终端没有连接Windows Server(aqua)。如果用户当前在图形环境中登录,请尝试open -a TextMate myfile
GeorgSchölly10年

1
@macek:我不确定,但也许su foo可以做到。省略-保留值环境变量。
kraftan 2010年

感谢您的帮助。@kraftan,也许更新答案以包含两个简短说明。:)
macek

@Georg,似乎没有用。
macek 2010年

0

在MacOS X上使用 login


$ login
登录名:your username
密码:your password
上次登录名:天月份日期ttys000上的HH:MM:SS
$ whoami
您的用户名

nano使用su - admin 编辑.bashrc文件后,我遇到了运行问题。调整窗口大小时,文本会变得乱码。我在下面找到的答案解释了原因,并引导我朝正确的方向前进。

“终端仿真器将向与终端仿真器一起启动的外壳程序发送一个Window Change信号(SIGWINCH)。该外壳程序应将其传递给其子级-但是当您转换到另一个用户帐户时(使用su或其他方式),因为它以不同的用户身份运行,因此无法向该外壳发出信号。因此,su'd shell和从中运行的任何程序都将使用旧的窗口大小,而忽略了实际窗口的事实大小已更改。” - 电信


-1

我已经尝试了su很多次,但是发现sudo比较容易。你可以试试

sudo -u <username>

我的sudo似乎没有其他-u选择
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.