โหมดข้อความอย่างเดียวใน Linux (ไม่มี Gnome, KDE, Unity) เพื่อยืดอายุการใช้งานแบตเตอรี่


14

หากฉันต้องการปิดการใช้งาน GUI อย่างสมบูรณ์เพื่อประหยัดอายุการใช้งานแบตเตอรี่ฉันจะดำเนินการต่อไปอย่างไร

ฉันรู้ว่าฉันสามารถกด Ctrl + Alt + F3 และอยู่ในบรรทัดคำสั่งได้ แต่ตัวจัดการเดสก์ท็อปจะยังคงทำงานอยู่ในพื้นหลัง (ฉันคิดว่า)

ดังนั้นหลังจาก Ctrl + Alt + F3 ฉันต้องการสามคำสั่งเพื่อ:

  • บอกอายุการใช้งานแบตเตอรี่จากบรรทัดคำสั่ง
  • ปิดสภาพแวดล้อมเดสก์ท็อป

มันสมเหตุสมผลหรือไม่

คำตอบ:


11

หากฉันต้องการปิดการใช้งาน GUI อย่างสมบูรณ์เพื่อประหยัดอายุการใช้งานแบตเตอรี่ฉันจะดำเนินการต่อไปอย่างไร

คุณสามารถปิดการใช้งานเครื่องมือจัดการการแสดงผลของคุณ (ไม่ว่าจะเป็น kde, lightdm, gdm, ฯลฯ ) เพื่อให้ทำงานได้ตอนบูทเพียงรันตามระบบของคุณ:

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

ด้วยวิธีนี้คุณไม่ต้องหยุดตัวจัดการเดสก์ท็อปหลังจากบูต แต่ถ้าคุณไม่ต้องการสิ่งนี้sudo /etc/init.d/<display_manager_name> stopจะปิดตัวจัดการเดสก์ท็อปหลังจากบูท:

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

สิ่งนี้จะทำงานในระบบที่ใช้upstartเช่น Debian และอนุพันธ์

ในกรณีที่ระบบของคุณใช้systemdคุณสามารถใช้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>

บอกอายุการใช้งานแบตเตอรี่จากบรรทัดคำสั่ง

สำหรับการมองเห็นสถานะของแบตเตอรี่ของคุณคุณสามารถทั้งติดตั้งและเรียกscreen/ byobu(ซึ่งเป็นผู้จัดการหน้าจอและจะแสดงเปอร์เซ็นต์ของแบตเตอรี่ + สถิติอื่น ๆ ) acpi -bหรือที่ทำงาน

ปิดสภาพแวดล้อมเดสก์ท็อป

ตรวจสอบคำตอบก่อนหน้าของฉัน

ฉันรู้ว่าฉันสามารถกด Ctrl + Alt + F3 และอยู่ในบรรทัดคำสั่งได้ แต่ตัวจัดการเดสก์ท็อปจะยังคงทำงานอยู่ในพื้นหลัง (ฉันคิดว่า)

Ctrl+ Alt+ F1-6เพียงเปลี่ยนคุณเป็นหนึ่งใน tty โปรแกรมทั้งหมดที่คุณกำลังเรียกใช้จะยังคงทำงานอยู่บนพื้นหลัง


2
sudo service gdm stopจะไม่ปิดใช้งานในการบูต แต่เพียงหยุดบริการ สำหรับงานพุ่งพรวดsudo mv /etc/init/gdm.conf{,.norun}เพื่อปิดการใช้งาน
bonsaiviking

@bonsaiviking ไม่มีไฟล์การกำหนดค่า/etc/initสำหรับ GDM, KDM หรือ lightdm เก็บ GDM พวกเขาใน/etc/dbus-1/system.d/, KDM /etc/defaultใน
Braiam

