我正在使用 slim 登录管理器。
当我从会话中注销或从命令行重新启动 slim 时:
service slim restart
在再次出现纤细的登录屏幕之前,我的控制台有几分钟空白。
当我使用 strace 附加到 slim 进程时,我看到许多“资源暂时不可用”和“连接超时”行:
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 4
connect(4, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, 20) = -1 ECONNREFUSED (Connection refused)
close(4) = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 4
getsockopt(4, SOL_SOCKET, SO_SNDBUF, [212992], [4]) = 0
connect(4, {sa_family=AF_UNIX, sun_path="/tmp/.X11-unix/X0"}, 110) = -1 ENOENT (No such file or directory)
close(4)
connect(4, {sa_family=AF_INET, sin_port=htons(6000), sin_addr=inet_addr("127.0.0.1")}, 16) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGUSR1 {si_signo=SIGUSR1, si_code=SI_USER, si_pid=5440, si_uid=0} ---
rt_sigaction(SIGUSR1, {sa_handler=0x55961af808a0, sa_mask=[USR1], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f545cc5afd0}, {sa_handler=0x55961af808a0, sa_mask=[USR1], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f545cc5afd0}, 8) = 0
rt_sigreturn({mask=[]}) = 42
connect(4, {sa_family=AF_INET, sin_port=htons(6000), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ETIMEDOUT (Connection timed out)
close(4)
全跟踪这里
几分钟后,细长的登录屏幕再次出现,一切正常。
当我重新启动计算机时,slim 第一次工作正常,可能是因为我的 /etc/slim.conf 中有自动登录功能:
auto_login yes
到底是怎么回事?我该如何解决它?
答案1
该slim.conf
文件对我来说看起来不错。由于您没有共享DISPLAY
变量的值,我将尝试做一些猜测工作。
DISPLAY
变量的格式为[host]:<display>[.screen]
.
我认为你的DISPLAY
变量设置为DISPLAY=localhost:0.0
.重新启动会话后,它会尝试访问它,但由于某种原因它无法访问它。
我建议将DISPLAY
变量更改为
export DISPLAY=:0.0
现在它将强制Xorg
使用本地显示,而不是搜索本地主机。
要使其永久,您需要调整.bash_profile
或.bashrc
。