redshift 是否需要有效的互联网连接才能工作?

pra*_*nna 14 indicator display brightness

如果没有活动的互联网连接,redshift 似乎无法运行。如果是这样,当没有连接到 Internet 时,是否可以通过某种方式运行它?

Glu*_*ate 14

更新:请注意,修复程序正在进行中。您可以等到它到达官方存储库,也可以按照帖子 #53 和错误报告中的建议自行应用。


正如 Anwar 指出的那样,Redshift 默认在线获取其地理位置数据。不过有一个解决方法:

手动配置地理位置数据


a.) 使用配置文件

从项目的主页

Redshift 将在“~/.config/redshift.conf”中查找配置文件。下面是一个例子:

; Global settings
[redshift]
temp-day=5700
temp-night=3500
transition=1
gamma=0.8:0.7:0.8
location-provider=manual
adjustment-method=vidmode

; The location provider and adjustment method settings
; are in their own sections.
[manual]
lat=55.0
lon=12.0

; In this example screen 1 is adjusted by vidmode. Note
; that the numbering starts from 0, so this is actually
; the second screen.
[vidmode]
screen=1`
Run Code Online (Sandbox Code Playgroud)

查找上面提供的目录。如果配置文件不存在,请创建一个并附加您喜欢的任何自定义选项。

您将要包括location-provider=manual和修改lat=,并long=与你的位置。此对话框将帮助您确定坐标。


b.) 使用命令行参数

启动启动应用程序

在此处输入图片说明

在启动应用程序列表中找到Redshift条目并点击Edit。在命令下输入以下字符串:

gtk-redshift -l LAT:LONG
Run Code Online (Sandbox Code Playgroud)

LAT 和 LONG 与您的坐标对应的位置。点击保存,然后重新登录以激活Redshift


Anw*_*war 5

答案是肯定的。Redshift 需要有效的互联网连接。这取决于libgeoclue0从 Internet 获取地理位置的包。

$ apt-cache depends redshift 
redshift
  Depends: libc6
  Depends: libgconf2-4
  Depends: libgeoclue0
  Depends: libglib2.0-0
  Depends: libx11-6
  Depends: libxcb-randr0
  Depends: libxcb1
  Depends: libxxf86vm1
Run Code Online (Sandbox Code Playgroud)

您还可以通过从终端运行 redshift 来验证这一点。终端将显示如下消息

Started Geoclue provider `Geoclue Master'.
Using provider `geoclue'.
According to the geoclue provider we're at: 22.36, 91.80
Using method `randr'.
Run Code Online (Sandbox Code Playgroud)

这表明,它正在使用互联网。

但是,如果您在没有 Internet 连接的情况下从终端启动 redshift,终端将显示以下类型的消息:

Started Geoclue provider `Geoclue Master'.
Using provider `geoclue'.
Could not get location (3 retries left): Geoclue master client has no usable Position providers.
Unable to get location from provider.
Run Code Online (Sandbox Code Playgroud)