Linux

在沒有桌面環境的情況下從 X 關閉

  • January 6, 2012

我最近放棄了我的桌面環境,現在只使用 Window Manager (i3) 和 X。一切都很好,我不會錯過太多。除了一件事:關機按鈕。我現在只能通過發出以下命令關閉:

sudo shutdown -Ph now

從一個終端。這可行,但我想在 i3 中創建一個鍵綁定以通過點擊來關閉Mod+x。而且我不確定如何實現這一點。如果我在 say 中創建一個腳本~/shutdown並參考這個:

bindsym $mod+x exec ~/shutdown

那麼這不起作用;我想是因為我作為普通使用者執行並且我在這個腳本中 sudoing。我可以讓終端出現並提示我輸入密碼(儘管如果可能的話,我更喜歡這不需要密碼),但我不確定如何執行此操作。有什麼方法可以完成這項工作?

使用 Arch Linux。

如果您使用D-Bus 會話ConsoleKit(它是大多數現代桌面系統的預設組件,因此您可能已經安裝了它),那麼一種比系統關機方法稍微乾淨sudo shutdown且不需要任何類型的 root 權限的方法是:

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

同樣,系統重啟可以通過

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

您可以將它們放在腳本中並添加快捷方式或菜單條目來呼叫它們。

引用自:https://unix.stackexchange.com/questions/28416