Як змусити червону зміну розпочати з комп’ютера?


48

Я встановив Redshiftна комп’ютер, і він добре працює з командою gtk-redshift.

Однак він не запускатиметься автоматично при використанні тієї ж команди в запуску програм.

Як встановити його для автоматичного запуску?

Відповіді:


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-clock?
Дандіман

Я не впевнений, ви могли б спробувати, але кроки, викладені вище, мабуть, спрацьовують ..
Марк Руні

Зараз я спробував це як з годинником-гномом, так і з ручним методом, і він не почнеться ні на одному
Dandyman

Добре, якщо ви спробували метод вище, і він не працює, я не маю пропозицій. Як я вже говорив, це помилка в Redshift, тому вам, можливо, доведеться просто дочекатися, коли її вирішить розробник Redshift.
Марк Руні

Ця проблема також виникає з 14.04, і ваш другий варіант спрацював для мене добре. Дякую.
Ébe Isaac

14

Створіть файл з ім'ям redshift.confв ~/.configі додати свої координати до нього. Це має виглядати приблизно так :

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

Це працювало для мене з redshift-gtkверсією 1.7 (встановлено на автозапуск) на Trusty.
Арка Стентона

9

Я б запропонував два способи:

  1. Використання кронтабу
  2. Використання на початку

КРОНТАБ

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

Збережіть і перезавантажте.


У моєму Ubuntu 14.04 жоден підхід не працює. Зокрема, із підходом crontab, я можу побачити, syslogщо команда виконується, повідомлення про помилку відсутнє, але процес проходить до появи екрана входу за часом. (Тобто, немає візуального ефекту запуску Redshift, і після входу в систему я можу підтвердити, що дійсно не працює процес червоного змінення.)
Рафаель,

1
Цей пост говорить про те, що обидва запропоновані вами підходи приречені на провал. Ви насправді підтвердили, що вони працюють (у кількох налаштуваннях)? Наприклад, я перевірив, що $ DISPLAY - це іноді :0і іноді :0.0для мене, тож як я можу кодувати значення?
Рафаель

Повинен був перевірити, чи працює це насправді перед тим, як подати заявку. Як йдеться у коментарі @Raphael, це зовсім не працює. Тепер я не можу зняти свою підсумку! 😒
jamadagni

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'.

Як тільки ви отримаєте Latitude і Longitude зверху, продовжуйте та редагуйте конфігураційний файл автозапуску для 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 - ваш ЛАТИТУТ: ЛОГІТУТ

Збережіть цей файл і перезавантажте.


2
Можна простоcp /usr/share/applications/redshift.desktop ~/.config/autostart/
Gayan Weerakutti

1

Antoher вирішення ( коментар № 53 ) - це встановити geoclue-hostip.

Навіть незважаючи на те, що в моєму налаштуванні (Ubuntu 13.04) працює ручне вирішення положення, і я все одно віддаю перевагу тому, що це дозволяє мені більш точно вказати місцеположення.


1

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

Щось на зразок: apt remove geoclue && apt install geoclue-2.0

Вийдіть та увійдіть назад, щоб побачити зміни.

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


0

Ще один спосіб - це налаштувати команду запуску для червоного зміщення за допомогою вказаного вручну lon: lat like:

redshift-gtk -l xx:yy

де xx - широта, yy - довгота

Екран програми запуску:

Тестовано на Ubuntu 14.04LTS


0

Створіть файл ~/.xprofileіз таким вмістом:

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

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

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

Ви можете перевірити сценарій, вийшовши з системи, а потім увійшовши.


Навіщо спати 10 секунд?
KajMagnus

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
    
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.