自分のコンピューターで赤方偏移を開始するにはどうすればよいですか?


48

私はRedshift自分のコンピューターにインストールしましたが、コマンドでうまく動作しますgtk-redshift

ただし、起動アプリケーションで同じコマンドを使用すると、自動的に起動しません。

自動的に開始するように設定するにはどうすればよいですか?

回答:


27

起動時のジオクルーの競合により11.10でRedshiftの起動が自動的に停止するという既知のバグ#868904があります。

起動時に場所を永続的に設定する可能な解決策については、バグレポートのコメント17を参照してください。

1)http://itouchmap.com/latlong.htmlまたはその他のサービスを使用して、緯度/経度を見つけます

2)redshiftの起動コマンドを次のように調整します。 gtk-redshift -l <latitude>:<longitude>

赤方偏移のアムステルダムの緯度/経度の例:gtk-redshift -l 52.37:4.9

これはパッケージ1.7-1ubuntu2で修正されたと伝えられていますが、プロジェクトのLaunchpadホームページには35週間前にビルドされた1.7-0ubuntu1しかリストされていません。

あなたは彼らのウェブサイトから直接ダウンロードして、それがそれ以降のバージョンで問題を解決するかどうか確かめることができます。


GNOMEクロック方式を使用した場合、起動しますか?
ダンディマン

私はわからないんだけど、あなたはそれを試みることができるが、上記の手順では明らかに仕事概説...
マーク・ルーニー

今ではgnome-clockと手動の両方の方法で試してみましたが、どちらからも起動しません
Dandyman

あなたが上記の方法を試してみて、それがうまくいかないなら、私は提案を失います 前述したように、これはRedshiftのバグなので、Redshift開発者によって解決されるのを待つ必要があります。
マークルーニー

この問題は14.04でも発生し、2番目のオプションはうまく機能しました。ありがとう。
エーベアイザック


9

私は2つの方法を提案します:

  1. crontabを使用する
  2. upstartの使用

クロンタブ

Crontabは、常に実行されているプログラムです。プログラムとスクリプト、およびそれらが実行する正確な日付または間隔のリストがあります。Crontabは、システム管理者がバックアップの作成やタスクの自動化によく使用します。

入力できるプログラムのリストを表示するには

crontab -l

リストの種類を編集するには

crontab -e

最後にこの行を追加して、コンピューターが起動するたびにredshiftを起動します

@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実行の視覚効果はありません。ログイン後、実際に実行中の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'.

緯度と経度を上から取得したら、「〜/ .config / autostart /」にあるRedshiftの自動起動設定ファイルを編集します。


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

geditウィンドウで、「Exec = redshift-gtk」の横に「-l 18.98:72.83」を追加します


[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はLATITUDE:LONGITUTEです

このファイルを保存して再起動します。


2
1つだけcp /usr/share/applications/redshift.desktop ~/.config/autostart/
ガヤンWeerakutti

1

Antoherの回避策(コメント#53)はをインストールすることgeoclue-hostipです。

私のセットアップ(Ubuntu 13.04)では、手動による位置の回避策が機能しますが、場所をより正確に示すことができるので、とにかくそれを好みます。


1

かなり古い質問ですが、つまずくかもしれない人にとっては、geoclueを削除して(まだ存在しない場合は)geoclue-2.0をインストールするだけで解決できる可能性があります

何かのようなもの: apt remove geoclue && apt install geoclue-2.0

ログアウトして再度ログインし、変更を確認します。

ps色がわからない場合は、psコマンドを使用してredshiftが実行されているかどうかを確認できます。例えばps aux | grep redshift


0

もう1つの方法は、次のようにlon:latを手動で指定して、redshiftの起動コマンドを設定することです。

redshift-gtk -l xx:yy

ここで、xx-緯度、yy-経度

スタートアップアプリケーション画面:

Ubuntu 14.04LTSでテスト済み


0

~/.xprofile次の内容でファイルを作成します。

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

xprofileは、グラフィカルシェル(UnityまたはGnomeの)にログインした後、Xユーザーセッションの開始時に実行されます。

このコマンド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.shchmod 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
    
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.