入手しようとしてきました。赤い片スタート今後特に、ユーザーを切り替えるときに明るいスタート画面が見えないようにログインしてください。
Redshiftをサービスとして実行することは完全にはサポートされていないようです(例:このエラー)しかしそうです。可能原則として。
試した後AskUbuntuで見つけたいくつかのコンテンツそれでもうまくいかない場合、現在私の試みは私自身のスタートアップを構築することです/etc/init/redshift.conf
。
# Redshift
description "Redshift"
author "[email protected]"
start on (started lightdm)
script
exec redshift -c /etc/redshift.conf
end script
stop on runlevel [016]
私の考えでは、LightDMが実行された後に起動するのが効果的であり、停止することをお勧めします。
これで、これは私のログファイルに書き込まれます/var/log/upstart/redshift.log
。
`RANDR Query Version' returned error -1
Initialization of randr failed.
このエラーをインターネット検索しても、多くの情報は提供されません。私推測するまだ早く、ディスプレイマジックに関連するいくつかのサービスはまだ実行されていません。
私の表情はどうすればいいですかstart on
?
Ubuntu 14.04 LTS; 3.13.0-77-一般 #121-Ubuntu SMP... x86_64 GNU/Linux
RandR サーバーバージョン 1.12.1;
答え1
赤編がvs。Xサーバー。システムの起動の一部として起動できますが、これは脆弱です。 Xサーバーセッション(Xログインセッションよりも幅広い)のコンテキストで開始することは安定しています。
複数の X サーバーが、ある時点で同じマシン上で実行できます。彼らは先着順にディスプレイ番号を割り当てます。表示番号は、プログラムが接続するサーバーを知る方法と、プログラムがDISPLAY
環境変数でサーバーを見つける方法です。 GUIプログラムを起動する自然な方法は、DISPLAY
環境変数を希望の値に設定することです。
lightdmがXサーバーを起動する最初のエンティティであると仮定できるため、起動操作で:0
環境変数を表示してハードコードします。DISPLAY=:0
また、変数を設定する必要がありますXAUTHORITY
(参照:リモートXモニターでウィンドウを開く(「モニターを開けません」理由)?)。 Ubuntuのlightdmはクッキーを/var/lib/lightdm/.Xauthority
。
env DISPLAY=":0"
env XAUTHORITY="/var/lib/lightdm/.Xauthority"
しかし、これは壊れやすいです。ディスプレイlightdmが最終的に配置されているとします:0
。競合状態のため、現在の形式では動作しないと思います。lightdm
Xサーバーが起動して実行される前に、ジョブが開始されたと見なすことができます(ただし、これについてはよくわかりません。何がわかりません。ジョブが開始されたと計算されます)。
きれいな方法は、lightdmにRedshiftを起動させることです。これを行うと、適切な時間に適切なコンテキストで始まります。このセクションの行を編集して追加/etc/lightdm/lightdm.conf
します。redshift -c /etc/redshift.conf
display-setup-script
SeatDefaults
[SeatDefaults]
…
display-setup-script=redshift -c /etc/redshift.conf &
&
バックグラウンドで起動するように注意してくださいredshift
(そうでない場合は、lightdmが完了するのを待ちます)。 X サーバーがシャットダウンすると Redshift もシャットダウンすると仮定します。 Xアプリケーションは通常、ディスプレイが消えたときに終了するため、プロセスを追跡して明示的に終了する必要はありません。
答え2
避けるlightdm-freeze。
その理由は、&
シェルに渡されず、レッドシフトにパラメータとして渡されるためです(ps -aux
検証を参照)。この問題を解決するには、f.exスクリプトを生成してください。
redshift -c /etc/redshift.conf &
存在する/root/bin/redshift.sh
。 chmod 755と/etc/lightdm/lightdm.conf.d/90-redshift.conf
含めるように編集
[Seat:*]
display-setup-script=/root/bin/redshift.sh
([Seat:*]
新しいようです[SeatDefaults]
)。