Feh - 在 Arch Linux 中加载背景时的奇怪行为

Feh - 在 Arch Linux 中加载背景时的奇怪行为

我在 Arch Linux 中遇到了 Feh 的奇怪问题。当我开始 openbox 会话时,feh 加载背景一瞬间,然后它就消失了。如果我手动加载背景,那么 feh 将在会话的剩余时间内完美运行,但在启动时总是失败。

我正在运行 Arch Linux(当前)和 Openbox 3。

相关文件:

〜/.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。任何一个都将不胜感激,谢谢。

答案1

几乎可以肯定 feh 正在加载后台,然后在启动过程的其余部分中会重置 X 背景。我怀疑这与您启动 gnome-settings-daemon 的事实有关。这将启动一系列巨大的事情,其中​​包括设置背景和其他桌面设置(例如字体渲染)。您应该删除启动脚本的某些部分,直到找到正在重置背景的部分,但我几乎可以肯定您会发现它是 gnome-settings-daemon。

您可以通过延迟启动 feh 来解决这个问题,让 gnome-settings-daemon 完成相关操作。

(睡眠 2 ; feh --bg-fill ~/wall.jpg ) &

相关内容