Làm cách nào tôi có thể tạm dừng hoặc ngủ đông máy tính xách tay của mình bằng dòng lệnh mà không cần cài đặt phần mềm bổ sung?
Làm cách nào tôi có thể tạm dừng hoặc ngủ đông máy tính xách tay của mình bằng dòng lệnh mà không cần cài đặt phần mềm bổ sung?
Câu trả lời:
Theo truyền thống, Ubuntu đã hỗ trợ một phương pháp tạm dừng và ngủ đông khá cùn. Không tích hợp tốt với các ứng dụng khác và đôi khi thậm chí không hoạt động trên một số máy. Phương thức mới không yêu cầu root và thông báo cho tất cả các ứng dụng lắng nghe các sự kiện điện.
Bắt đầu với Ubuntu 16.04, systemctl
cuộc gọi phải được sử dụng (Xem lệnh Tạm dừng trong Ubuntu 16.04 )
systemctl suspend
và
systemctl hibernate
Xem câu trả lời ở đây trên trang này từ Adam Paetznick liên quan đến việc sử dụng dbus . Lý tưởng nhất là bạn sẽ tạo một ~/bin/suspend
lối tắt / tập lệnh giúp cho việc sử dụng hành động này trở nên dễ dàng.
Để sử dụng trên ssh, bạn nên sửa đổi các quy tắc của bộ chính sách như được phác thảo bởi Peter V. Mørch
Theo Diễn đàn Ubuntu, bạn có thể sử dụng các lệnh sau:
pmi action suspend
và
pmi action hibernate
Điều này yêu cầu bạn cài đặt gói giao diện quản lý nguồn (không được kiểm tra).
sudo apt-get install powermanagement-interface
Tôi cũng đã tìm thấy các lệnh sudo pm-suspend
và sudo pm-hibernate
để làm việc trên netbook của tôi.
apt-get install powermanagement-interface
chạy pmi.
apt-get install powermanagement-interface
Cách thân thiện với gnome là sử dụng dbus.
dbus-send --system --print-reply \
--dest="org.freedesktop.UPower" \
/org/freedesktop/UPower \
org.freedesktop.UPower.Suspend
Có hai lợi thế cho lệnh này hơn pm-suspend
.
Nó sẽ khóa màn hình của bạn (khi tiếp tục) nếu bạn có tùy chọn đó được chọn trong gnome.
Nó không yêu cầu quyền root, vì vậy thật dễ dàng để thêm nó dưới dạng phím tắt.
Như đã đề cập trong các ý kiến trao đổi Suspend
trong dòng cuối cùng để Hibernate
tạo một lệnh ngủ đông:
dbus-send --system --print-reply \
--dest="org.freedesktop.UPower" \
/org/freedesktop/UPower \
org.freedesktop.UPower.Hibernate
Nếu ngủ đông ném Error org.freedesktop.UPower.GeneralError: not authorized
người dùng của bạn có thể không được phép ngủ đông. Chỉnh sửa hoặc tạo /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
để nó chứa phần sau: (nguồn)
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
Điều này đã được thử nghiệm trên UbuntuGnome 14.04 .
Lưu ý: Về cơ bản, đây giống như câu trả lời của qbi, nhưng được cập nhật để hoạt động cho các phiên bản Ubuntu mới hơn cũng như bao gồm cả ngủ đông.
Hibernate
, bạn chỉ cần thay thế dòng cuối cùng bằngorg.freedesktop.UPower.Hibernate
Nếu bạn muốn máy tính tạm ngưng trong một giờ vì bạn muốn đi ngủ nghe đài phát thanh yêu thích của mình, hãy mở thiết bị đầu cuối và gõ:
sudo bash -c "sleep 1h; pm-suspend"
và máy tính của bạn sẽ ngủ trong 1 giờ. Khi bạn thức dậy, nó sẽ giữ hình ảnh mở và tất cả những thứ của bạn.
Bạn có thể thay thế 1h
bằng những gì bạn muốn: h
hàng giờ, m
hàng phút, s
giây, d
ngày.
Chúc ngủ ngon!
Si vous voulez juste que Votere ord ordur se mette en veille dans une heure parce que vous voulez vous endormir en ecoutant Votere radio préférée, ouvrez Terminal et băngz:
sudo bash -c "sleep 1h; pm-suspend"
et Votere ord ordur s'endormira dans une heure. Quand vous vous réveillerez, il aura Consé en mémoire vos ứng dụng ouvertes.
Vous pouvez remplacer 1h
par ce que vous voulez: h
pour les heures, m
pour les phút, s
pour les secondes, d
pour les jours.
Bonne nuit!
Si quieres đình chỉ tu computadora en una hora porque quieres ir a dormir escuchando tu estación de radio favita, tan solo abre el terminal y escribe:
sudo bash -c "sleep 1h; pm-suspend"
y tu computadora se quedará dormida en 1 hora. Cuando despiertes, allí habrán quedado abiertas tus imágenes y todas tus cosas.
Puedes reemplazar 1h
por lo que desees: h
para horas, m
para minutos, s
para segundos, d
para días.
Buenas ồn ào!
Dành cho Ubuntu 12.04 LTS và Ubuntu 13.04
Để có chế độ ngủ đông:
sudo pm-hibernate
Để được tạm ngưng:
sudo pm-suspend
Bạn có thể sử dụng các tập tin /sys/power/state
để làm điều này. Trước tiên hãy tìm hiểu những trạng thái được hỗ trợ:
user@linux:_> cat /sys/power/state
standby mem disk
root@linux:~> echo -n mem > /sys/power/state # suspend to ram
root@linux:~> echo -n disk > /sys/power/state # suspend to disk
hoặc thông qua dbus:
Theo mục này trong launchpad , giao diện trên đã bị xóa. Vì vậy, nó sẽ không hoạt động nữa trong Ubuntu.
/sys/power/state
. Hơn nữa, phương thức dbus đã bị xóa khỏi Ubuntu nên nó sẽ không hoạt động nữa.
$ sudo echo -n mem > /sys/power/state
-bash: /sys/power/state: Permission denied
sudo -i
đầu tiên hoặc đường ống để sudo tee
thích như vậy:echo mem | sudo tee /sys/power/state
Để tắt hệ thống (14.04) từ dòng lệnh (hoặc phím tắt), hãy sử dụng:
dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:true
Tôi đã tìm thấy điều này bằng cách chơi xung quanh với gdbus có thể liệt kê các giao diện có sẵn:
Để liệt kê các dịch vụ có sẵn trên xe buýt:
dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
Để tìm các phương thức:
gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --recurse
vì 15.04 systemD là hệ thống init tiêu chuẩn nên có một lệnh mới sẽ được sử dụng:
systemctl suspend
systemctl suspend
sẽ tạm dừng máy tính, nhưng nó không làm cho màn hình bị khóa, mặc dù tôi đã kiểm tra hộp kiểm "Khóa màn hình khi hệ thống chuyển sang chế độ ngủ" trong Cài đặt -> Trình quản lý nguồn -> Bảo mật. Bất cứ ai có ý tưởng tại sao?
systemctl suspend
vẫn treo máy tính. Bây giờ, nó cũng làm cho màn hình bị khóa, nếu và chỉ khi hộp kiểm "Khóa màn hình khi hệ thống chuyển sang chế độ ngủ" trong Cài đặt -> Trình quản lý nguồn -> Bảo mật được chọn.
Câu trả lời dbus-send của Adam Paetznick không hoạt động như mục đích của tôi về sự sáng suốt; Máy đã thức dậy được mở khóa, mặc dù trình quản lý năng lượng gnome được thiết lập để khóa màn hình khi thức dậy. Tôi muốn màn hình bị khóa khi thức dậy và thấy rằng những điều sau đây thực hiện điều đó:
$ gnome-screensaver-command --lock && pmi action hibernate
Tôi tưởng tượng điều này không phụ thuộc vào cấu hình gnome, nhưng tôi đã không kiểm tra điều đó.
xscreensaver-command --lock
như trường hợp có thể.
Giao diện mới
Có thể hoạt động trong 15.10 Wily, và có thể là Utopic và Vivid.
dbus-send --print-reply --system \
--dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.Suspend boolean:true
Thật hữu ích, điều này không yêu cầu sudo, không giống như pm-suspend
lệnh.
Đây là cách đặt máy từ xa ở chế độ chờ qua ssh:
ssh -t 192.168.1.4 'sudo nohup &> / dev / null bash -c "(ngủ 1; echo -n mem> / sys / power / state) &"' mật khẩu của x@192.168.1.4: [sudo] mật khẩu cho x: Kết nối với 192.168.1.4 đã đóng.
/ sys / power / state hoạt động trong Ubuntu 13.10. pmi đưa ra lỗi Dbus.
Cá nhân tôi đã thử nghiệm phương pháp pmi. Tuy nhiên, khi tôi thử điều này, tôi nhận được một thông báo lỗi : Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
. Tuy nhiên, có một cách giải quyết trong bình luận thứ 3 của báo cáo lỗi này , dường như nó đã hoạt động với tôi (Tôi đang sử dụng Ubuntu 13.03).
Cập nhật cho những người, giống như tôi, vẫn hoạt động trên các hệ thống KDE / Ubuntu 14.04. Để khóa sử dụng qdbus
, và đình chỉ sử dụng dbus
. Lệnh đầy đủ:
qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Để ngủ đông, tức là tạm dừng ổ cứng thay vì RAM, thay thế 'Tạm dừng' ở cuối lệnh bằng 'Hibernate'.
Để chỉ khóa màn hình mà không bị treo, xscreensaver-command -lock
sẽ hoạt động, NẾU bạn chỉ gõ 1 dấu gạch nối cho tùy chọn '-lock' và chỉ khi trình bảo vệ màn hình đang chạy. Trên thực tế không phải là một lệnh rất hữu ích. Sử dụng i3lock
dễ dàng hơn, nhưng sau đó bạn sẽ không nhận được hộp thoại đăng nhập gọn gàng để quay lại hoạt động, như bạn sẽ làm khi sử dụng qdbus
.
Các công việc sau đây cho tôi vào ngày 16.04 (với máy tính để bàn Gnome):
gnome-screensaver-command --lock && compsleep
Tôi cũng đã cài đặt nó dưới dạng phím tắt tùy chỉnh thông qua bảng cài đặt Gnome dưới dạng các phím "Shift-Super-X".
systemctl suspend