web-dev-qa-db-ja.com

コンソールでXを実行する

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.

そのメッセージについて疑問に思っています。

提案をありがとう、

2
ant2009

ソースコードが見つかりませんでしたが、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)
4
gogators

F.Luxは、X(グラフィカル)デスクトップの前にf.Luxを開始する必要があることを示していると思います。

確かではありませんが、おそらくxは、フラックスのようにシェルの息子プロセスである必要があり、Xで開かれたシェルインタープリターからのフラックスではありません。

1
Jesus Cepeda