Cara autologin (tanpa memasukkan nama pengguna dan kata sandi) (dalam mode teks)

11

Saya telah menginstal Ubuntu 12.04 & dan mengedit file / etc / default / grub untuk boot otomatis ke mode teks. tetapi setiap kali saya menyalakan komputer itu meminta nama pengguna dan kata sandi (dalam mode teks), saya ingin itu masuk secara otomatis tanpa meminta nama pengguna dan kata sandi, jadi dalam mode grafis saya pergi ke "Pengaturan Sistem-> Akun Pengguna" dan memeriksa "Login otomatis", tetapi tidak berhasil. jadi apa yang harus saya lakukan untuk masuk secara otomatis bahkan dalam mode teks?

Navid777
sumber
Coba tautan
Peachy
Pertanyaan ini menambahkan kondisi bahwa userid dan kata sandi tidak dimasukkan dalam mode teks untuk masuk.
John S Gruber

Jawaban:

10

Untuk mem-boot ke mode teks

sudo vim / etc / default / grub

dan ubah baris berikut:

GRUB_CMDLINE_LINUX_DEFAULT="text"

keluar dan masuk:

 sudo update-grub

Login secara otomatis dalam mode teks tanpa menentukan userid atau kata sandi

Versi baru Ubuntu

Tambahkan -a <your-user-name>ke baris:

exec /sbin/getty -8 38400 tty1

dalam file /etc/init/tty1.conf

seperti itu:

exec /sbin/getty -8 38400 tty6 -a gruber

/etc/init/tty1.conf adalah pekerjaan pemula yang berjalan pada waktu yang tepat untuk memulai sesi terminal pada tty1. Menambahkan -aopsi memberitahu getty untuk memanggil program login dengan opsi -f untuk masuk pengguna itu, melewati prompt pengguna dari getty dan prompt kata sandi dari login.

Pemula adalah sistem Ubuntu yang beroperasi sebagai proses kernel init (proses 1).

Saya menguji ini pada tty6 saya dan itu berhasil. Karena garis respawn pemula jika Anda keluar dari shell itu akan mulai kembali lagi secara otomatis.

Versi Systemd dari Ubuntu

Versi Ubuntu yang lebih baru sebagian besar menggunakan systemd untuk mengelola proses sistem. Karena itu ada cara baru dalam melakukan sesuatu.

penggunaan systemd tty juga sedikit berbeda dengan terminal grafis yang mungkin berjalan pada beberapa terminal virtual pertama. tty6 dicadangkan untuk menjadi terminal teks virtual dengan systemd dan mungkin akan ada yang lain juga.

Agar tty6 muncul masuk saat Anda masuk:

sudo systemctl edit getty@tty6

Editor nano akan muncul dalam file sementara. Masukkan yang berikut ke editor itu:

 [Service]
 ExecStart=
 ExecStart=-/sbin/agetty -o '-p -f gruber' -a gruber --noclear %I $TERM

Keluar dari editor.

Menempatkan di baris ExecStart = ekstra bukan salah ketik. ini sangat penting karena memberitahu systemd untuk melupakan parameter ExecStart asli yang sudah diketahui (dari /lib/systemd/system/[email protected]) sehingga Anda dapat mengganti ExecStart.

Anda dapat memeriksa hasilnya dengan perintah berikut:

 systemd-analyze verify [email protected]

Saya melihat beberapa peringatan di sana ketika saya mencoba ini, tetapi bukan tentang apa yang kami lakukan di sini.

Jika sudah ada proses tty yang sedang berlangsung tty6 Anda harus me-restart untuk melihat hasilnya.


Untuk mencari tahu ini, saya merujuk pada jawaban yang sangat baik di /ubuntu//a/659268/63886 . Di sana Muru kebetulan menggunakan tujuan yang sama sebagai contoh tentang cara menyesuaikan sistem. Baris ExecStartnya adalah:

 ExecStart=-/sbin/agetty -a muru --noclear %I $TERM

Perbedaannya tampaknya beberapa lebih variabel sistemd terkait lingkungan muncul di versi saya.

Hasil akhir dari edit di atas adalah pembuatan file bernama override.conf di /etc/systemd/system/[email protected]/ berisi apa yang Anda ketikkan di atas. Jika Anda membuat file seperti itu sendiri, Anda perlu menjalankan systemctl daemon-reloadperintah untuk membuat systemd mengenalinya, dan sekali lagi mungkin memulai kembali proses agetty yang ada di konsol virtual itu. systemctl --edit menangani daemon-reload untuk Anda.

John S Gruber
sumber
1
tty1bekerja dengan baik untuk saya.
razzak
1
Tidak ada file / etc / init / tty * di sistem saya
ka3ak
@ ka3ak Terima kasih telah membahasnya. Penggunaan sistemd Ubuntu yang lebih baru dan file konfigurasi startup berbeda dalam konten dan lokasi. Saya telah memperbarui jawabannya dengan bagian systemd. Jika Anda memutuskan untuk mencobanya silakan baca jawaban Muru juga.
John S Gruber
+1 untuk solusi berbasis sistemd
Paul Grinberg
3

buka terminal dan lakukan

sudo kate /etc/default/grub

kemudian temukan baris ini dan ubah seperti yang ditunjukkan di bawah ini

GRUB_CMDLINE_LINUX_DEFAULT="text"

sekarang tutup editor dan lakukan seperti

sudo update-grub 

dan lakukan restart sekarang

rɑːdʒɑ
sumber
Saya suka jawaban ini, tetapi Anda mungkin ingin menambahkan bagian dari: ke: untuk menemukan baris ini dan mengubah bagian
RobotHumans
Saya telah mengikuti instruksi tetapi masih melakukan boot ke GUI. Mungkinkah karena saya menggunakan kotak virtual?
errorhandler
1

sudo gedit etc/default/grub

dan ganti

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

untuk

GRUB_CMDLINE_LINUX_DEFAULT="text"

Komentari GRUB_HIDDEN_TIMEOUT = 0 Baris ini adalah untuk menyembunyikan menu GRUB (komentar adalah untuk menuliskan "#" di baris)

sudo update-grub

dan untuk memulai ketik x saja startx

angelosclearchus
sumber
1
Tidak, saya pernah melakukan ini sebelumnya, saya hanya ingin agar mode teks tidak meminta nama pengguna dan kata sandi
Navid777
0
sudo update-rc.d -f gdm remove

Jika Anda menggunakan Kubuntu, ganti gdm dengan kdm pada perintah di atas.

jika masih melakukan boot grafis / shutdown, tetapi itu akan menjatuhkan Anda di baris perintah setelah boot. Anda mungkin harus memeriksa konfigurasi grub. Untuk itu Klik Di Sini

Mitch
sumber
Saya mencoba itu tetapi masih boot ke GUI
errorhandler
Maka Anda mungkin ingin mencoba konfigurasi GRUB.
Mitch