現在、OSXで通常のユーザーとしてログインしています。
ターミナルセッションを開始し、ユーザーfoo
としてログインします。
これは可能ですか?
su - foo
を使ってみましたか?
更新コメントに基づく:
空の-
はsu
に完全なログインを行うように指示します。つまり、(manページから)、
HOME、Shell、PATH、TERM、およびUSERを除いて、環境は破棄されます。 HOMEとShellは上記のように変更されています。 USERはターゲットログインに設定されます。 PATHは「/ bin:/ usr/bin」に設定されています。 TERMは現在の環境からインポートされます。呼び出されたシェルはターゲットログインのであり、suはディレクトリをターゲットログインのホームディレクトリに変更します。
したがって、ウィンドウサーバーを使用するプログラムを開くためにDISPLAY
などの他の環境変数が必要な場合は、空の-
を省略する必要があります。
MacOS Xでは、login
を使用します
$ login
ログイン:your username
パスワード:your password
最終ログイン:ttys000の日月日HH:MM:SS
$ whoami
ユーザー名
su - admin
を使用して.bashrc
ファイルを編集した後、nano
の実行で問題が発生しました。ウィンドウサイズを調整すると、テキストが文字化けします。以下で見つけた答えは、その理由を説明し、正しい方向に導きました。
「ターミナルエミュレーターは、ターミナルエミュレーターと共に開始されたシェルにウィンドウ変更信号(SIGWINCH)を送信します。シェルはそれを子に渡すことになっていますが、別のユーザーアカウントに移行すると(suまたはそれ以外の場合)、別のユーザーとして実行されているため、そのシェルに信号を送ることができません。したがって、su'd Shellとそれから実行されるプログラムは、実際のウィンドウであることに気付かずに、古いウィンドウサイズを使用し続けます。サイズが変更されました。」 -- telcoM