ปิดเครื่องจากเทอร์มินัลโดยไม่ป้อนรหัสผ่านหรือไม่


50

ฉันมี Ubuntu รุ่นเดสก์ท็อป

ฉันชอบเทอร์มินัลเพื่อให้ฉันชอบปิดคอมพิวเตอร์ด้วยshutdownคำสั่ง

อย่างไรก็ตามเมื่อฉันพิมพ์shutdown nowแจ้งให้ฉันป้อนรหัสผ่านมีวิธีใดบ้างที่ฉันสามารถปิดคอมพิวเตอร์โดยใช้คำสั่งนี้โดยไม่ต้องป้อนรหัสผ่าน


4
ไม่มีใครรู้ว่าคำสั่งใดจะถูกดำเนินการเมื่อฉันคลิก "ปิด" ใน Desktop Environment?
kubahaha

คำตอบ:


52

เปิดเทอร์มินัล (CTRL + T) และพิมพ์ดังต่อไปนี้ sudo visudo

เพิ่มบรรทัดต่อไปนี้:

%group_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown

หรือ

user_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown

สิ่งนี้อนุญาตให้ผู้ใช้ / กลุ่มรันคำสั่งสามคำสั่งข้างต้นโดยใช้ sudoแต่ไม่มีรหัสผ่าน

ดังนั้นsudo poweroffตอนนี้จะส่งผลในการปิดรหัสผ่าน


อย่างไรก็ตามเพื่อให้ทำความสะอาดนี้แม้เราจะเพิ่มนามแฝงเพื่อให้ทำงานสายshutdownsudo shutdown now

เปิด~/.bash_aliasesสำหรับการแก้ไข

nano ~/.bash_aliases

แทรกบรรทัดต่อไปนี้ที่ท้ายไฟล์:

alias shutdown='sudo shutdown now' 

สุดท้ายโหลดการเปลี่ยนแปลงไปยัง.bash_aliasesไฟล์ ...

source ~/.bash_aliases

ลอง!

shutdown

ขอบคุณ, เอริค


35

วิธีที่ปลอดภัยในการทำเช่นนี้โดยไม่ใช้ sudoและไม่ต้องแก้ไขด้วยระบบก็คือการดำเนินการคำสั่งหนึ่งซับไลน์ :

สำหรับ Ubuntu 14.10 หรือเก่ากว่า:

ปิดตัวลง:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

เริ่มต้นใหม่:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart

ติดตั้ง consolekitแน่นอนควรติดตั้งconsolekitระบบของคุณ

คำสั่งอื่น ๆ ที่คุณอาจชอบ:

ระงับ:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

ไฮเบอร์เนต: (หากเปิดใช้งานในระบบของคุณ)

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate


สำหรับ Ubuntu 15.04 และใหม่กว่า:

(นี่เป็นเพราะการเปลี่ยนแปลงของ Ubuntu ในการใช้systemdแทนUpstart)

systemctl poweroff

systemctl reboot

systemctl suspend

systemctl hibernate

systemctl hybrid-sleep

เนื่องจากปกติการไฮเบอร์เนตถูกปิดใช้งานตามค่าเริ่มต้นในระบบ Ubuntu คุณสามารถเปิดใช้งานสิ่งนี้ได้โดยตรวจสอบคำตอบนี้: https://askubuntu.com/a/617254/101985

แหล่งต้นฉบับ: https://bbs.archlinux.org/viewtopic.php?id=127962


3

ความสามัคคีใช้บริการ gnome มากมายและในกรณีนั้นด้วย - คุณสามารถปิดวิธี gnome ได้

gnome-session-quit --power-off --force --no-prompt

จะทำงาน


1

ในขณะที่คุณสามารถใช้วิธีการอนุญาตให้NOPASSWDอยู่บน/usr/sbin/shutdownแม้ว่าอีกวิธีการแก้ปัญหา init 0DE-อิสระเป็นเพียงแค่ใช้


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.