Linux
在沒有桌面環境的情況下從 X 關閉
我最近放棄了我的桌面環境,現在只使用 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
您可以將它們放在腳本中並添加快捷方式或菜單條目來呼叫它們。