Mode hanya teks di Linux (No Gnome, KDE, Unity) untuk memperpanjang usia baterai

14

Jika saya ingin menonaktifkan GUI saya sepenuhnya untuk menghemat masa pakai baterai, bagaimana saya melanjutkan?

Saya tahu bahwa saya dapat menekan Ctrl + Alt + F3 dan berada di baris perintah, tetapi manajer desktop masih di latar belakang (saya kira).

Jadi, setelah Ctrl + Alt + F3, saya perlu tiga perintah untuk:

  • beritahu saya masa pakai baterai dari baris perintah
  • tutup lingkungan desktop

Apakah ini masuk akal?

juannot clearness
sumber

Jawaban:

11

Jika saya ingin menonaktifkan GUI saya sepenuhnya untuk menghemat masa pakai baterai, bagaimana saya melanjutkan?

Anda bisa menonaktifkan Display Manager Anda (baik itu kde, lightdm, gdm, dll.) Untuk dijalankan saat boot, jalankan saja tergantung dari sistem Anda:

sudo update-rc.d gdm remove
sudo update-rc.d kdm remove
sudo update-rc.d lightdm remove

Dengan ini, Anda tidak harus menghentikan manajer desktop setelah boot. Tetapi jika Anda tidak menginginkan ini, sudo /etc/init.d/<display_manager_name> stopakan menutup manajer desktop setelah boot:

sudo service gdm stop
sudo service kdm stop
sudo service lightdm stop

Ini akan bekerja di sistem apa pun yang menggunakan upstart, seperti Debian dan turunannya.

Jika sistem Anda menggunakan systemd, Anda dapat menggunakan systemctl:

## All the next lines are executed as root
systemctl disable gdm ## or gdm3
systemctl disable kdm
systemctl disable lightdm
systemctl disable <name_of_the_service>

beritahu saya masa pakai baterai dari baris perintah

Untuk melihat status baterai Anda, Anda dapat menginstal dan menjalankan screen/ byobu(yang merupakan pengelola layar, dan akan menampilkan persentase baterai + statistik lainnya) atau berjalan acpi -b.

tutup lingkungan desktop

Periksa respons saya sebelumnya.

Saya tahu bahwa saya dapat menekan Ctrl + Alt + F3 dan berada di baris perintah, tetapi manajer desktop masih di latar belakang (saya kira).

Ctrl+ Alt+ F1-6cukup alihkan Anda ke salah satu tty. Semua program yang Anda jalankan akan terus dijalankan di latar belakang.

Braiam
sumber
2
sudo service gdm stoptidak akan menonaktifkannya saat boot, tetapi hanya menghentikan layanan. Untuk pekerjaan pemula, sudo mv /etc/init/gdm.conf{,.norun}untuk menonaktifkan.
bonsaiviking
@ bonsaiviking tidak ada file konfigurasi /etc/inituntuk gdm, kdm, atau lightdm, gdm menyimpannya di dalam /etc/dbus-1/system.d/, kdm in /etc/default.
Braiam
maka mereka bukan pekerjaan pemula. Itu mungkin tempat mereka menyimpan konfigurasi, tetapi layanan ini mungkin merupakan skrip init System V di /etc/init.d/ yang dikelola oleh rc symlinks. Gunakan sudo update-rc.d gdm disablesebagai gantinya.
bonsaiviking
Pada sistem-kurang OS Anda juga bisa memilih runlevel saat runtime. Cukup tekan 'e' saat di menu Grub2 dan tambahkan init Nke baris boot kernel (di mana Nmis. 3Untuk multi-pengguna Cli dengan jaringan Aktif). Sebuah sumber
tuk0z
4

Seseorang menyinggung initjadi mengapa tidak menggunakannya dengan runlevel yang ditentukan? Di Xubuntu 1 terbaru berfungsi untuk saya.

$ runlevel  \\just to show your actual runlevel, expect N 2.
$ sudo telinit $runlevel
   where $runlevel is either:
    0 : System halt.
    1 : Single-User mode.
    2 : Graphical multi-user plus networking (DEFAULT)
    3 : Same as "2", but not used.
    4 : Same as "2", but not used.
    5 : Same as "2", but not used.
    6 : System reboot.

Maka mungkin untuk menghentikan manajer desktop sebagai status balasan sebelumnya atau mengubah konfigurasi dengan berbagai cara .

Terakhir jika Anda menggunakan Solaris atau serupa , Anda akan menggunakan salah satu initatau svcadmdan "siapa -r" untuk menampilkan runlevel saat ini.

