小学生分析xrdp登录闪退
环境:centos7.9最小安装openbox
无大牌桌面
无DM
xrdp登录成功就闪退,日志就一行: sesman_data_in: scp_process_msg failed
先不科学搜索,没结果。再假科学搜索,不对路。
最后科学搜索,打开翻译器一个个看。也没有
想起:日志没有写,就是外部问题
```
rpm -ql xrdp
```
找到/etc配置
>..
> /etc/xrdp/openssl.conf
/etc/xrdp/pulse
/etc/xrdp/pulse/default.pa
/etc/xrdp/sesman.ini
/etc/xrdp/xrdp.ini
/etc/xrdp/xrdp_keyboard.ini
..
/usr/libexec/xrdp/reconnectwm.sh
/usr/libexec/xrdp/startwm-bash.sh
/usr/libexec/xrdp/startwm.sh
...
看到sesman.ini和日志字符接近
读取/etc/xrdp/sesman.ini
8行UserWindowManager=startwm.sh
根据包信息切换到/usr/libexec/xrdp目录
读取/usr/libexec/xrdp/startwm.sh
里面有各种系统的配置。
87-93 行
> \# el
if [ -r /etc/X11/xinit/Xsession ]; then
pre_start
. /etc/X11/xinit/Xsession
post_start
exit 0
fi
centos系列的标识是el
ubuntu的看debian
所以现在需要去读取 /etc/X11/xinit/Xsession
这个文件又长又臭。只能瞎蒙了。
看到文件的后面:
> if [ -x "$HOME/.xsession" ]; then
exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT $HOME/.xsession"
elif [ -x "$HOME/.Xclients" ]; then
exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients"
elif [ -x /etc/X11/xinit/Xclients ]; then
exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients"
else
\# should never get here; failsafe fallback
exec -l $SHELL -c "xsm"
fi
$HOME/.xsession这个东西有点熟悉。想起很多文章。都是这个文件启动桌面
,赶紧看了一下。还真没有这个文件。
```
echo openbox >~/.xsession
```
很激动,赶紧试试。登录还是闪退
再看回上面脚本。引用的方式是exec
平时用的bash xx.sh是不用管权限的。
exec是要有权限。
```
chmod +x ~/.xsession
```
很激动,再次尝试登陆。
成功了,终于进入大黑屏。
鼠标能动。右键也能唤出。
这就是openbox了
能用就行,不需要花里胡哨的壁纸。(主要是不会安装) 挺有意思的
页:
[1]