debian11 xfce xrdp连接输入密码后闪退

 debian11 装了xfce桌面,刚开始好好的,用xrdp连接都正常,然后装了lnmp1.8后,发现连接上 输入账号密码以后,直接闪退。 (最初先装的LNMP 然后 xfce就怎么都装不上去)

处理过程如下:

先看错误日志

cat ~/.xsession-errors

Xsession: X session started for root at Sat 27 Nov 2021 11:59:35 AM CST
WARNING: tempfile is deprecated; consider using mktemp instead.
dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus
dbus-update-activation-environment: setting DISPLAY=:10.0
localuser:root being added to access control list
dbus-update-activation-environment: setting GTK_MODULES=gail:atk-bridge
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
/usr/bin/x-session-manager: X server already running on display :10.0
xfce4-session: symbol lookup error: /lib/x86_64-linux-gnu/libcairo.so.2: undefined symbol: FT_Get_Var_Design_Coordinates

通过谷歌查询 FT_Get_Var_Design_Coordinates. 这个函数应该来自 FreeType。

然后查找库
find / -name ‘libfreetype.so*’

/usr/local/freetype/lib/libfreetype.so.6.12.6
/usr/local/freetype/lib/libfreetype.so.6
/usr/local/freetype/lib/libfreetype.so
/usr/lib/x86_64-linux-gnu/libfreetype.so.6.17.4
/usr/lib/x86_64-linux-gnu/libfreetype.so.6

找到了两个路径,那一定是系统调用的时候调用了一个没有此函数的库,分别查一下相关函数

nm -s -D /usr/local/freetype/lib/libfreetype.so | grep FT_Get_Var_Design_Coordinates
nm -s -D /usr/lib/x86_64-linux-gnu/libfreetype.so.6 | grep FT_Get_Var_Design_Coordinates

发现6.12.6 的没有此函数,那么我直接 

mv /usr/local/freetype /usr/local/freetypebak

再次登录 已经正常。

发表评论

您的电子邮箱地址不会被公开。