这里目标是在目标机器上自动登录用户,并以用户的X应用代替X桌面,X桌面对用户不可见。这样的场景可以接管PDA屏幕上的所有操作,隐藏后端Linux的细节。要达到这个目标,有几个任务要完成:
- 在命令行的自动登录
- 第三方X应用代替gnome桌面
一、命令行的自动登录(tty)
- 创建service文件
cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/gettty@.service
mkdir /etc/systemd/system/getty.target.wants
cd /etc/systemd/system/getty.target.wants
ln -s /etc/systemd/system/gettty@.service gettty@tty1.service
- 设置自动登录
修改gettty@tty1.service 文件,指定自动登录的用户名,e,g: ryan
FROM:
ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM
TO:
ExecStart=-/usr/bin/agetty -a ryan --noclear %I $TERM
IMPORTANT: 这里注意要移除掉-o '-p -- \u' 参数,即使设置为自动启动,如果该参数存在仍然会强制提示输入密码
二、使用第三方的X应用代替gnome桌面
- 在自动登录的用户的home目录下创建.bash_profile文件,加入以下内容:
#!/bin/bash
if [ "$TERM" = "linux" ];then
exec startx /path/to/3rd_party_application
fi
上面在linux正常的终端登录的时候会尝试进入X, 假如是ssh客户端连接过来,会忽略启动x
网友评论