自从我更新了 debian 以来,evince
启动速度一直很慢 - 大约需要半分钟。打开后,一切正常,就是打开速度慢。过去从来没有花那么长时间——过去只需要几秒钟。我怎样才能让它再次快速运转?
$ uname -a
Linux mypc 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux
我注意到它evince
在以下行挂了大约半分钟:
$ strace evince
...
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK) = 11
write(11, "\1\0\0\0\0\0\0\0", 8) = 8
write(10, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x562f5b8ffac0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x562f5b909b30, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x562f5b8bd158, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=11, events=POLLIN}], 1, 25000) = 1 ([{fd=11, revents=POLLIN}])
read(11, "\1\0\0\0\0\0\0\0", 16) = 8
poll([{fd=11, events=POLLIN}], 1, 25000) = 0 (Timeout) # <- hanging here for a while
然后它继续evince
正常打开,evince
然后工作正常。
我有自己的.xinitrc
,我不确定我是否配置正确 - 所以这可能是问题所在:
$ cat ~/.xinitrc
#!/bin/bash
# update the xterm colors, font size, etc
[[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources
# run the window manager in the background first
metacity &
# get the window manager process id
wm_pid=$!
# make the window manager process id available to kill later if required
export wm_pid
# run urxvt instead of xterm since this seems able to render greek symbols etc
urxvt &
# do not let the window manager become a zombie
wait $wm_pid
然后startx
从 调用.bashrc
。相关部分是:
$ tail -20 ~/.bashrc
# go straight to x on login. only do this for tty1 so that we can still use the
# other tty consoles without starting x. also only do this when there is no
# display, otherwise the terminal will try and do this after x starts aswell.
# finally, only do it when x is installed (command -v startx checks if startx
# exists).
# note: as of xorg-server 1.16, x is rootless but can only be started on the
# current vt (1)
[[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]] && \
command -v startx > /dev/null 2>&1 && \
startx -- :0 vt1
# if using rxvt or urxvt immediately set the window to fullscreen
if [[ $TERM == *"rxvt"* ]]; then
# make the window with rxvt in the name the active window
wmctrl -a rxvt
# make the active window fullscreen
wmctrl -r ":ACTIVE:" -b add,fullscreen
fi
编辑:添加一些 dbus 信息
$ ls -l ~/.dbus/session-bus/
total 28
-rw-r--r-- 1 me me 465 Nov 8 06:23 c984eb16cbd294a01d56c2ac523f7100-0
-rw-r--r-- 1 me me 465 Nov 6 14:11 c984eb16cbd294a01d56c2ac523f7100-1
-rw-r--r-- 1 me me 476 Apr 24 2017 c984eb16cbd294a01d56c2ac523f7100-10
-rw-r--r-- 1 me me 465 Jun 5 2017 c984eb16cbd294a01d56c2ac523f7100-100
-rw-r--r-- 1 me me 476 Apr 7 2017 c984eb16cbd294a01d56c2ac523f7100-11
-rw-r--r-- 1 me me 465 Nov 6 14:37 c984eb16cbd294a01d56c2ac523f7100-2
-rw-r--r-- 1 me me 463 May 6 2016 c984eb16cbd294a01d56c2ac523f7100-3
$ echo $DBUS_SESSION_BUS_ADDRESS
# empty!