我已经Redshift
在我的计算机上安装并且它可以很好地运行该命令gtk-redshift
。
但是,在启动应用程序中使用相同命令时它不会自动启动。
如何设置它自动启动?
答案1
有一个已知错误#868904由于启动时 geoclue 冲突,Redshift 会在 11.10 中停止自动启动。
看评论#17在错误报告中寻找在启动时永久设置位置的可能解决方案。
1)使用http://itouchmap.com/latlong.html或任何其他服务来查找你的纬度/经度
2)调整redshift的启动命令为:
gtk-redshift -l <latitude>:<longitude>
阿姆斯特丹红移经纬度示例:gtk-redshift -l 52.37:4.9
据报道,该问题已在 1.7-1ubuntu2 软件包中得到修复,但该项目的 Launchpad 主页仅列出了 35 周前构建的 1.7-0ubuntu1。
你可以尝试直接从他们的网站看看后续版本是否能修复该问题。
答案2
redshift.conf
创建一个名为的文件~/.config
,并将你的坐标添加到其中。它最终应该看起来像这样像这样:
[redshift]
location-provider=manual
[manual]
lat=55.0
lon=12.0
答案3
我建议两种方法:
- 使用 crontab
- 使用 upstart
计划任务
Crontab 是一个始终运行的程序。它有一个程序和脚本列表,以及它们应运行的确切日期或间隔。系统管理员经常使用 Crontab 进行备份和自动执行任务。
要查看程序列表,您可以输入
crontab -l
编辑列表类型
crontab -e
在最后添加这一行,以便在计算机启动时启动 redshift
@reboot export DISPLAY=:0.0 && /usr/bin/redshift -l 56.20:16.35
其中 56.20:16.35 是LATITUDE:LONGITUTE
您所在的位置。保存并重新启动。
暴发户
Upstart 是一个程序,除了其他功能外,它还会在启动时在特定文件夹中查找要运行的脚本。因此,我们可以将我们的程序添加到其中,让它在每次启动时运行。Upstart 比 crontab 更低级,您需要 root 权限。
要添加 redshift,您只需编辑/etc/rc.local
文件。添加 redshift 的路径前文件中的exit
,否则它不会运行。您可以通过键入来找到路径whereis redshift
。该文件应类似于以下内容:
#!/bin/sh -e
pcscd
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/usr/bin/redshift
exit 0
保存并重新启动。
答案4
另一个解决方法(评论#53) 就是安装geoclue-hostip
。
尽管在我的设置(Ubuntu 13.04)上手动定位解决方法有效,但我还是更喜欢它,因为它允许我更精确地指示位置。