背景和顶部栏配置在启动时不适用
Background and top bar configurations does not apply at startup
我正在使用 Manjaro Linux 并使用 dwm。我在我的 ~/.xinitrc
文件中做了一些更改(添加),以便在我登录时设置我的墙纸并在顶部栏显示日期和时间。但是我无法应用这些更改或我的文件有问题,例如~/.xinitrc
和 /etc/X11/xinit/xinitrc
.
我的系统上已经安装了 compton、feh(也有氮气,但不喜欢)和 xsetroot。我还对我的 dwm 应用了 this 补丁,以便拥有一个 autostart.sh 文件。
这是我的 ~/.dwm/autostart.sh
文件:
#! /bin/bash
compton --config ~/.config/compton/compton.conf &
feh --bg-fill /home/root113/Pictures/0239.jpg &
xcompmgr &
while true; do
xsetroot -name "$(date)"
sleep 1s
done &
这没有用。 29 天前 here 提出了类似的问题,但尚未得到答复或收到任何评论。
然后我在网上搜索更多答案和帮助,意识到我应该尝试编辑我的 ~/.xinitrc
文件。这是:
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager
from here)
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
DEFAULT_SESSION=gnome-session
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
get_session(){
local dbus_args=(--sh-syntax --exit-with-session)
case in
awesome) dbus_args+=(awesome) ;;
bspwm) dbus_args+=(bspwm-session) ;;
budgie) dbus_args+=(budgie-desktop) ;;
cinnamon) dbus_args+=(cinnamon-session) ;;
deepin) dbus_args+=(startdde) ;;
enlightenment) dbus_args+=(enlightenment_start) ;;
fluxbox) dbus_args+=(startfluxbox) ;;
gnome) dbus_args+=(gnome-session) ;;
i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
jwm) dbus_args+=(jwm) ;;
kde) dbus_args+=(startkde) ;;
lxde) dbus_args+=(startlxde) ;;
lxqt) dbus_args+=(lxqt-session) ;;
mate) dbus_args+=(mate-session) ;;
xfce) dbus_args+=(xfce4-session) ;;
openbox) dbus_args+=(openbox-session) ;;
*) dbus_args+=($DEFAULT_SESSION) ;;
esac
echo "dbus-launch ${dbus_args[*]}"
}
exec $(get_session)
#Personal customizations below
compton --config ~/.config/compton/compton.conf &
feh -bg-fill /home/root113/Pictures/0239.jpg &
xcompmgr &
while true; do
xsetroot -name "$(date)"
sleep 1s
done &
exec dwm
问题还是没有解决。
然后我改变了行
feh -bg-fill /home/root113/Pictures/0239.jpg &
有了这个:
~/.fehbg &
~/.fehbg
里面写的是:
#!/bin/sh
feh --no-fehbg --bg-fill /home/root113/Pictures/0239.jpg
没有解决我的问题。
然后我决定在 /etc/X11/xinit/xinitrc
中导出我的 ~/.xinitrc
文件,方法是在文件末尾添加以下行:
export PATH="${PATH}:/home/root113/.xinitrc"
这也没有用。因此,我一直在网上寻找解决方案,在其中一个论坛上有人告诉我应该使我的 ~/.xinitrc
文件可执行。所以我用以下命令做到了:
chmod +x ~/.xinitrc
也没用。每次我重新登录或重新启动时,我的眼睛都是同样烦人的黑屏和顶部栏,根本没有显示日期。
我还尝试在每个文件中用 /home/root113/file
替换 ~/file
以防无法识别路径。这根本不是解决方案。没用。
我一直在寻找答案并阅读这些有用的答案和文章:
- Problem with $PATH and executable file
- Adding a directory to your PATH
- 什么是 PATH 和其他环境变量,如何设置或使用它们?
- How to set your $PATH variable in Linux
其中None指的是我直接但间接的一种problem/issue。所以我决定(可能是一个愚蠢的想法,但值得一试,因为我开始 运行 没有解决方案)将以下内容添加到我的 ~/.profile
文件中:
export PATH="${PATH}:/home/root113/.xinitrc"
也没有用,然后我将以下内容添加到我的 ~/.zshrc
文件中:
source ~/.profile
再次失败。
我在网上四处寻找解决方案。我现在确实处于绝望的境地。我没有希望了,只能在这里问。感谢您阅读此处。我知道这是一个很长的问题,但我想向您详细解释这个问题,也想告诉您到目前为止我尝试过哪些解决方案。
我发现在 ~/.xinitrc
文件中我必须在所有其他内容之前声明我的个人设置。只需将它们放在文件顶部即可:
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager
from here)
#Personal customizations below
compton --config ~/.config/compton/compton.conf &
feh -bg-fill /home/root113/Pictures/0239.jpg &
xcompmgr &
while true; do
xsetroot -name "$(date)"
sleep 1s
done &
exec dwm
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
DEFAULT_SESSION=gnome-session
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
get_session(){
local dbus_args=(--sh-syntax --exit-with-session)
case in
awesome) dbus_args+=(awesome) ;;
bspwm) dbus_args+=(bspwm-session) ;;
budgie) dbus_args+=(budgie-desktop) ;;
cinnamon) dbus_args+=(cinnamon-session) ;;
deepin) dbus_args+=(startdde) ;;
enlightenment) dbus_args+=(enlightenment_start) ;;
fluxbox) dbus_args+=(startfluxbox) ;;
gnome) dbus_args+=(gnome-session) ;;
i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
jwm) dbus_args+=(jwm) ;;
kde) dbus_args+=(startkde) ;;
lxde) dbus_args+=(startlxde) ;;
lxqt) dbus_args+=(lxqt-session) ;;
mate) dbus_args+=(mate-session) ;;
xfce) dbus_args+=(xfce4-session) ;;
openbox) dbus_args+=(openbox-session) ;;
*) dbus_args+=($DEFAULT_SESSION) ;;
esac
echo "dbus-launch ${dbus_args[*]}"
}
exec $(get_session)
现在一切正常。
我正在使用 Manjaro Linux 并使用 dwm。我在我的 ~/.xinitrc
文件中做了一些更改(添加),以便在我登录时设置我的墙纸并在顶部栏显示日期和时间。但是我无法应用这些更改或我的文件有问题,例如~/.xinitrc
和 /etc/X11/xinit/xinitrc
.
我的系统上已经安装了 compton、feh(也有氮气,但不喜欢)和 xsetroot。我还对我的 dwm 应用了 this 补丁,以便拥有一个 autostart.sh 文件。
这是我的 ~/.dwm/autostart.sh
文件:
#! /bin/bash
compton --config ~/.config/compton/compton.conf &
feh --bg-fill /home/root113/Pictures/0239.jpg &
xcompmgr &
while true; do
xsetroot -name "$(date)"
sleep 1s
done &
这没有用。 29 天前 here 提出了类似的问题,但尚未得到答复或收到任何评论。
然后我在网上搜索更多答案和帮助,意识到我应该尝试编辑我的 ~/.xinitrc
文件。这是:
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager
from here)
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
DEFAULT_SESSION=gnome-session
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
get_session(){
local dbus_args=(--sh-syntax --exit-with-session)
case in
awesome) dbus_args+=(awesome) ;;
bspwm) dbus_args+=(bspwm-session) ;;
budgie) dbus_args+=(budgie-desktop) ;;
cinnamon) dbus_args+=(cinnamon-session) ;;
deepin) dbus_args+=(startdde) ;;
enlightenment) dbus_args+=(enlightenment_start) ;;
fluxbox) dbus_args+=(startfluxbox) ;;
gnome) dbus_args+=(gnome-session) ;;
i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
jwm) dbus_args+=(jwm) ;;
kde) dbus_args+=(startkde) ;;
lxde) dbus_args+=(startlxde) ;;
lxqt) dbus_args+=(lxqt-session) ;;
mate) dbus_args+=(mate-session) ;;
xfce) dbus_args+=(xfce4-session) ;;
openbox) dbus_args+=(openbox-session) ;;
*) dbus_args+=($DEFAULT_SESSION) ;;
esac
echo "dbus-launch ${dbus_args[*]}"
}
exec $(get_session)
#Personal customizations below
compton --config ~/.config/compton/compton.conf &
feh -bg-fill /home/root113/Pictures/0239.jpg &
xcompmgr &
while true; do
xsetroot -name "$(date)"
sleep 1s
done &
exec dwm
问题还是没有解决。 然后我改变了行
feh -bg-fill /home/root113/Pictures/0239.jpg &
有了这个:
~/.fehbg &
~/.fehbg
里面写的是:
#!/bin/sh
feh --no-fehbg --bg-fill /home/root113/Pictures/0239.jpg
没有解决我的问题。
然后我决定在 /etc/X11/xinit/xinitrc
中导出我的 ~/.xinitrc
文件,方法是在文件末尾添加以下行:
export PATH="${PATH}:/home/root113/.xinitrc"
这也没有用。因此,我一直在网上寻找解决方案,在其中一个论坛上有人告诉我应该使我的 ~/.xinitrc
文件可执行。所以我用以下命令做到了:
chmod +x ~/.xinitrc
也没用。每次我重新登录或重新启动时,我的眼睛都是同样烦人的黑屏和顶部栏,根本没有显示日期。
我还尝试在每个文件中用 /home/root113/file
替换 ~/file
以防无法识别路径。这根本不是解决方案。没用。
我一直在寻找答案并阅读这些有用的答案和文章:
- Problem with $PATH and executable file
- Adding a directory to your PATH
- 什么是 PATH 和其他环境变量,如何设置或使用它们?
- How to set your $PATH variable in Linux
None指的是我直接但间接的一种problem/issue。所以我决定(可能是一个愚蠢的想法,但值得一试,因为我开始 运行 没有解决方案)将以下内容添加到我的 ~/.profile
文件中:
export PATH="${PATH}:/home/root113/.xinitrc"
也没有用,然后我将以下内容添加到我的 ~/.zshrc
文件中:
source ~/.profile
再次失败。
我在网上四处寻找解决方案。我现在确实处于绝望的境地。我没有希望了,只能在这里问。感谢您阅读此处。我知道这是一个很长的问题,但我想向您详细解释这个问题,也想告诉您到目前为止我尝试过哪些解决方案。
我发现在 ~/.xinitrc
文件中我必须在所有其他内容之前声明我的个人设置。只需将它们放在文件顶部即可:
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager
from here)
#Personal customizations below
compton --config ~/.config/compton/compton.conf &
feh -bg-fill /home/root113/Pictures/0239.jpg &
xcompmgr &
while true; do
xsetroot -name "$(date)"
sleep 1s
done &
exec dwm
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
DEFAULT_SESSION=gnome-session
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
get_session(){
local dbus_args=(--sh-syntax --exit-with-session)
case in
awesome) dbus_args+=(awesome) ;;
bspwm) dbus_args+=(bspwm-session) ;;
budgie) dbus_args+=(budgie-desktop) ;;
cinnamon) dbus_args+=(cinnamon-session) ;;
deepin) dbus_args+=(startdde) ;;
enlightenment) dbus_args+=(enlightenment_start) ;;
fluxbox) dbus_args+=(startfluxbox) ;;
gnome) dbus_args+=(gnome-session) ;;
i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
jwm) dbus_args+=(jwm) ;;
kde) dbus_args+=(startkde) ;;
lxde) dbus_args+=(startlxde) ;;
lxqt) dbus_args+=(lxqt-session) ;;
mate) dbus_args+=(mate-session) ;;
xfce) dbus_args+=(xfce4-session) ;;
openbox) dbus_args+=(openbox-session) ;;
*) dbus_args+=($DEFAULT_SESSION) ;;
esac
echo "dbus-launch ${dbus_args[*]}"
}
exec $(get_session)
现在一切正常。