Как мне получить красное смещение, чтобы начать с моего компьютера?

48

Я установил Redshiftна свой компьютер, и он отлично работает с командой gtk-redshift.

Однако он не запускается автоматически при использовании той же команды в автозагрузке приложений.

Как настроить автоматический запуск?

Dandyman
источник

Ответы:

27

Существует известная ошибка # 868904, из-за которой Redshift не запускается автоматически в 11.10 из-за конфликтов геоклика при запуске.

См. Комментарий № 17 к сообщению об ошибке для возможного решения постоянной установки местоположения при запуске.

1) Используйте http://itouchmap.com/latlong.html или любой другой сервис, чтобы найти широту / долготу

2) Настройте команду запуска красного смещения на: gtk-redshift -l <latitude>:<longitude>

Пример широты / долготы Амстердама для красного смещения: gtk-redshift -l 52.37: 4.9

Как сообщается, он исправлен в пакете 1.7-1ubuntu2, но на домашней странице Launchpad для проекта перечислены только версии 1.7-0ubuntu1, созданные 35 недель назад.

Вы можете попробовать загрузить напрямую с их веб-сайта, чтобы увидеть, решит ли он проблему с более поздней версией.

Марк Руни
источник
это началось бы, если бы я использовал метод часов GNOME?
Дендиман
Я не уверен, вы могли бы попробовать это, но шаги, описанные выше, по-видимому, работают ..
Марк Руни
Теперь я попробовал его как с ручными, так и с ручными методами, и он тоже не запустится
Dandyman
Хорошо, если вы попробовали метод выше, и он не работает, я вне предложений. Как я уже сказал, это ошибка в Redshift, поэтому вам, возможно, придется подождать, пока ее разработчик не устранит.
Марк Руни
Эта проблема также возникает с 14.04, и ваш второй вариант хорошо сработал для меня. Благодарю.
Ébe Исаак
14

Создайте файл с именем redshift.confin ~/.configи добавьте в него свои координаты. Это должно выглядеть примерно так :

[redshift]
location-provider=manual
[manual]
lat=55.0
lon=12.0
Джордж П. Берделл
источник
Это работало для меня с redshift-gtkv1.7 (установлен на автозапуск) на Trusty.
Arch Stanton
9

Я бы предложил два пути:

  1. Использование crontab
  2. Используя выскочку

CRONTAB

Crontab - это программа, которая работает постоянно. У него есть список с программами и скриптами и точными датами или интервалами, которые они должны выполнить. Crontab часто используется системными администраторами для создания резервных копий и автоматизации задач.

Чтобы увидеть список с программами, вы можете набрать

crontab -l

Для редактирования типа списка

crontab -e

Добавьте эту строку в конце, чтобы загружать красное смещение при каждом запуске компьютера

@reboot export DISPLAY=:0.0 && /usr/bin/redshift -l 56.20:16.35

где 56.20: 16.35 - это LATITUDE:LONGITUTEваше местоположение. Сохраните и перезагрузите компьютер.

ВЫСКОЧКА

Upstart - это программа, которая, помимо прочего, при загрузке просматривает определенные папки при запуске скриптов. Таким образом, мы можем просто добавить нашу программу, чтобы она запускалась при каждом запуске. Upstart более низкого уровня, чем crontab, и вам нужны привилегии root.

Чтобы добавить красное смещение, вам просто нужно отредактировать /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

Сохраните и перезагрузите.

Pithikos
источник
На моем Ubuntu 14.04 ни один подход не работает. В частности, в подходе crontab я вижу, syslogчто команда запускается, сообщения об ошибке нет, но процесс завершается к моменту появления экрана входа в систему. (То есть визуальный эффект запуска Redshift отсутствует, и после входа в систему я могу подтвердить, что процесс красного смещения действительно не запущен.)
Raphael
1
Этот пост предполагает, что оба подхода, которые вы предлагаете, обречены на провал. Вы действительно подтвердили, что они работают (более чем в одной настройке)? Например, я проверил, что $ DISPLAY иногда :0и :0.0для меня, так как я могу жестко закодировать значение?
Рафаэль
Должен был проверить, действительно ли это работает, перед голосованием. Как говорится в комментарии @Raphael, это вообще не работает. Теперь я не могу удалить свой голос! 😒
Джамадагни
2

Подключите компьютер к интернету и запустите gtk-redshiftв Терминале.

Выход будет:


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 добавьте «-l 18.98: 72.83» рядом с «Exec = redshift-gtk»


[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 Ваш LATITUDE: LONGITUTE

Сохраните этот файл и перезагрузите компьютер.

Сайрадж Чаван
источник
2
Можно простоcp /usr/share/applications/redshift.desktop ~/.config/autostart/
Гаян Виракутти
1

Обходной путь Antoher ( комментарий # 53 ) должен установить geoclue-hostip.

Несмотря на то, что в моей настройке (Ubuntu 13.04) обходной путь положения работает, я все равно предпочитаю его, потому что он позволяет точнее указывать местоположение.

LeartS
источник
1

Довольно старый вопрос, но для тех, кто может наткнуться на него, возможное решение может быть просто путем удаления geoclue и - если его еще нет - установки geoclue-2.0

Что-то вроде: apt remove geoclue && apt install geoclue-2.0

Выйдите из системы и войдите снова, чтобы увидеть изменения.

ps если цвета не говорят, вы можете проверить, запущено ли красное смещение с помощью psкоманды. напримерps aux | grep redshift

Galilyou
источник
0

Еще один способ - настроить команду запуска для красного смещения с указанным вручную lon: lat наподобие:

redshift-gtk -l xx:yy

где хх - широта, уу - долгота

Экран запуска приложения:

Проверено на Ubuntu 14.04LTS

стоять один
источник
0

Создайте файл ~/.xprofileсо следующим содержанием:

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

Xprofile выполняется в начале сеанса пользователя X, после того, как вы войти в графической оболочке (Unity или Gnome).

Команда redshift -PO 4200устанавливает температуру на 4200К.

Вы можете проверить скрипт, выйдя из системы, а затем войдя в нее.

golopot
источник
Зачем спать 10 секунд?
КаджМагнус
1
@KajMagnus Чтобы быть эффективным, красное смещение должно выполняться после завершения некоторых других процессов.
Голопот
0

Еще один способ сделать это:

  1. создать файл конфигурации, например /etc/redshift.conf

    [redshift]
    location-provider=manual
    
    [manual]
    lat=xx.xxx
    lon=yy.yyy
    
  2. создайте скрипт, который вызывает этот файл, например /usr/local/bin/redshift.sh( chmod 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
    
Serv-вкл
источник