Bagaimana cara masuk sebagai pengguna lain di terminal?

10

Saya saat ini masuk sebagai pengguna normal di OS X.

Saya ingin memulai sesi terminal dan login sebagai pengguna foo.

Apakah ini mungkin?

macek
sumber
1
Sudahkah Anda mencoba menggunakan su - foo?
kraftan

Jawaban:

16

Sudahkah Anda mencoba menggunakan su - foo?

Pembaruan berdasarkan komentar:

Kosong -memberitahu suuntuk membuat login penuh. Itu berarti (dari halaman manual),

Lingkungan dibuang kecuali untuk HOME, SHELL, PATH, TERM, dan USER. HOME dan SHELL dimodifikasi seperti di atas. USER diatur ke login target. PATH diatur ke `` / bin: / usr / bin ''. JANGKA diimpor dari lingkungan Anda saat ini. Shell yang dipanggil adalah login target, dan su akan mengubah direktori ke direktori home login target.

Jadi, jika Anda memerlukan variabel lingkungan lain, seperti DISPLAYuntuk membuka program yang menggunakan server jendela, Anda harus menghilangkan yang kosong -.

kraftan
sumber
Login berfungsi dengan baik tetapi saya mencoba mate myfiledan saya mendapatkan kesalahan "gagal terhubung ke WindowServer". Ini bukan perbaikan yang kritis, tetapi akan bagus untuk membuatnya bekerja.
macek
2
@ Macek: Itu karena tidak ada Window Server (aqua) yang terpasang ke terminal. Jika pengguna saat ini masuk dalam lingkungan grafis, coba open -a TextMate myfile.
Georg Schölly
1
@ Macek: Saya tidak yakin, tapi mungkin su foobisa melakukannya. Menghilangkan -variabel menjaga nilai lingkungan.
kraftan
Terima kasih atas bantuannya. @kraftan, mungkin perbarui jawaban untuk menyertakan keduanya dengan penjelasan singkat. :)
macek
@ Georg, itu sepertinya tidak berhasil.
macek
0

Di MacOS X gunakan login


$ login
login: your username
kata sandi: your password
Login terakhir: Hari Bulan Tanggal HH: MM: SS pada ttys000
$ whoami
nama pengguna Anda

Saya mengalami masalah nanosaat menggunakan setelah su - admin mengedit .bashrcfile. Saat menyesuaikan ukuran jendela teks akan menjadi kacau. Jawaban yang saya temukan di bawah ini menjelaskan mengapa dan mengarahkan saya ke arah yang benar.

"Emulator terminal akan mengirimkan sinyal Perubahan Jendela (SIGWINCH) ke shell yang dimulai bersama dengan emulator terminal. Shell seharusnya meneruskannya kepada anak-anaknya - tetapi ketika Anda telah beralih ke akun pengguna lain (menggunakan su atau sebaliknya), itu tidak akan dapat memberi sinyal shell itu karena itu berjalan sebagai pengguna yang berbeda. Jadi shell dan program apa pun yang dijalankan akan tetap menggunakan ukuran jendela yang lama, tidak menyadari fakta bahwa jendela sebenarnya ukuran telah berubah. " - telcoM

John
sumber
-1

Saya telah mencoba suberkali-kali tetapi ternyata sudolebih mudah. Anda dapat mencoba

sudo -u <username>
iPav
sumber
Sudo saya tampaknya tidak memiliki -upilihan
Xiao