web-dev-qa-db-ja.com

Feh-ArchLinuxで背景をロードするときの奇妙な動作

ArchLinuxのFehで奇妙な問題が発生しています。オープンボックスセッションを開始すると、fehはバックグラウンドを一瞬ロードしてから消えます。バックグラウンドを手動でロードすると、fehはセッションの残りの部分で完全に動作しますが、起動時に常に失敗します。

Arch Linux(現在)とOpenbox3を実行しています。

関連ファイル:

〜/ .config/openbox/autostart.sh

# Set a background color
BG=""
if which hsetroot >/dev/null 2>&1; then
    BG=hsetroot
else
    if which esetroot >/dev/null 2>&1; then
    BG=esetroot
    else
    if which xsetroot >/dev/null 2>&1; then
        BG=xsetroot
    fi
    fi
fi
test -z $BG || $BG -solid "#303030"

# D-bus
if which dbus-launch >/dev/null 2>&1 && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
       eval `dbus-launch --sh-syntax --exit-with-session`
fi

if test -x /usr/libexec/gnome-settings-daemon >/dev/null; then
  /usr/libexec/gnome-settings-daemon &
Elif which gnome-settings-daemon >/dev/null 2>&1; then
  gnome-settings-daemon &
Elif which xfce-mcs-manager >/dev/null 2>&1; then
  xfce-mcs-manager n &
fi

if which start_kdeinit >/dev/null 2>&1; then
  LD_BIND_NOW=true start_kdeinit --new-startup +kcminit_startup &
fi

# Run XDG autostart things.  By default don't run anything desktop-specific
# See xdg-autostart --help more info
DESKTOP_ENV="OPENBOX"
if which /usr/lib/openbox/xdg-autostart >/dev/null 2>&1; then
  /usr/lib/openbox/xdg-autostart $DESKTOP_ENV
fi

## My startup programs:
cairo-compmgr &
pypanel &
sh ~/.fehbg &

〜/ .fehbg

feh  --bg-fill '/home/cknadler/Wallpaper/wall.jpg'

この時点で、セッションを開始するたびにfehを正しくロードするための解決策を探しているか、openboxに背景をロードするための代替のfehを探しています。どちらも大歓迎です、ありがとう。

2
Chris Knadler

ほぼ確実に、fehはバックグラウンドをロードしており、その後、他の何かが起動プロセスの残りの間にXバックグラウンドをリセットしています。これは、gnome-settings-daemonを起動しているという事実に関係していると思います。これにより、背景の設定やフォントレンダリングなどの他のデスクトップ設定を含む、なんと一連の作業が始まります。バックグラウンドをリセットしているビットが見つかるまで、起動スクリプトのセクションを削除する必要がありますが、それがgnome-settings-daemonであることがわかるとほぼ確信しています。

これを回避するには、fehの起動を遅らせて、gnome-settings-daemonに触れてもらうようにします。

(sleep 2; feh --bg-fill〜/wall.jpg)&

3
Caleb