Masyarakat
sumber
Saya setuju. Untuk sementara saya memiliki sistem yang secara default menjalankan runlevel 3 dan saya akan mengubah runlevel ke 5 ketika saya menginginkan gui, dan kembali ketika saya selesai.
Kevin
Sementara pada sistem SysvInit (yaitu systemd-less) Saya selalu memiliki sesuatu yang sedikit berbeda (hanya menulis di tempat yang berbeda): $ runlevel adalah: 2: tidak digunakan; 3: Cli multi-pengguna plus jaringan; 4: tidak digunakan; 5: Grafis multi-pengguna plus jaringan.
tuk0z
2

Masalahnya adalah pada kebanyakan distribusi Linux, initproses meluncurkan window manager pada terminalnya sendiri, jadi:

  1. Untuk mematikan semua antarmuka grafis, Anda harus root
  2. Bahkan jika Anda membunuh server X sebagai root, init akan memulai ulang secara otomatis ketika menempati salah satu terminal virtual Anda

Jadi, Anda harus mengonfigurasi sistem Anda sehingga antarmuka grafis tidak diluncurkan initsaat mulai, yang akan memungkinkan Anda untuk meluncurkan dan menghentikannya secara manual dalam tty reguler. Itu tidak benar-benar nyaman tetapi layak. Cari file yang disebut/etc/inittab dan lihat dokumentasi spesifik distribusi Anda untuk mengetahui cara mencegah initmemulai antarmuka grafis. Mungkin hanya berupa baris untuk dihapus atau dikomentari.

Mengenai pertanyaan Anda yang lain, Anda dapat mengetahui status baterai Anda hanya dengan mengetik perintah acpi.

lororget
sumber
1

Bagian "menceritakan masa pakai baterai" lebih mudah, saya akan menggunakan byobu atau utilitas serupa untuk itu. Manajer ini hebat karena mereka akan memisahkan sesi dari terminal, yang berarti bahwa Anda bahkan dapat memulai pekerjaan Anda di DE di byobu, kemudian cukup tekan DE dan lanjutkan di tty.

Atau Anda dapat menerapkan ini di dalam shell ( $PS1fungsi berpikir dan bash).

Untuk bagian zapping, untuk menutup DE berarti menutup semua program yang berjalan di dalamnya, yang dapat berarti hilangnya data. Itu bisa dilihat sebagai alasan mengapa Anda membutuhkan akses root.

Namun, jika Anda benar-benar menginginkan ini, dan ingin dapat melakukannya dengan cepat kapan saja, Anda dapat menulis skrip untuk itu, "berikan" ke root dan set bit setuid sehingga jika ada yang menjalankan skrip khusus ini, itu akan berjalan sebagai root tanpa otentikasi lebih lanjut . Apa yang membuat ini sedikit lebih rumit adalah bahwa beberapa distro tidak akan membiarkan Anda melakukan ini dengan skrip . Ini dapat diatasi dengan membuat bungkus C yang akan execmembuat skrip untuk Anda dan menggunakan bungkus itu.

Saya mungkin akan pergi dengan pendekatan ini dan mempertimbangkan fitur-fitur tambahan seperti tidak menabrak jika berlari dari dalam DE, tidak menabrak apa pun segera (seperti periode 60-an) atau memetakannya ke kunci dalam Byobu.

Alois Mahdal
sumber
0

Baru-baru ini saya menemukan paket bagus yang disebut grml-rescuebootyang ketika diinstal pada komputer Anda memungkinkan Anda untuk menempatkan gambar ISO ke direktori / boot / grml dan kemudian ketika Anda mengeluarkan perintah update-grub akan menambahkannya ke boot grub Anda sebagai sesuatu untuk boot.

JIKA Anda menggunakan image ISO dan boot dari yang sepenuhnya berbasis teks. Namun keindahan dari solusi ini adalah Anda selalu dapat mem-boot kembali ke pengaturan normal saat Anda berada di dekat sumber daya.

Info lebih lanjut di sini tentang cara menginstal karena paket ini tersedia dari sebagian besar distribusi, cukup instal dan baca halaman manual.

Meer Borg
sumber
-1

Cukup init 3 jalankan sistem dalam mode Teks.

atau edit / etc / inittab dan ubah run level menjadi 3 jika Anda ingin GUI ubah run level ke 5

Tagihan
sumber
Jika Anda ingin menjalankan sistem Anda tanpa GUI. jalankan saja #init 3 atau jika Anda ingin menjalankan sistem Anda dalam mode teks, ubahlah / etc / inittab ke level 3 selalu dapat berubah menjadi Init 5.
Bill