จากนั้นพวกเขาจะไม่พุ่งพรวดงาน นั่นอาจเป็นที่ที่พวกเขาเก็บการกำหนดค่า แต่บริการอาจเป็นสคริปต์เริ่มต้น System V ใน /etc/init.d/ จัดการโดย rc symlinks ใช้sudo update-rc.d gdm disableแทน
bonsaiviking

บนระบบน้อยกว่าระบบปฏิบัติการคุณสามารถเลือก runlevel ตอนรันไทม์ เพียงกด 'e' ในขณะที่อยู่ในเมนู Grub2 และเพิ่มinit Nไปยังเคอร์เนล boot line ( Nเช่น3สำหรับ Cli ที่มีผู้ใช้หลายคนพร้อมเครือข่ายเปิด) แหล่งที่มา
tuk0z

4

บางคนพูดพาดพิงถึงinitทำไมไม่ใช้กับ runlevel ที่ระบุ? ในXubuntuล่าสุด 1 ใช้งานได้สำหรับฉัน

$ 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.

จากนั้นก็จะเป็นไปได้ที่จะหยุดผู้จัดการสก์ท็อปเป็นรัฐตอบกลับก่อนหรือเปลี่ยนการตั้งค่าในรูปแบบต่างๆ

สุดท้ายถ้าคุณอยู่บนSolaris หรือคล้ายกันคุณจะใช้อย่างใดอย่างหนึ่งinitหรือsvcadmและ "who -r" เพื่อแสดง runlevel ปัจจุบัน


ฉันเห็นด้วย. ในขณะที่ฉันมีระบบที่เริ่มต้นเป็น runlevel 3 และฉันจะเปลี่ยน runlevel เป็น 5 เมื่อฉันต้องการ gui และย้อนกลับไปเมื่อฉันทำเสร็จแล้ว
เควิน

ในขณะที่อยู่ในระบบ SysvInit (เช่น systemd-less) ฉันมักจะมีบางสิ่งที่แตกต่างออกไปเล็กน้อย (การเขียนเฉพาะตำแหน่งที่แตกต่าง): $ runlevel คือ: 2: ไม่ได้ใช้; 3: Cli ผู้ใช้หลายคนพร้อมเครือข่าย; 4: ไม่ได้ใช้; 5: เครือข่ายผู้ใช้หลายคนพร้อมกราฟิก
tuk0z

2

ปัญหาคือว่าในการกระจาย Linux ส่วนใหญ่initกระบวนการเปิดตัวจัดการหน้าต่างบน terminal ของตัวเองดังนั้น:

  1. ในการฆ่าส่วนต่อประสานกราฟิกทั้งหมดคุณจะต้องเป็นรูท
  2. แม้ว่าคุณจะฆ่าเซิร์ฟเวอร์ X ในฐานะรูท แต่init จะรีสตาร์ทโดยอัตโนมัติเนื่องจากตรงกับหนึ่งในเทอร์มินัลเสมือนของคุณ

ดังนั้นคุณจะต้องกำหนดค่าระบบของคุณเพื่อไม่ให้อินเทอร์เฟซแบบกราฟิกไม่ทำงานinitเมื่อเริ่มต้นซึ่งจะช่วยให้คุณสามารถเปิดใช้งานและยุติการทำงานด้วยตนเองในแบบปกติ ไม่สะดวกจริงๆ แต่ก็เป็นไปได้ ค้นหาไฟล์ที่เรียก/etc/inittabและอ้างถึงเอกสารinitคู่มือการแจกจ่ายเฉพาะของคุณเพื่อทราบวิธีการป้องกันไม่ให้เริ่มต้นส่วนต่อประสานกราฟิก อาจเป็นเพียงบรรทัดที่จะลบหรือแสดงความคิดเห็น

เกี่ยวกับคำถามอื่น ๆ acpiของคุณคุณสามารถทราบสถานะแบตเตอรี่ของคุณเพียงแค่พิมพ์คำสั่ง


1

