Bagaimana saya mendapatkan pergeseran merah untuk memulai dengan komputer saya?

48

Saya telah menginstal Redshiftdi komputer saya dan berfungsi baik dengan perintah gtk-redshift.

Namun, itu tidak akan mulai secara otomatis ketika menggunakan perintah yang sama di aplikasi startup.

Bagaimana cara mengaturnya untuk mulai secara otomatis?

Dandyman
sumber

Jawaban:

27

Ada bug yang diketahui # 868904 yang menghentikan Redshift yang dimulai secara otomatis di 11.10 karena konflik geoclue saat startup.

Lihat Komentar # 17 pada laporan bug untuk solusi yang mungkin mengatur lokasi secara permanen saat start up.

1) Gunakan http://itouchmap.com/latlong.html atau layanan lain untuk menemukan garis lintang / bujur Anda

2) Sesuaikan perintah startup redshift ke: gtk-redshift -l <latitude>:<longitude>

Contoh lintang / bujur Amsterdam untuk pergeseran merah: gtk-redshift -l 52.37: 4.9

Dilaporkan sudah diperbaiki dalam paket 1.7-1ubuntu2 tetapi homepage Launchpad untuk proyek hanya mencantumkan 1.7-0ubuntu1 yang dibuat 35 minggu lalu.

Anda dapat mencoba mengunduh langsung dari situs web mereka untuk melihat apakah itu memperbaiki masalah dengan versi yang lebih baru.

Mark Rooney
sumber
apakah itu akan mulai jika saya menggunakan metode jam GNOME?
Dandyman
Saya tidak yakin, Anda bisa mencobanya tetapi langkah-langkah yang diuraikan di atas ternyata berhasil ..
Mark Rooney
Saya sekarang sudah mencobanya dengan baik gnome-jam dan metode manual, dan itu tidak akan mulai baik
Dandyman
Nah jika Anda sudah mencoba metode di atas dan tidak berhasil saya kehabisan saran. Seperti yang saya katakan ini adalah bug di Redshift sehingga Anda mungkin harus menunggu sampai diselesaikan oleh pengembang Redshift.
Mark Rooney
Masalah ini juga terjadi pada 14,04 dan opsi kedua Anda bekerja dengan baik untuk saya. Terima kasih.
Ébe Isaac
14

Buat sebuah file bernama redshift.confdalam ~/.configdan menambahkan koordinat Anda untuk itu. Seharusnya terlihat seperti ini :

[redshift]
location-provider=manual
[manual]
lat=55.0
lon=12.0
George P. Burdell
sumber
Ini bekerja untuk saya dengan redshift-gtkv1.7 (atur ke autostart) di Trusty.
Arch Stanton
9

Saya akan menyarankan dua cara:

  1. Menggunakan crontab
  2. Menggunakan pemula

CRONTAB

Crontab adalah program yang berjalan setiap saat. Ia memiliki daftar dengan program dan skrip serta tanggal atau interval pasti yang harus dijalankan. Crontab banyak digunakan oleh administrator sistem untuk membuat cadangan dan mengotomatiskan tugas.

Untuk melihat daftar dengan program yang bisa Anda ketik

crontab -l

Untuk mengedit jenis daftar

crontab -e

Tambahkan baris ini pada akhirnya, untuk mem-boot redshift setiap kali komputer dinyalakan

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

di mana 56.20: 16.35 adalah LATITUDE:LONGITUTElokasi Anda. Simpan dan mulai ulang.

UPSTART

Pemula adalah program yang antara lain, mencari di folder tertentu saat boot untuk skrip yang akan dijalankan. Jadi kita bisa menambahkan program kita di sana untuk menjalankannya di setiap booutup. Pemula lebih rendah daripada crontab dan Anda membutuhkan hak akses root.

Untuk menambahkan pergeseran merah, Anda cukup mengedit /etc/rc.localfile. Menambahkan path ke pergeseran merah sebelum yang exitdalam file atau yang lain itu tidak akan berjalan. Anda dapat menemukan jalur dengan mengetik whereis redshift. File akan terlihat mirip dengan ini:

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

Simpan dan mulai ulang.

