如何使redshift从计算机开始?


48

我已经Redshift在计算机上安装了该命令,它可以正常工作gtk-redshift

但是,在启动应用程序中使用相同命令时,它不会自动启动。

如何将其设置为自动启动?

Answers:


27

有一个已知的错误#868904,由于启动时的地理线索冲突,该错误会阻止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。

您可以尝试直接从他们的网站下载,看看它是否可以解决更高版本的问题。


如果使用GNOME-clock方法,它将开始吗?
Dandyman'3

我不知道,你可以尝试,但上述步骤显然是工作..
马克·鲁尼

我现在已经使用gnome-clock和手动方法进行了尝试,但都不会开始使用
Dandyman 2012年

好吧,如果您尝试了上面的方法,但它不起作用,我没有建议。正如我所说的,这是Redshift中的一个错误,因此您可能只需要等待Redshift开发人员解决它即可。
马克·鲁尼2012年

14.04也会发生此问题,您的第二个选项对我来说效果很好。谢谢。
EBE艾萨克

14

创建一个名为的文件redshift.conf~/.config并向其中添加坐标。它最终应该看起来像这样

[redshift]
location-provider=manual
[manual]
lat=55.0
lon=12.0

这适用redshift-gtk于Trusty上的v1.7(设置为自动启动)。
Arch Stanton

9

我建议两种方式:

  1. 使用crontab
  2. 使用新贵

CRONTAB

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是一个程序,除其他外,该程序在启动时在特定文件夹中查找要运行的脚本。因此,我们可以仅在其中添加程序以使其在每个booutup中运行。Upstart比crontab更底层,您需要root特权。

要添加redshift,您只需编辑/etc/rc.local文件。添加红移路径之前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

保存并重新启动。


在我的Ubuntu 14.04上,这两种方法均无效。特别是使用crontab方法时,我可以看到syslog该命令已运行,没有错误消息,但是在出现登录屏幕时该过程已消失。(也就是说,没有运行Redshift的视觉效果,登录后我可以确认确实没有运行Redshift进程。)
Raphael

1
这篇文章表明,您提出的两种方法注定都会失败。您确实确认了它们的功能(在多个设置中)?例如,我检查了$ DISPLAY :0有时:0.0对我而言是否正确,那么我该如何对值进行硬编码?
拉斐尔

在赞成之前应检查这是否确实有效。正如@Raphael的评论所说,这根本不起作用。现在,我无法删除我的赞!😒–
jamadagni

2

将您的计算机连接到Internet并gtk-redshift在Terminal中运行。

输出将是:


maez@maez:~$ gtk-redshift
Trying location provider `geoclue'...
Started Geoclue provider `Geoclue Master'.
Using provider `geoclue'.

** (process:3541): WARNING **: Could not get location, 3 retries left.

According to the geoclue provider we're at: 18.98, 72.83
Using method `randr'.

从上方获取纬度和经度后,请继续并编辑Redshift的自动启动配置文件,该文件位于“〜/ .config / autostart /”中


maez@maez:~$ cd .config/autostart/
maez@maez:~/.config/autostart$ gedit redshift-gtk.desktop

在gedit窗口中,在“ Exec = redshift-gtk”旁边添加“ -l 18.98:72.83”


[Desktop Entry]
Comment=Color temperature adjustment tool
StartupNotify=true
Exec=redshift-gtk -l 18.98:72.83
Terminal=false
GenericName=Color temperature adjustment
Version=1.0
Categories=Utility;
Hidden=false
Icon=redshift
Type=Application
X-GNOME-Autostart-enabled=true
Name=Redshift

其中18.98:72.83是您的纬度:经度

保存此文件并重新启动。


2
一个人可以cp /usr/share/applications/redshift.desktop ~/.config/autostart/
Gayan Weerakutti 18/09/19

1

解决方法(注释#53)是install geoclue-hostip

即使在我的设置(Ubuntu 13.04)上,手动位置解决方法也可行,并且无论如何我还是更喜欢它,因为它可以让我更精确地指示位置。


1

相当老的问题了,但是对于那些可能偶然发现它的人来说,一个可能的解决方案可能就是删除geoclue,并且-如果还不存在,则安装geoclue-2.0

就像是: apt remove geoclue && apt install geoclue-2.0

注销并重新登录以查看更改。

ps如果颜色不明确,则可以使用以下ps命令检查redshift是否正在运行。例如ps aux | grep redshift


0

另一种方法是使用手动指定的lon:lat为redshift设置启动命令,例如:

redshift-gtk -l xx:yy

其中xx-纬度,yy-经度

启动应用程序屏幕:

在Ubuntu 14.04LTS上测试


0

创建~/.xprofile具有以下内容的文件:

#!/bin/sh
sleep 10 && redshift -PO 4200 &

登录到图形外壳程序(Unity或Gnome)之后,xprofile在X用户会话的开始执行。

该命令redshift -PO 4200将温度设置为4200K。

您可以通过注销然后登录来测试脚本。


为什么要睡十秒钟?
KajMagnus

1
@KajMagnus为了有效,应该在其他一些过程完成后运行redshift。
golopot

0

另一种方法是:

  1. 创建一个配置文件,例如 /etc/redshift.conf

    [redshift]
    location-provider=manual
    
    [manual]
    lat=xx.xxx
    lon=yy.yyy
    
  2. 创建一个调用该文件的脚本,例如/usr/local/bin/redshift.shchmod 755之后)

    redshift -c  /etc/redshift.conf &
    
  3. 只要显示管理器启动,就调用此函数。对于LightDM,这将是位于以下位置的文件/etc/lightdm/lightdm.conf.d/90-redshift.conf

    [Seat:*]
    display-setup-script=/usr/local/bin/redshift.sh
    
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.