Bilgisayarımla başlamak için nasıl kırmızıya kayma alabilirim?


48

RedshiftBilgisayarıma yükledim ve bu komutla iyi çalışıyor gtk-redshift.

Ancak, başlangıç ​​uygulamalarında aynı komutu kullanırken otomatik olarak başlamaz.

Otomatik olarak başlamasını nasıl ayarlarım?

Yanıtlar:


27

Başlangıçta geoclue çakışmaları nedeniyle Redshift'in 11.10'da otomatik olarak başlatılmasını durduran bilinen bir hata # 868904 vardır.

Başlangıçta konumu kalıcı olarak ayarlamanın olası bir çözümü için hata raporundaki Yorum # 17'ye bakınız .

1) Enlem / boylamınızı bulmak için http://itouchmap.com/latlong.html veya başka bir hizmeti kullanın.

2) Kırmızıya kaydırma başlangıç ​​komutunu aşağıdaki gibi ayarlayın: gtk-redshift -l <latitude>:<longitude>

Kırmızıya kayma için Amsterdam'ın enlem / boylam örneği: gtk-redshift -l 52.37: 4.9

Raporun 1.7-1ubuntu2 paketinde düzeltildiği, ancak projenin Launchpad ana sayfasında sadece 35 hafta önce inşa edilen sadece 1.7-0ubuntu1 listeler.

Sorunu daha sonraki bir sürümle çözüp çözmediğini görmek için doğrudan web sitelerinden indirmeyi deneyebilirsiniz .


GNOME-clock yöntemini kullanırsam başlar mı?
Dandyman

Emin değilim, deneyebilirsin ama yukarıda ana hatlarıyla belirtilen adımlar işe
yaradı

Şimdi hem gnome-clock hem de manuel yöntemlerle denedim ve hiçbiri de başlamayacak
Dandyman

Yukarıdaki yöntemi denediyseniz ve işe yaramazsa, önerim dışında. Dediğim gibi bu Redshift bir hata olduğunu, bu yüzden sadece Redshift geliştirici tarafından çözülmesi için beklemeniz gerekebilir.
Mark Rooney

Bu sorun 14.04 ile de ortaya çıkıyor ve ikinci seçeneğiniz de benim için iyi çalıştı. Teşekkürler.
Ébe Isaac,

14

Adlı bir dosya oluşturun redshift.confiçinde ~/.configve ona senin koordinatlarını ekleyin. Bunun gibi bir şeye bakmalı :

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

Bu benim için redshift-gtkTrusty'de v1.7 (otomatik başlatmaya ayarlanmış) olarak çalıştı .
Arch Stanton,

9

İki yol öneririm:

  1. Crontab kullanımı
  2. Upstart kullanarak

CRONTAB

Crontab her zaman çalışan bir programdır. Programların ve komut dosyalarının ve çalıştırmaları gereken tam tarih ve aralıkların bir listesi vardır. Crontab, sistem yöneticileri tarafından yedekleme yapmak ve görevleri otomatikleştirmek için çok kullanılır.

Listeyi yazabileceğiniz programlar ile görmek için

crontab -l

Liste türünü düzenlemek için

crontab -e

Bilgisayar başlatıldığında kırmızıya kaymayı önyüklemek için sonuna bu satırı ekleyin

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

burada 56.20: 16.35 LATITUDE:LONGITUTEsizin yeriniz. Kaydet ve yeniden başlat.

sonradan görme

Upstart, diğer şeylerin yanı sıra, çalıştırılacak komut dosyaları için önyükleme sırasında belirli klasörlere bakan bir programdır. Böylece her programda çalışabilmesi için programımızı buraya ekleyebiliriz. Başlangıcı crontab'dan daha düşük seviyelidir ve kök ayrıcalıklarına ihtiyacınız vardır.

Kırmızıya kaydırma eklemek için /etc/rc.localdosyayı düzenlemeniz yeterlidir . Kırmızıya kayma yolunu ekleyin önceexit dosyasında veya aksi takdirde çalışmaz. Yolu yazarak bulabilirsiniz whereis redshift. Dosya şuna benzemelidir:

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

