Làm cách nào để có được dịch chuyển đỏ để bắt đầu với máy tính của tôi?


48

Tôi đã cài đặt Redshifttrên máy tính của mình và nó hoạt động tốt với lệnh gtk-redshift.

Tuy nhiên, nó sẽ không tự động khởi động khi sử dụng cùng một lệnh trong các ứng dụng khởi động.

Làm thế nào để tôi thiết lập nó để tự động bắt đầu?

Câu trả lời:


27

Có một lỗi đã biết # 868904 dừng Redshift tự động bắt đầu vào 11.10 do xung đột geoclue khi khởi động.

Xem Nhận xét số 17 về báo cáo lỗi để biết giải pháp có thể thiết lập vị trí vĩnh viễn khi khởi động.

1) Sử dụng http://itouchmap.com/latlong.html hoặc bất kỳ dịch vụ nào khác để tìm vĩ độ / kinh độ của bạn

2) Điều chỉnh lệnh khởi động của dịch chuyển đỏ thành: gtk-redshift -l <latitude>:<longitude>

Ví dụ về vĩ độ / kinh độ của Amsterdam cho dịch chuyển đỏ: gtk-redshift -l 52,37: 4,9

Nó được báo cáo là đã được sửa trong gói 1.7-1ubfox2 nhưng trang chủ Launchpad cho dự án chỉ liệt kê 1.7-0ubfox1 được xây dựng 35 tuần trước.

Bạn có thể thử tải trực tiếp từ trang web của họ để xem nó có khắc phục được sự cố với phiên bản mới hơn không.


nó sẽ bắt đầu nếu tôi sử dụng phương thức đồng hồ Gnome?
Dandyman

Tôi không chắc chắn, bạn có thể thử nó nhưng các bước được nêu ở trên rõ ràng có hiệu quả ..
Mark Rooney

Bây giờ tôi đã thử nó với cả phương pháp gnome-clock và thủ công, và nó sẽ không bắt đầu vào một trong hai
Dandyman

Chà, nếu bạn đã thử phương pháp trên và nó không hoạt động thì tôi không thể đề xuất. Như tôi đã nói đây là một lỗi trong Redshift, vì vậy bạn có thể phải đợi nó được giải quyết bởi nhà phát triển Redshift.
Mark Rooney

Vấn đề này cũng xảy ra với 14.04 và tùy chọn thứ hai của bạn hoạt động tốt với tôi. Cảm ơn.
Ébe Isaac

14

Tạo một file có tên redshift.conftrong ~/.configvà thêm tọa độ của bạn với nó. Nó sẽ kết thúc giống như thế này :

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

Điều này làm việc với tôi với redshift-gtkv1.7 (được đặt thành tự động khởi động) trên Trusty.
Arch Stanton

9

Tôi muốn đề xuất hai cách:

  1. Sử dụng crontab
  2. Sử dụng mới bắt đầu

CRONAB

Crontab là một chương trình đang chạy mọi lúc. Nó có một danh sách với các chương trình và tập lệnh và ngày hoặc khoảng chính xác mà chúng nên chạy. Crontab được sử dụng rất nhiều bởi các quản trị viên hệ thống để tạo bản sao lưu và tự động hóa các tác vụ.

Để xem danh sách với các chương trình bạn có thể nhập

crontab -l

Để chỉnh sửa loại danh sách

crontab -e

Thêm dòng này vào cuối, để khởi động dịch chuyển đỏ bất cứ khi nào máy tính khởi động

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

trong đó 56,20: 16,35 là LATITUDE:LONGITUTEvị trí của bạn. Lưu và khởi động lại.

UPSTART

Upstart là một chương trình trong số những thứ khác, tìm trong các thư mục cụ thể khi khởi động để các kịch bản được chạy. Vì vậy, chúng tôi chỉ có thể thêm chương trình của chúng tôi vào đó để nó chạy trong mỗi booutup. Upstart ở cấp độ thấp hơn crontab và bạn cần quyền root.

Để thêm redshift bạn chỉ cần chỉnh sửa /etc/rc.localtập tin. Thêm đường dẫn đến dịch chuyển đỏ trước sự exittrong các tập tin hoặc nếu không nó sẽ không chạy. Bạn có thể tìm thấy đường dẫn bằng cách gõ whereis redshift. Các tập tin sẽ trông giống như thế này:

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

Lưu và khởi động lại.