Pithikos
sumber
Di Ubuntu 14.04 saya, tidak ada pendekatan yang berfungsi. Khususnya dengan pendekatan crontab, saya dapat melihat syslogbahwa perintah dijalankan, tidak ada pesan kesalahan, tetapi prosesnya hilang pada saat layar masuk muncul. (Yaitu, tidak ada efek visual dari Redshift yang berjalan, dan setelah login saya dapat mengonfirmasi bahwa memang tidak ada proses redshift yang berjalan.)
Raphael
1
Posting ini menunjukkan bahwa kedua pendekatan yang Anda usulkan akan gagal. Apakah Anda benar-benar mengonfirmasi bahwa itu berfungsi (dalam lebih dari satu pengaturan)? Sebagai contoh, saya telah memeriksa bahwa $ DISPLAY kadang :0-kadang dan kadang :0.0- kadang untuk saya, jadi bagaimana saya bisa memberikan nilai pada hardcode?
Raphael
Seharusnya memeriksa apakah ini benar-benar berfungsi sebelum upvoting. Seperti komentar @Raphael mengatakan, ini tidak bekerja sama sekali. Sekarang saya tidak dapat menghapus upvote saya! 😒
jamadagni
2

Sambungkan komputer Anda ke internet dan jalankan gtk-redshiftdi Terminal.

Outputnya adalah:


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

Setelah Anda mendapatkan Latitude dan Longitude Anda dari atas, Silakan dan Edit file konfigurasi autostart untuk Redshift, yang ditemukan di "~ / .config / autostart /"


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

Di jendela gedit, tambahkan "-l 18.98: 72.83" di sebelah "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

di mana 18.98: 72.83 adalah LATITUDE Anda: LONGITUTE

Simpan file ini dan Nyalakan Ulang.

Sairaj Chavan
sumber
2
Satu bisa sajacp /usr/share/applications/redshift.desktop ~/.config/autostart/
Gayan Weerakutti
1

Solusi antoher ( komentar # 53 ) adalah menginstal geoclue-hostip.

Meskipun pada pengaturan saya (Ubuntu 13.04) penyelesaian posisi manual berfungsi, dan saya tetap lebih suka karena memungkinkan saya untuk menunjukkan lokasi lebih tepat.

LeartS
sumber
1

Cukup pertanyaan lama, tetapi bagi mereka yang mungkin tersandung, solusi yang mungkin hanya dengan menghapus geoclue dan - jika belum ada - menginstal geoclue-2.0

Sesuatu seperti: apt remove geoclue && apt install geoclue-2.0

Logout dan masuk kembali untuk melihat perubahannya.

ps jika warnanya tidak jelas, Anda dapat memeriksa apakah pergeseran merah sedang berjalan menggunakan psperintah. misalnyaps aux | grep redshift

Galilyou
sumber
0

Cara lain adalah dengan mengatur perintah startup untuk pergeseran merah dengan lon: lat yang ditentukan secara manual seperti:

redshift-gtk -l xx:yy

di mana xx - latitude, yy - longitude

Layar Aplikasi Startup:

Diuji pada Ubuntu 14.04LTS

berdiri sendiri
sumber
0

Buat file ~/.xprofiledengan konten berikut:

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

The xprofile dijalankan pada awal sesi pengguna X, setelah Anda login ke shell grafis (Unity atau Gnome).

Perintah redshift -PO 4200mengatur suhu ke 4200K.

Anda dapat menguji skrip dengan keluar dan masuk.

golopot
sumber
Kenapa tidur 10 detik?
KajMagnus
1
@KajMagnus Agar efektif, pergeseran merah harus dijalankan setelah beberapa proses lainnya selesai.
golopot
0

Cara lain untuk melakukannya:

  1. buat file config, mis /etc/redshift.conf

    [redshift]
    location-provider=manual
    
    [manual]
    lat=xx.xxx
    lon=yy.yyy
    
  2. buat skrip yang memanggil file ini, mis. /usr/local/bin/redshift.sh( chmod 755sesudahnya)

    redshift -c  /etc/redshift.conf &
    
  3. panggil ini setiap kali manajer layar memulai. Untuk LightDM, ini akan menjadi file di /etc/lightdm/lightdm.conf.d/90-redshift.conf:

    [Seat:*]
    display-setup-script=/usr/local/bin/redshift.sh
    
serv-inc
sumber