GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mendapatkan lebih sedikit tty dengan Systemd?

Tidak perlu menonaktifkan TTY "ekstra" seperti di bawah systemd getty dihasilkan sesuai permintaan:lihat man systemd-getty-generator untuk rincian. Perhatikan bahwa, secara default, pemijahan otomatis ini dilakukan hanya untuk VT hingga VT6 (untuk meniru sistem Linux tradisional).

Seperti yang dikatakan Lennart dalam postingan blog:

Untuk membuat hal-hal yang lebih efisien, prompt login sekarang dimulai hanya berdasarkan permintaan. Saat Anda beralih ke VT, layanan getty dibuat instance ke [email protected], [email protected], dan seterusnya. Karena kami tidak lagi harus memulai proses getty tanpa syarat, hal ini memungkinkan kami menghemat sedikit sumber daya, dan membuat permulaan sedikit lebih cepat.

Jika Anda ingin mengonfigurasi sejumlah getty tertentu, Anda dapat, cukup memodifikasi logind.conf dengan entri yang sesuai, dalam contoh ini 3:

NAutoVTs=3



Pada sistem berbasis Debian, ada file yang menyebabkan 5 getty ekstra diluncurkan saat startup jika Anda baru saja membangun server (tanpa layanan dbus):

/lib/systemd/system/getty.target.wants/getty-static.service

Di dalamnya tertulis:

[Service]
Type=oneshot
ExecStart=/bin/systemctl --no-block start [email protected] [email protected] [email protected] [email protected] [email protected]
RemainAfterExit=true

Hanya menghapus file ini akan menghentikan pemijahan ekstra getty. Jangan ragu untuk mempersingkat daftar jika Anda hanya ingin menelurkan satu getty ekstra (untuk 2 konsol virt). Perhatikan bahwa Anda secara otomatis mendapatkannya di tty1 sehingga Anda selalu memiliki setidaknya satu konsol virtual.

Lihat juga:systemd-logind.service gagal dimulai jika dbus hilang


Untuk menonaktifkan getty pada TTY 4-6 tertentu sambil membiarkan 1-3 dan 7-9 berfungsi, jalankan:

for i in {4..6}; do
  systemctl mask [email protected]${i}.service
done

mask membuat symlink /etc/systemd/system/{name} -> /dev/null yang secara efektif menonaktifkan layanan. Coba jalankan melalui systemctl start akan menampilkan error Failed to start NAME.service: Unit NAME.service is masked.

Jika Anda memiliki A.service Wants=masked.service , lalu start A akan berhasil tetapi juga menghasilkan galat mulai ketergantungan dalam jurnal.

Jika Anda memiliki B.service Requires=masked.service , lalu start B juga akan gagal.

Yup, jawaban nekro. Salam.


Linux
  1. Cara membuat layanan Systemd di Linux

  2. Bagaimana Cara Menulis Script Startup Untuk Systemd?

  3. Bagaimana Mengkonfigurasi Systemd Untuk Menghidupkan Script Sederhana Dengan Standardio Dalam Layanan Jaringan?

  1. Bagaimana Cara Mengemas Layanan Systemd?

  2. Cara mendapatkan statistik sistem dengan node.js

  3. Bagaimana cara mengeluarkan pengatur waktu systemd dari status n/a?

  1. Linux – Bagaimana Mendapatkan Lebih Sedikit Ttys Dengan Systemd?

  2. CentOS / RHEL 7 :Cara mengkonfigurasi getty serial dengan systemd

  3. Bagaimana cara mengirim email jika layanan systemd di-restart?