web-dev-qa-db-ja.com

ターミナルで別のユーザーとしてログインするにはどうすればよいですか?

現在、OSXで通常のユーザーとしてログインしています。

ターミナルセッションを開始し、ユーザーfooとしてログインします。

これは可能ですか?

10
macek

su - fooを使ってみましたか?

更新コメントに基づく:

空の-suに完全なログインを行うように指示します。つまり、(manページから)、

HOME、Shell、PATH、TERM、およびUSERを除いて、環境は破棄されます。 HOMEとShellは上記のように変更されています。 USERはターゲットログインに設定されます。 PATHは「/ bin:/ usr/bin」に設定されています。 TERMは現在の環境からインポートされます。呼び出されたシェルはターゲットログインのであり、suはディレクトリをターゲットログインのホームディレクトリに変更します。

したがって、ウィンドウサーバーを使用するプログラムを開くためにDISPLAYなどの他の環境変数が必要な場合は、空の-を省略する必要があります。

16
kraftan

MacOS Xでは、loginを使用します


$ login
ログイン:your username
パスワード:your password
最終ログイン:ttys000の日月日HH:MM:SS
$ whoami
ユーザー名

su - adminを使用して.bashrcファイルを編集した後、nanoの実行で問題が発生しました。ウィンドウサイズを調整すると、テキストが文字化けします。以下で見つけた答えは、その理由を説明し、正しい方向に導きました。

「ターミナルエミュレーターは、ターミナルエミュレーターと共に開始されたシェルにウィンドウ変更信号(SIGWINCH)を送信します。シェルはそれを子に渡すことになっていますが、別のユーザーアカウントに移行すると(suまたはそれ以外の場合)、別のユーザーとして実行されているため、そのシェルに信号を送ることができません。したがって、su'd Shellとそれから実行されるプログラムは、実際のウィンドウであることに気付かずに、古いウィンドウサイズを使用し続けます。サイズが変更されました。」 -- telcoM

0
John