mirror of
https://github.com/superconvert/smart-os.git
synced 2024-11-25 11:31:31 +08:00
Update xfce4.md
This commit is contained in:
parent
40f3f911dd
commit
e8dab70705
2
xfce4.md
2
xfce4.md
@ -312,7 +312,7 @@ Xorg 就是我们通常说的 xserver, 有关整个流程的调试,我们可
|
|||||||
```shell
|
```shell
|
||||||
env LD_LIBRARY_PATH="/root/test/build/test/a/usr/lib:/root/test/build/test/a/usr/local/lib:/root/test/build/test/a/usr/lib/x86_64-linux-gnu:/root/test/build/test/a/opt/libjpeg-turbo/lib64" DBUS_SESSION_BUS_ADDRESS="unix:path=/var/run/dbus/session_bus_socket" strace -f xrdp-sesman -n
|
env LD_LIBRARY_PATH="/root/test/build/test/a/usr/lib:/root/test/build/test/a/usr/local/lib:/root/test/build/test/a/usr/lib/x86_64-linux-gnu:/root/test/build/test/a/opt/libjpeg-turbo/lib64" DBUS_SESSION_BUS_ADDRESS="unix:path=/var/run/dbus/session_bus_socket" strace -f xrdp-sesman -n
|
||||||
```
|
```
|
||||||
基本上 xrdp-sesman 会启动 Xorg ( xserver ), Xorg 会通过 dbus-1 与别的组件进行通讯;还会启动 xsession, 还会启动 xrdp-chansrv,从上述我们可以得知,这些组件都必须启动成功,否则,就会看不到图像界面。我们通过 strace -f 跟踪得知 xrdp-sesman 是通过接口 execve 启动的 Xorg ,这个接口执行后,来自父进程的环境变量将会被清除,导致 LD_LIBRARY_PATH 失效,因此 Xorg 所依赖的动态库就找不到,解决方法就是把库直接拷贝到系统库的位置,就行,比如:
|
基本上 xrdp-sesman 会启动 Xorg ( xserver ), Xorg 会通过 tcp 或 Unix socket 与 xclient 进行通讯;还会启动 xsession, 还会启动 xrdp-chansrv,从上述我们可以得知,这些组件都必须启动成功,否则,就会看不到图像界面。我们通过 strace -f 跟踪得知 xrdp-sesman 是通过接口 execve 启动的 Xorg ,这个接口执行后,来自父进程的环境变量将会被清除,导致 LD_LIBRARY_PATH 失效,因此 Xorg 所依赖的动态库就找不到,解决方法就是把库直接拷贝到系统库的位置,就行,比如:
|
||||||
```shell
|
```shell
|
||||||
cp /root/smart-os/build/test/a/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 /usr/lib/x86_64-linux-gnu/
|
cp /root/smart-os/build/test/a/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 /usr/lib/x86_64-linux-gnu/
|
||||||
```
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user