我在Manjaro上使用dwm。我做了一些改变(增加)在我的~/.xinitrc文件,使我的壁纸设置和显示日期和时间在顶部的酒吧,当我登录。但是,我不能应用这些更改,或者我的文件(如~/.xinitrc和/etc/X11/xinit/xinitrc )有问题。
我已经在我的系统上安装了康普顿,feh (也是氮气,但不喜欢)和xsetroot。我还将这补丁应用到我的dwm中,以便有一个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天前提出了类似的问题,但没有回答或收到任何评论。
然后我在网上搜索更多的答案和帮助,并意识到我应该尝试编辑我的~/.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 $1 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中导出我的/etc/X11/xinit/xinitrc文件,方法是在文件末尾添加以下行:
export PATH="${PATH}:/home/root113/.xinitrc"这也不起作用。因此,我继续在网上寻找解决方案,并在其中一个论坛上被告知,我应该使我的~/.xinitrc文件可执行。所以我用以下命令做了这件事:
chmod +x ~/.xinitrc也不起作用。每次我重新登录或重新启动时,它都是同样烦人的黑色屏幕和顶部栏,没有显示任何日期,我的眼睛都盯着它。
我还尝试在每个文件中使用~/file替换/home/root113/file,以防路径不被识别。这根本不是一个解决办法。不起作用。
我不断地搜索和寻找答案,并阅读了这些有用的答案和文章:
它们都没有提到一个问题/问题,我有直接,但间接。因此,我决定(可能是一个愚蠢的想法,但值得一试,因为我开始用尽解决方案)将以下内容添加到我的~/.profile文件中:
export PATH="${PATH}:/home/root113/.xinitrc"我在~/.zshrc文件中添加了以下内容:
source ~/.profile又不起作用了。
我在网上到处寻找解决方案。我现在正处于绝望的境地。我已经没有希望了,只能在这里请求。谢谢你在这里阅读。我知道这是一个很长的问题,但我想向你详细解释这个问题,也想告诉你我到目前为止尝试了什么解决方案。
发布于 2020-10-24 00:31:55
我发现在~/.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 $1 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)现在一切都正常了。
https://stackoverflow.com/questions/60908595
复制相似问题