端末に別のユーザーとしてログインする方法は?


10

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

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

これは可能ですか?


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

回答:


16

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

コメントに基づいて更新

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

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

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


ログインは正常に機能しますが、試しましたmate myfileが、「WindowServerに接続できませんでした」というエラーが表示されます。これは重大な修正ではありませんが、これを機能させることは素晴らしいことです。
macek 2010年

2
@macek:これは、ターミナルに接続されたWindow Server(aqua)がないためです。ユーザーが現在グラフィック環境にログオンしている場合は、を試してくださいopen -a TextMate myfile
GeorgSchölly、2010年

1
@macek:わかりませんsu fooが、たぶんそれができるでしょう。を省略すると-、値の環境変数が保持されます。
kraftan

お手伝いありがとう。@kraftan、おそらく簡単な説明で両方を含めるように答えを更新してください。:)
macek 2010年

@Georg、それはうまくいかなかったようです。
macek 2010年

0

MacOS Xでは login


$ login
login:your username
password:your password
Last login:Day Month Date HH:MM:SS on ttys000
$ whoami
ユーザー名

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

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


-1

私はsu何度も試しましsudoたが、簡単であることがわかりました。あなたが試すことができます

sudo -u <username>

私のsudoには-uオプションがないようです
Xiao
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.