Fedora release 20 (Heisenbug)
Linux 3.19.8-100.fc20.x86_64 #1 SMP Tue May 12 17:08:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
バイナリをダウンロードして、terminal
で実行しました。バイナリはx86_64のxfluxです。夜間のブルーライトを軽減します。
ただし、バイナリを実行すると、次のメッセージが表示されますThis will only work if you're running X on console
私が行ったのは、tgzを抽出し、バイナリを実行することだけです。すべてがうまくいくようでした。
Welcome to xflux (f.Lux for X)
This will only work if you're running X on console.
Found 1 screen.
Your location (lat, long) is 13.8, 100.6
Your night-time color temperature is 3400
Going to background: 'kill 9662' to turn off.
そのメッセージについて疑問に思っています。
提案をありがとう、
ソースコードが見つかりませんでしたが、straceを実行しました。 straceから、This will only work...
メッセージは、実際に何かが行われる前にstdout
に出力される単なる標準メッセージです。重要なstrace出力は次のとおりです。
write(1, "\33[2J\33[0;0f\n--------\n", 20) = 20
write(1, "Welcome to xflux (f.Lux for X)\n", 31) = 31
write(1, "This will only work if you're ru"..., 52) = 52
write(1, "\n", 1) = 1
socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC, 0) = 3
connect(3, {sa_family=AF_LOCAL, Sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
getpeername(3, {sa_family=AF_LOCAL, Sun_path=@"/tmp/.X11-unix/X0"}, [20]) = 0
uname({sysname="Linux", nodename="mingus", ...}) = 0
access("/run/user/1000/gdm/Xauthority", R_OK) = 0
X11ソケットにアクセスしようとする前に、メッセージが出力されていることがわかります。もう1つの良い兆候は、Xセッションの外部で実行するかどうかです。まったく同じメッセージの後に次のメッセージが表示されます。
Couldn't open display (null)
F.Luxは、X(グラフィカル)デスクトップの前にf.Luxを開始する必要があることを示していると思います。
確かではありませんが、おそらくxは、フラックスのようにシェルの息子プロセスである必要があり、Xで開かれたシェルインタープリターからのフラックスではありません。