如何让 redshift 在我的电脑上启动?

如何让 redshift 在我的电脑上启动?

我已经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

我建议两种方法:

  1. 使用 crontab
  2. 使用 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)上手动定位解决方法有效,但我还是更喜欢它,因为它允许我更精确地指示位置。

相关内容