Kaydet ve yeniden başlat.


Ubuntu 14.04'ümde hiçbir yaklaşım işe yaramıyor. Özellikle crontab yaklaşımı ile syslogkomutun çalıştırıldığını görebiliyorum, hata mesajı yok, ancak işlem giriş zamanı ekranına geldiğinde devam ediyor. (Yani, Redshift çalışmasının görsel bir etkisi yoktur ve oturum açtıktan sonra gerçekten de bir kırmızı Shift işleminin çalışmadığını doğrulayabilirim.)
Raphael

1
Bu gönderi , önerdiğiniz her iki yaklaşımın da başarısızlığa mahkum olduğunu gösteriyor. Gerçekten çalıştıklarını onayladınız mı (birden fazla kurulumda)? Örneğin, $ DISPLAY'in bazen :0ve bazen :0.0benim için olduğunu kontrol ettim, bir değeri nasıl kodlayabilirim?
Raphael,

Oy vermeden önce bunun gerçekten işe yarayıp yaramadığını kontrol etmeliydim. @Raphael 'in yorumunda belirtildiği gibi, bu hiç işe yaramıyor. Artık artı oyumu kaldıramıyorum! J
jamadagni

2

Bilgisayarınızı internete bağlayın ve gtk-redshiftTerminal'de çalıştırın .

Çıktı:


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

Enlem ve Boylamınızı yukarıdan aldığınızda, "~ / .config / autostart /" içinde bulunan Redshift için Devam et ve Düzenle autostart config dosyasını düzenle.


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

Gedit penceresinde "Exec = redshift-gtk" ın yanına "-l 18.98: 72.83" ekleyin.


[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

Nerede 18.98: 72,83 sizin enlem geçerli: LONGITUTE

Bu dosyayı kaydedin ve yeniden başlatın.


2
Bir can sadececp /usr/share/applications/redshift.desktop ~/.config/autostart/
Gayan Weerakutti

1

Antoher geçici çözüm ( yorum # 53 ) yüklemek geoclue-hostip.

Kurulumumda (Ubuntu 13.04) manuel konum geçici çözümü işe yarıyor olsa da, yine de tercih ediyorum çünkü konumu daha kesin olarak belirtmeme izin veriyor.



0

Başka bir yol, elle belirtilen lon: lat like ile redshift için start komutunu ayarlamaktır:

redshift-gtk -l xx:yy

nerede xx - enlem, yy - boylam

Başlangıç ​​Uygulama Ekranı:

Ubuntu 14.04LTS üzerinde test edilmiştir.


0

~/.xprofileAşağıdaki içerikle dosyayı oluşturun :

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

Xprofile grafik kabuk (Birlik veya Gnome) oturum açtıktan sonra, X kullanıcı oturumunun başında yürütülür.

Komut redshift -PO 4200sıcaklığı 4200K'ya ayarlar.

Komut dosyasını çıkış yapıp ardından giriş yaparak test edebilirsiniz.


Neden 10 saniye uyumalısın?
KajMagnus

1
@KajMagnus Etkili olması için, kırmızı ötelemenin diğer bazı işlemler bittikten sonra kaldırılması gerekir.
golopot

0

Bunu yapmanın başka bir yolu:

  1. Bir yapılandırma dosyası oluşturun, örneğin /etc/redshift.conf

    [redshift]
    location-provider=manual
    
    [manual]
    lat=xx.xxx
    lon=yy.yyy
    
  2. Bu dosyayı çağıran bir script oluşturun, örneğin /usr/local/bin/redshift.sh( chmod 755sonradan)

    redshift -c  /etc/redshift.conf &
    
  3. Ekran yöneticisi başladığında bunu arayın. LightDM için, bu bir dosya olacaktır /etc/lightdm/lightdm.conf.d/90-redshift.conf:

    [Seat:*]
    display-setup-script=/usr/local/bin/redshift.sh
    
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.