Wie bekomme ich Redshift, um mit meinem Computer zu beginnen?


48

Ich habe Redshiftauf meinem Computer installiert und es funktioniert gut mit dem Befehl gtk-redshift.

Es wird jedoch nicht automatisch gestartet, wenn in Startanwendungen derselbe Befehl verwendet wird.

Wie stelle ich den automatischen Start ein?

Antworten:


27

Es ist ein Fehler # 868904 bekannt , der den automatischen Start von Redshift in 11.10 aufgrund von Geoclue-Konflikten beim Start stoppt.

Eine mögliche Lösung zum dauerhaften Festlegen des Standorts beim Start finden Sie in Kommentar Nr. 17 des Fehlerberichts.

1) Verwenden Sie http://itouchmap.com/latlong.html oder einen anderen Dienst, um Ihren Breiten- / Längengrad zu ermitteln

2) Passen Sie den Startbefehl von Redshift an: gtk-redshift -l <latitude>:<longitude>

Beispiel für den Breitengrad / Längengrad von Amsterdam für die Rotverschiebung: gtk-redshift -l 52,37: 4,9

Es ist angeblich im Paket 1.7-1ubuntu2 behoben, aber die Launchpad-Homepage für das Projekt listet nur 1.7-0ubuntu1 auf, das vor 35 Wochen erstellt wurde.

Sie können versuchen, direkt von der Website des Herstellers herunterzuladen, um festzustellen , ob das Problem mit einer späteren Version behoben ist.


würde es beginnen, wenn ich die GNOME-Clock-Methode verwenden würde?
Dandyman

Ich bin nicht sicher, Sie könnten es versuchen, aber die oben beschriebenen Schritte funktionieren anscheinend ..
Mark Rooney

Ich habe es jetzt sowohl mit der Gnome-
Clock- als auch

Nun, wenn Sie die obige Methode ausprobiert haben und es nicht funktioniert, habe ich keine Vorschläge. Wie ich bereits sagte, ist dies ein Fehler in Redshift, sodass Sie möglicherweise nur darauf warten müssen, dass er vom Redshift-Entwickler behoben wird.
Mark Rooney

Dieses Problem tritt auch bei 14.04 auf und Ihre zweite Option hat bei mir gut funktioniert. Vielen Dank.
Ébe Isaac

14

Erstellen Sie eine Datei mit dem Namen redshift.confin ~/.configund fügen Sie Ihre Koordinaten hinzu. Es sollte ungefähr so aussehen :

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

Dies funktionierte für mich mit redshift-gtkv1.7 (auf Autostart eingestellt) auf Trusty.
Arch Stanton

9

Ich würde zwei Möglichkeiten vorschlagen:

  1. Crontab verwenden
  2. Upstart verwenden

CRONTAB

Crontab ist ein Programm, das ständig ausgeführt wird. Es enthält eine Liste mit Programmen und Skripten sowie den genauen Daten oder Intervallen, in denen sie ausgeführt werden sollen. Crontab wird häufig von Systemadministratoren zum Erstellen von Sicherungen und zum Automatisieren von Aufgaben verwendet.

Um die Liste mit den Programmen anzuzeigen, die Sie eingeben können

crontab -l

So bearbeiten Sie den Listentyp

crontab -e

Fügen Sie diese Zeile am Ende hinzu, um Redshift bei jedem Neustart des Computers zu starten

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

Dabei ist 56.20: 16.35 der Ort, LATITUDE:LONGITUTEan dem Sie sich befinden. Speichern und neu starten.

EMPORKÖMMLING

Upstart ist ein Programm, das beim Booten unter anderem in bestimmten Ordnern nach auszuführenden Skripten sucht. Wir können also einfach unser Programm hinzufügen, damit es in jedem Booutup ausgeführt wird. Upstart ist einfacher als Crontab und Sie benötigen Root-Rechte.

Um Rotverschiebung hinzuzufügen, müssen Sie einfach die /etc/rc.localDatei bearbeiten . Fügen Sie den Pfad zur Rotverschiebung vor dem exitin der Datei ein, sonst wird sie nicht ausgeführt. Sie können den Pfad finden, indem Sie Folgendes eingeben whereis redshift. Die Datei sollte ungefähr so ​​aussehen:

#!/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

Speichern und neu starten.


