根据位置配置屏幕超时/锁定

我想在我的笔记本电脑位于我公司的局域网中时启用屏幕超时和锁定,我想在家时禁用它。 对于位置检测,我使用whereami进行简单检测,如下所示:

default unknown testdhcp '172.16.*.*' work testdhcp '192.168.36.*' home 

现在我需要在进入或离开“工作”网络时设置相应的设置。 但是我在找到Gnome存储这些东西的地方时遇到了问题。 我已经找到了在屏幕配置对话框中切换“锁定”按钮的位置。 我在whereami配置中这样做:

 !work su -c "dconf write /org/gnome/desktop/screensaver/lock-enabled false" k =work su -c "dconf write /org/gnome/desktop/screensaver/lock-enabled true" k 

到目前为止这个工作。 但我还需要在屏幕配置对话框中配置“关闭后关闭”设置。 我在dconf中找到了这三个键,它们受到了影响:

 /org/gnome/desktop/session/idle-delay /org/gnome/settings-daemon/plugins/power/sleep-display-battery /org/gnome/settings-daemon/plugins/power/sleep-display-ac 

但是当我手动更改它们时它不起作用,屏幕对话框也不会读取新值。 所以我想有更多的密钥我必须改变,但我找不到它们(我在这个新的dconf中搜索function会很好)。

那么我要更改哪些设置来禁用/启用屏幕超时?

您可以尝试使用咖啡因而无需更改配置。
简单地运行它为= work并终止!work
sudo add-apt-repository ppa:caffeine-developers/ppa
sudo apt-get update
sudo apt-get install caffeine

更多关于咖啡因

找到了。 idle-delay必须是uint32类型,而不是其他两个值的字符串。 所以这对我有用:

 =work su -c "dconf write /org/gnome/desktop/screensaver/lock-enabled true" k =work su -c "dconf write /org/gnome/desktop/session/idle-delay 'uint32 120'" k =work su -c "dconf write /org/gnome/settings-daemon/plugins/power/sleep-display-ac 120" k =work su -c "dconf write /org/gnome/settings-daemon/plugins/power/sleep-display-battery 120" k !work su -c "dconf write /org/gnome/desktop/screensaver/lock-enabled false" k !work su -c "dconf write /org/gnome/desktop/session/idle-delay 'uint32 0'" k !work su -c "dconf write /org/gnome/settings-daemon/plugins/power/sleep-display-ac 0" k !work su -c "dconf write /org/gnome/settings-daemon/plugins/power/sleep-display-battery 0" k