Trên Ubuntu 14.04 của tôi, không có cách tiếp cận nào hoạt động. Đặc biệt với cách tiếp cận crontab, tôi có thể thấy syslogrằng lệnh đang chạy, không có thông báo lỗi, nhưng quá trình đã diễn ra khi màn hình đăng nhập xuất hiện. (Đó là, không có hiệu ứng hình ảnh nào của Redshift đang chạy và sau khi đăng nhập tôi có thể xác nhận rằng thực sự không có quá trình dịch chuyển đỏ nào đang chạy.)
Raphael

1
Bài đăng này cho thấy rằng cả hai cách tiếp cận bạn đề xuất đều thất bại. Bạn đã thực sự xác nhận rằng chúng hoạt động (trong nhiều hơn một thiết lập)? Chẳng hạn, tôi đã kiểm tra rằng $ HIỂN THỊ đôi khi :0và đôi khi :0.0đối với tôi, vậy làm thế nào tôi có thể mã hóa giá trị?
Raphael

Nên đã kiểm tra xem điều này thực sự hoạt động trước khi nâng cấp. Như bình luận của @Raphael nói, điều này hoàn toàn không hoạt động. Bây giờ tôi không thể loại bỏ upvote của mình! 😒
jamadagni

2

Kết nối máy tính của bạn với internet và chạy gtk-redshifttrong Terminal.

Đầu ra sẽ là:


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

Khi bạn nhận được Vĩ độ và Kinh độ từ trên cao, hãy tiếp tục và Chỉnh sửa tệp cấu hình tự khởi động cho Redshift, được tìm thấy trong "~ / .config / autostart /"


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

Trong cửa sổ gedit, thêm "-l 18,98: 72,83" bên cạnh "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

trong đó 18,98: 72,83 là LATITUDE của bạn: LONGITUTE

Lưu tập tin này và khởi động lại.


2
Người ta chỉ có thểcp /usr/share/applications/redshift.desktop ~/.config/autostart/
Gayan Weerakutti

1

Cách giải quyết của Antoher ( nhận xét # 53 ) là cài đặt geoclue-hostip.

Mặc dù trên thiết lập của tôi (Ubuntu 13.04), cách giải quyết vị trí thủ công vẫn hoạt động và dù sao tôi cũng thích nó vì nó cho phép tôi chỉ ra vị trí chính xác hơn.


1

Một câu hỏi cũ, nhưng đối với những người có thể vấp phải nó, một giải pháp khả thi có thể chỉ đơn giản là xóa geoclue và - nếu nó không tồn tại-- cài đặt geoclue-2.0

Cái gì đó như: apt remove geoclue && apt install geoclue-2.0

Đăng xuất và đăng nhập lại để xem những thay đổi.

ps nếu màu sắc không cho biết, bạn có thể kiểm tra xem redshift có chạy hay không bằng pslệnh. ví dụps aux | grep redshift


0

Một cách khác là thiết lập lệnh khởi động cho dịch chuyển đỏ với lon được chỉ định thủ công: lat like:

redshift-gtk -l xx:yy

trong đó xx - vĩ độ, yy - kinh độ

Màn hình ứng dụng khởi động:

Đã thử nghiệm trên Ubuntu 14.04LTS


0

Tạo tập tin ~/.xprofilevới nội dung sau:

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

Các xprofile được thực hiện vào đầu phiên sử dụng X, sau khi bạn đăng nhập vào vỏ đồ họa (Unity hoặc Gnome).

Lệnh redshift -PO 4200đặt nhiệt độ thành 4200K.

Bạn có thể kiểm tra tập lệnh bằng cách đăng xuất và sau đó đăng nhập.


Tại sao ngủ 10 giây?
KajMagnus

1
@KajMagnus Để có hiệu quả, nên chuyển đỏ sau khi một số quy trình khác kết thúc.
golopot

0

Một cách khác để làm điều đó:

  1. tạo tập tin cấu hình, vd /etc/redshift.conf

    [redshift]
    location-provider=manual
    
    [manual]
    lat=xx.xxx
    lon=yy.yyy
    
  2. tạo một tập lệnh gọi tệp này, ví dụ /usr/local/bin/redshift.sh( chmod 755sau đó)

    redshift -c  /etc/redshift.conf &
    
  3. gọi này bất cứ khi nào trình quản lý hiển thị bắt đầu. Đối với LightDM, đây sẽ là một tệp tại /etc/lightdm/lightdm.conf.d/90-redshift.conf:

    [Seat:*]
    display-setup-script=/usr/local/bin/redshift.sh
    
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.