ส่วน "บอกอายุการใช้งานแบตเตอรี่" นั้นง่ายขึ้นฉันใช้byobuหรือยูทิลิตี้ที่คล้ายกัน ผู้จัดการเหล่านี้ยอดเยี่ยมในการที่พวกเขาจะแยกเซสชันออกจากเทอร์มินัลซึ่งหมายความว่าคุณสามารถเริ่มงานของคุณใน DE ใน byobu จากนั้นเพียงแค่ปะทะ DE และดำเนินการต่อใน tty

หรือคุณสามารถใช้สิ่งนี้ภายในเชลล์ (คิด$PS1และฟังก์ชั่นทุบตี)

สำหรับส่วนการจับคู่การปิด DE หมายถึงการปิดโปรแกรมทั้งหมดที่ทำงานอยู่ภายในซึ่งอาจหมายถึงการสูญเสียข้อมูล ซึ่งสามารถถูกมองว่าเป็นเหตุผลว่าทำไมคุณต้องเข้าถึงรูท

อย่างไรก็ตามถ้าคุณต้องการสิ่งนี้จริงๆและต้องการที่จะทำมันได้อย่างรวดเร็วทุกเวลาคุณสามารถเขียนสคริปต์สำหรับสิ่งนั้น "ให้" แก่รูทและตั้งค่าบิต setuid เพื่อที่ว่าถ้าใครก็ตามที่รันสคริปต์นี้โดยเฉพาะมันจะทำงานเป็น รากโดยไม่ต้องรับรองความถูกต้องใด ๆ เพิ่มเติม สิ่งที่ทำให้มีความซับซ้อนน้อยนี้มากขึ้นก็คือ distros บางคนจะไม่ยอมให้คุณทำเช่นนี้กับสคริปต์ สิ่งนี้สามารถแก้ไขได้โดยการสร้าง C wrapperซึ่งจะexecเป็นสคริปต์สำหรับคุณและใช้ wrapper นั้นแทน

ฉันอาจจะใช้วิธีการนี้พร้อมพิจารณาคุณสมบัติเพิ่มเติมเช่นไม่จับคู่หากวิ่งจากภายใน DE ไม่จับคู่อะไรทันที (เช่นช่วงอายุ 60 ปี) หรือทำแผนที่กับปุ่มใน Byobu


0

ฉันเพิ่งค้นพบแพคเกจที่ดีที่เรียกว่าgrml-rescuebootซึ่งเมื่อติดตั้งบนคอมพิวเตอร์ของคุณช่วยให้คุณวางภาพ ISO ลงในไดเรกทอรี / boot / grml แล้วเมื่อคุณออกคำสั่ง update-grub จะเพิ่มที่บูต grub ของคุณเป็นสิ่งที่จะเริ่มระบบ

หากคุณใช้อิมเมจ ISO แล้วบูตจากข้อความนั้นทั้งหมด แต่ความสวยงามของโซลูชันนี้คือคุณสามารถบูตกลับเข้าสู่การตั้งค่าปกติได้ตลอดเวลาเมื่อคุณอยู่ใกล้แหล่งพลังงาน

ข้อมูลเพิ่มเติมที่นี่เกี่ยวกับวิธีการติดตั้งเนื่องจากแพ็คเกจนี้สามารถหาได้จากการกระจายส่วนใหญ่เพียงแค่ติดตั้งและอ่าน man page


-1

เพียงแค่ init 3 รันระบบในโหมดข้อความ

หรือแก้ไข / etc / inittab และเปลี่ยนระดับการทำงานเป็น 3 หากคุณต้องการให้ GUI เปลี่ยนระดับการทำงานเป็น 5


หากคุณต้องการรันระบบของคุณโดยไม่ต้องใช้ GUI เพียงแค่รัน #init 3 หรือหากคุณต้องการให้ระบบของคุณทำงานในโหมดข้อความให้เปลี่ยน / etc / inittab เป็นระดับ 3 เสมอสามารถเปลี่ยนเป็น Init 5 ได้
Bill
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.