Auf meinem Ubuntu 14.04 funktioniert keiner der beiden Ansätze. Insbesondere mit dem Crontab-Ansatz kann ich feststellen, syslogdass der Befehl ausgeführt wird, es keine Fehlermeldung gibt, aber der Prozess zum Zeitpunkt des Starts des Anmeldebildschirms beendet ist. (Das heißt, es gibt keinen visuellen Effekt, wenn Redshift ausgeführt wird, und nach der Anmeldung kann ich bestätigen, dass tatsächlich kein Redshift-Prozess ausgeführt wird.)
Raphael,

1
Dieser Beitrag legt nahe, dass beide von Ihnen vorgeschlagenen Ansätze zum Scheitern verurteilt sind. Haben Sie tatsächlich bestätigt, dass sie funktionieren (in mehr als einem Setup)? Ich habe beispielsweise überprüft, ob $ DISPLAY manchmal :0und manchmal :0.0für mich gültig ist. Wie kann ich also einen Wert fest codieren ?
Raphael

Hätte vor dem Abstimmen prüfen sollen, ob dies tatsächlich funktioniert. Wie @Raphaels Kommentar sagt, funktioniert das überhaupt nicht. Jetzt kann ich mein Upvote nicht entfernen! 😒
Jamadagni

2

Verbinden Sie Ihren Computer mit dem Internet und führen Sie ihn gtk-redshiftim Terminal aus.

Die Ausgabe wird sein:


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

Sobald Sie Ihren Breiten- und Längengrad von oben erhalten haben, können Sie die Autostart-Konfigurationsdatei für Redshift bearbeiten. Diese finden Sie in "~ / .config / autostart /".


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

Im gedit Fenster füge "-l 18.98: 72.83" neben "Exec = redshift-gtk" ein


[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

wo 18,98: 72,83 ist Ihr LATITUDE: Longitute

Speichern Sie diese Datei und starten Sie neu.


2
Man kann nurcp /usr/share/applications/redshift.desktop ~/.config/autostart/
Gayan Weerakutti

1

Eine weitere Problemumgehung ( Kommentar 53 ) ist die Installation geoclue-hostip.

Obwohl auf meinem Setup (Ubuntu 13.04) die manuelle Positionsumgehung funktioniert und ich sie trotzdem bevorzuge, weil ich damit den Ort genauer angeben kann.


1

Eine alte Frage, aber für diejenigen, die vielleicht darauf stoßen , könnte eine mögliche Lösung einfach darin bestehen , Geoclue zu entfernen und - falls es noch nicht existiert - Geoclue-2.0 zu installieren

So etwas wie: apt remove geoclue && apt install geoclue-2.0

Melden Sie sich ab und wieder an, um die Änderungen zu sehen.

ps Wenn die Farben nicht aussagen, können Sie mit dem psBefehl überprüfen, ob die Rotverschiebung ausgeführt wird . z.Bps aux | grep redshift


0

Eine andere Möglichkeit besteht darin, den Startbefehl für Redshift mit manuell angegebenem lon: lat wie folgt einzurichten:

redshift-gtk -l xx:yy

wo xx - Breite, yy - Länge

Startbildschirm der Anwendung:

Getestet auf Ubuntu 14.04LTS


0

Erstellen Sie die Datei ~/.xprofilemit folgendem Inhalt:

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

Das xprofile wird zu Beginn der X-Benutzersitzung ausgeführt, nachdem Sie sich bei der grafischen Shell (Unity oder Gnome) angemeldet haben .

Der Befehl redshift -PO 4200setzt die Temperatur auf 4200K.

Sie können das Skript testen, indem Sie sich abmelden und dann anmelden.


Warum 10 Sekunden schlafen?
KajMagnus

1
@KajMagnus Um effektiv zu sein, sollte Redshift ausgeführt werden, nachdem einige andere Prozesse abgeschlossen wurden.
Golopot

0

Ein anderer Weg, es zu tun:

  1. Erstellen Sie eine Konfigurationsdatei, z /etc/redshift.conf

    [redshift]
    location-provider=manual
    
    [manual]
    lat=xx.xxx
    lon=yy.yyy
    
  2. erstelle ein Skript, das diese Datei aufruft, zB /usr/local/bin/redshift.sh( chmod 755danach)

    redshift -c  /etc/redshift.conf &
    
  3. Rufen Sie dies immer dann auf, wenn der Display-Manager gestartet wird. Für LightDM wäre dies eine Datei unter /etc/lightdm/lightdm.conf.d/90-redshift.conf:

    [Seat:*]
    display-setup-script=/usr/local/bin/redshift.sh
    
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.