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

mac*_*cek 10 terminal user-accounts macos

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

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

这可能吗?

kra*_*tan 16

你试过使用su - foo吗?

根据评论更新

空白-告诉su进行完整登录。这意味着(来自手册页),

除 HOME、SHELL、PATH、TERM 和 USER 之外的环境被丢弃。HOME 和 SHELL 修改如上。USER 设置为目标登录。PATH 设置为“/bin:/usr/bin”。TERM 是从您当前的环境中导入的。调用的 shell 是目标登录名,su 会将目录更改为目标登录名的主目录。

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

  • @macek:那是因为终端上没有连接 Window Server (aqua)。如果用户当前已登录图形环境,请尝试“open -a TextMate myfile”。 (2认同)

小智 6

在 MacOS X 上使用login


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

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

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